[xml/sgml-commit] r274 - in packages/libxml2/trunk: . debian doc doc/examples doc/html example include include/libxml python python/tests result/VC result/schemas test/VC test/VCM test/schemas vms xstc

Mike Hommey glandium-guest at haydn.debian.org
Wed Sep 14 02:22:36 UTC 2005


Author: glandium-guest
Date: 2004-10-13 04:26:58 -0600 (Wed, 13 Oct 2004)
New Revision: 274

Added:
   packages/libxml2/trunk/result/VC/AttributeNmtokens
   packages/libxml2/trunk/result/schemas/bug152470_1_1
   packages/libxml2/trunk/result/schemas/bug152470_1_1.err
   packages/libxml2/trunk/test/VC/AttributeNmtokens
   packages/libxml2/trunk/test/VCM/AttributeNmtokens.xml
   packages/libxml2/trunk/test/schemas/bug152470_1.xml
   packages/libxml2/trunk/test/schemas/bug152470_1.xsd
   packages/libxml2/trunk/xstc/
Modified:
   packages/libxml2/trunk/ChangeLog
   packages/libxml2/trunk/HTMLparser.c
   packages/libxml2/trunk/HTMLtree.c
   packages/libxml2/trunk/Makefile.am
   packages/libxml2/trunk/Makefile.in
   packages/libxml2/trunk/TODO
   packages/libxml2/trunk/acconfig.h
   packages/libxml2/trunk/check-xinclude-test-suite.py
   packages/libxml2/trunk/config.h.in
   packages/libxml2/trunk/configure
   packages/libxml2/trunk/configure.in
   packages/libxml2/trunk/debian/changelog
   packages/libxml2/trunk/debugXML.c
   packages/libxml2/trunk/doc/APIchunk0.html
   packages/libxml2/trunk/doc/APIchunk1.html
   packages/libxml2/trunk/doc/APIchunk10.html
   packages/libxml2/trunk/doc/APIchunk11.html
   packages/libxml2/trunk/doc/APIchunk12.html
   packages/libxml2/trunk/doc/APIchunk13.html
   packages/libxml2/trunk/doc/APIchunk14.html
   packages/libxml2/trunk/doc/APIchunk15.html
   packages/libxml2/trunk/doc/APIchunk17.html
   packages/libxml2/trunk/doc/APIchunk18.html
   packages/libxml2/trunk/doc/APIchunk19.html
   packages/libxml2/trunk/doc/APIchunk20.html
   packages/libxml2/trunk/doc/APIchunk21.html
   packages/libxml2/trunk/doc/APIchunk22.html
   packages/libxml2/trunk/doc/APIchunk23.html
   packages/libxml2/trunk/doc/APIchunk24.html
   packages/libxml2/trunk/doc/APIchunk25.html
   packages/libxml2/trunk/doc/APIchunk26.html
   packages/libxml2/trunk/doc/APIchunk3.html
   packages/libxml2/trunk/doc/APIchunk4.html
   packages/libxml2/trunk/doc/APIchunk5.html
   packages/libxml2/trunk/doc/APIchunk6.html
   packages/libxml2/trunk/doc/APIchunk8.html
   packages/libxml2/trunk/doc/APIchunk9.html
   packages/libxml2/trunk/doc/APIconstructors.html
   packages/libxml2/trunk/doc/APIfiles.html
   packages/libxml2/trunk/doc/APIfunctions.html
   packages/libxml2/trunk/doc/APIsymbols.html
   packages/libxml2/trunk/doc/Makefile.am
   packages/libxml2/trunk/doc/Makefile.in
   packages/libxml2/trunk/doc/downloads.html
   packages/libxml2/trunk/doc/examples/Makefile.in
   packages/libxml2/trunk/doc/html/libxml-nanohttp.html
   packages/libxml2/trunk/doc/html/libxml-parserInternals.html
   packages/libxml2/trunk/doc/html/libxml-schemasInternals.html
   packages/libxml2/trunk/doc/html/libxml-xmlautomata.html
   packages/libxml2/trunk/doc/html/libxml-xmlerror.html
   packages/libxml2/trunk/doc/html/libxml-xmlschemas.html
   packages/libxml2/trunk/doc/html/libxml-xmlstring.html
   packages/libxml2/trunk/doc/libxml2-api.xml
   packages/libxml2/trunk/doc/libxml2.xsa
   packages/libxml2/trunk/doc/news.html
   packages/libxml2/trunk/doc/xml.html
   packages/libxml2/trunk/encoding.c
   packages/libxml2/trunk/example/Makefile.in
   packages/libxml2/trunk/include/Makefile.in
   packages/libxml2/trunk/include/libxml/Makefile.in
   packages/libxml2/trunk/include/libxml/nanohttp.h
   packages/libxml2/trunk/include/libxml/schemasInternals.h
   packages/libxml2/trunk/include/libxml/xmlautomata.h
   packages/libxml2/trunk/include/libxml/xmlerror.h
   packages/libxml2/trunk/include/libxml/xmlschemas.h
   packages/libxml2/trunk/include/libxml/xmlschemastypes.h
   packages/libxml2/trunk/include/libxml/xmlversion.h
   packages/libxml2/trunk/legacy.c
   packages/libxml2/trunk/libxml2.spec
   packages/libxml2/trunk/nanohttp.c
   packages/libxml2/trunk/parser.c
   packages/libxml2/trunk/python/Makefile.in
   packages/libxml2/trunk/python/drv_libxml2.py
   packages/libxml2/trunk/python/libxml.py
   packages/libxml2/trunk/python/libxml2-py.c
   packages/libxml2/trunk/python/setup.py
   packages/libxml2/trunk/python/tests/Makefile.in
   packages/libxml2/trunk/relaxng.c
   packages/libxml2/trunk/result/schemas/deter0_0_0.err
   packages/libxml2/trunk/result/schemas/ns0_0_2.err
   packages/libxml2/trunk/result/schemas/ns0_1_2.err
   packages/libxml2/trunk/threads.c
   packages/libxml2/trunk/tree.c
   packages/libxml2/trunk/uri.c
   packages/libxml2/trunk/valid.c
   packages/libxml2/trunk/vms/build_libxml.com
   packages/libxml2/trunk/xmlIO.c
   packages/libxml2/trunk/xmllint.c
   packages/libxml2/trunk/xmlmemory.c
   packages/libxml2/trunk/xmlregexp.c
   packages/libxml2/trunk/xmlsave.c
   packages/libxml2/trunk/xmlschemas.c
   packages/libxml2/trunk/xmlschemastypes.c
   packages/libxml2/trunk/xmlstring.c
   packages/libxml2/trunk/xmlwriter.c
   packages/libxml2/trunk/xpath.c
   packages/libxml2/trunk/xstc/sun-test-def.xml
   packages/libxml2/trunk/xstc/xstc.py
Log:
New upstream release

Modified: packages/libxml2/trunk/ChangeLog
===================================================================
--- packages/libxml2/trunk/ChangeLog	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/ChangeLog	2004-10-13 10:26:58 UTC (rev 274)
@@ -1,3 +1,247 @@
+Wed Sep 29 15:00:11 CEST 2004 Kasimier Buchcik <libxml2-cvs at cazic.net>
+
+	* xmlschemas.c include/libxml/xmlerror.h include/libxml/xmlschemas.h
+	  include/libxml/schemasInternals.h: Parsing of <complexContent>
+	  - handle attribute 'mixed', catch illegal attributes.
+	  Parsing of <complexType> - handle attributes 'abstract',
+	  'final' and 'block', catch illegal attributes.
+	  Validation of complex types - handle abstract types.
+	  Added handling of default/fixed attributes and element values.
+	  Per validation option attribute nodes/text nodes are created
+	  on the instance.
+	  Added the corresponding constraints for fixed/default.
+	  Added xmlSchemaSetValidOptions, xmlSchemaGetValidOptions
+	  to the external API.
+	  Extended element declaration constraints.  
+	  Got rid of perseverative creation of temporery validation/parser 
+	  contexts.
+	  Added handling of xsi:schemaLocation and
+	  xsi:noNamespaceSchemaLocation.
+	  Fixed xsi:type component resolution if using non-prefixed
+	  QNames.
+	* xmlregexp.c xmlschemas.c include/libxml/xmlautomata.h:
+	  Enabled namespace awareness of the content model if using the
+	  model group "all".
+	* test/schemas/bug152470_1.xsd: Removed an "abstract" attribute,
+	  which broke the test.
+	* xstc/xstc.py:  Workaround to accomodate case insensitive
+	  test definitions in ms-test.def.xml (was missing in a previous
+	  commit).
+
+Wed Sep 29 11:03:10 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* python/drv_libxml2.py: another patch from Malcolm Tredinnick
+	  adding option not to load dtd from the drv_libxml2.py module
+	  #134633
+
+Tue Sep 28 14:30:22 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* acconfig.h config.h.in configure.in xmlIO.c xmlregexp.c xmlschemas.c
+	  xmlschemastypes.c: another patch from Malcolm Tredinnick fixing
+	  warning generated by the Nonstop Kernel Open System Services 
+	  compiler #151710
+
+Tue Sep 28 13:07:37 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* python/libxml.py: applied patch from Malcolm Tredinnick fixing
+	  python exception hierarchy #139824
+
+Sun Sep 26 16:40:24 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* valid.c TODO: applied patch from Malcolm Tredinnick fixing errata
+	  E20 concerning NMTOKENS and co. validation #153722
+	* result/VC/AttributeNmtokens test/VC/AttributeNmtokens
+	  test/VCM/AttributeNmtokens.xml: also added tests from Malcolm
+
+Sun Sep 26 16:24:44 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xstc/xstc.py: applied patch from Malcolm Tredinnick fixing space/tabs
+	  #153713
+	* xpath.c: fixed a realloc potential problem
+
+Fri Sep 24 16:14:12 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* Makefile.am: fixed make valgrind xstc 
+
+Thu Sep 23 18:23:46 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemastypes.c: fixing an out of bound adressing issue
+
+Thu Sep 23 15:14:12 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* HTMLparser.c parser.c relaxng.c xmlschemas.c: more memory related
+	  code cleanups.
+
+Thu Sep 23 01:04:30 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* parser.c: fixed a bunch of errors when realloc failed.
+
+Wed Sep 22 23:56:05 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* threads.c uri.c: couple of memory fixes from Mark Vakoc reported
+	  by Purify on Windows.
+
+Mon Sep 20 22:01:47 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmllint.c: added --timing --copy timing for the copy
+	* vms/build_libxml.com: applied patch from Craig Berry
+	  to build with recent releases
+
+Fri Sep 17 21:25:33 PDT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* nanohttp.c, include/libxml/nanohttp.h: added the routine
+	  xmlNanoHTTPContentLength to the external API (bug151968).
+	* parser.c: fixed unnecessary internal error message (bug152060);
+	  also changed call to strncmp over to xmlStrncmp.
+	* encoding.c: fixed compilation warning (bug152307).
+	* tree.c: fixed segfault in xmlCopyPropList (bug152368); fixed
+	  a couple of compilation warnings.
+	* HTMLtree.c, debugXML.c, xmlmemory.c: fixed a few compilation
+	  warnings; no change to logic.
+
+Fri Sep 17 10:40:23 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* parser.c: removed some extern before function code reported by
+	  Kjartan Maraas on IRC
+	* legacy.c: fixed compiling when configuring out the HTML parser
+	* Makefile.am: added a declaration for CVS_EXTRA_DIST
+	* HTMLparser.c: beginning of an attempt at cleaning up the construction
+	  of the HTML parser data structures, current data generate a huge
+	  amount of ELF relocations at loading time.
+
+Fri Sep 17 10:36:23 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* ChangeLog: applied fix from Stepan Kasal to fix duplication
+	  in the change log and cleanup of space/tabs issues.
+
+Thu Sep 16 13:24:27 CEST 2004 Kasimier Buchcik <libxml2-cvs at cazic.net>
+
+	* xmlschemas.c include/libxml/schemasInternals.h 
+	  test/schemas/bug152470_1.* result/schemas/bug152470_1_1*: 
+	  Simpified attribute wildcard creation and assignment to get rid 
+	  of memory leaks.
+	  Restructured the validation process.
+	  Restructured and expanded parsing of <attributeGroup>.
+	  Added initial handing of xsi:type.
+	  Advanced handling of xsi:nil (should work now for simple types).
+	  Added construction of schemata using xsi:schemaLocation and 
+	  xsi:noNamespaceSchemaLocation; this is not enabled, since 
+	  no corresponding API exists yet.
+	  Moved the content model to complex type components.
+	  Resolution of types for attributes will look for simple types
+	  only (incl. all the built-in simple types).
+	  Extended parsing of 'anyAttribute'.
+	  Fixed content-type type for complex types if derived from 
+	  'anyType' using the short-hand form (see bug # 152470,
+	  submitted by Thilo Jeremias).
+	* include/libxml/xmlschematypes.h: Cleaned up some comments.
+	* xstc/xstc.py: Workaround to accomodate case insensitive
+	  test definitions in ms-test.def.xml.
+	* result/schemas/deter0_0_0.err result/schemas/ns0_0_2.err
+	  result/schemas/ns0_1_2.err: Adapted.
+
+Sat Sep 11 09:04:22 PDT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xmlwriter.c: changed char array initialisation to avoid a
+	  complaint from some compiler(s) (bug 152308)
+
+Thu Sep  9 07:22:11 PDT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* encoding.c: applied fixes for the UTF8ToISO8859x transcoding
+	  routine suggested by Mark Itzcovitz
+
+Wed Sep  8 22:50:27 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* valid.c xmlsave.c: fixed 2 problems raised by #152140, one
+	  which is that notation not in the internal subset should
+	  not be saved, and the second more nasty on an error saving
+	  NOTATIONs, if there is a proof that nobody uses notations !
+
+Wed Sep  8 11:04:27 CEST 2004 Kasimier Buchcik <libxml2-cvs at cazic.net>
+
+	* xmlschemas.c include/libxml/xmlschemas.h: Added the function
+	  xmlSchemaValidateOneElement to the XML Schema validation API, 
+	  as proposed by Jeffrey Fink - see bug # 152073.
+
+Tue Sep  7 11:10:36 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* configure.in doc/Makefile.am xstc/Makefile.am: some cleanup
+	  checking for xmllint and xsltproc in configure.in, fixed
+	  make dist w.r.t. the new xstc subdir.
+	* doc/*: rebuilt
+
+Mon Sep  6 16:42:59 CEST 2004 Kasimier Buchcik <libxml2-cvs at cazic.net>
+
+	* xstc/xstc.py: Changed to finally validate instance documents.
+
+Mon Sep  6 16:04:01 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xstc/Makefile.am Makefile.am: integrated to "make valgrind",
+	  heavy ... weight 250MB of VM !
+
+Mon Sep  6 14:54:39 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xstc/Makefile.am xstc/xstc-to-python.xsl xstc/xstc.py Makefile.am:
+	  more cleanup in integrating the xstc testsuite
+
+Mon Sep  6 13:56:28 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* Makefile.am configure.in xstc/.cvsignore xstc/Makefile.am:
+	  starting to integrate the xstc suite in the normal regression
+	  tests
+
+Mon Sep  6 13:14:11 CEST 2004 Kasimier Buchcik <libxml2-cvs at cazic.net>
+
+	* xstc/sun-test-def.xml: The "tsDir" attribute was not
+	  set correctly.
+
+Mon Sep  6 11:52:50 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* check-xinclude-test-suite.py: when output and expected do not match
+	  exactly run diff to put the differences in the log c.f. #148691
+
+Mon Sep  6 11:17:35 CEST 2004 Kasimier Buchcik <libxml2-cvs at cazic.net>
+
+	* xstc/xstc-to-python.xslt xstc/ms-test-def.xml xstc/nist-test-def.xml
+	  xstc/sun-test-def.xml: Initial release of generation files to 
+	  create python test scripts, which will run the W3C XML Schema Test
+	  Collection. The ms-test-def.xml and sun-test-def.xml files
+	  were extracted from the online HTML XSTC results [1], since they did
+	  not exist for the SUN tests, and only partially did exist for the 
+	  MS tests. The NIST definition file was created by concatenation
+	  of the existing definition files for each single datatype.
+	  The stylesheet "xstc-to-python.xslt" should be run against the
+	  definition files to produce the python scripts.
+	  [1] "http://www.w3.org/XML/2001/05/xmlschema-test-collection/
+	  results-master.html"
+
+Fri Sep  3 20:29:59 CEST 2004 Kasimier Buchcik <libxml2-cvs at cazic.net>
+
+	* xmlschemas.c include/libxml/schemasInternals.h
+	  include/libxml/xmlerror.h: Fixed a seg fault in xmlGetQNameProp:
+	  a format argument was missing.
+	  Fixed wrong assignment of the owner of a wildcard in
+	  xmlSchemaBuildAttributeValidation (in the shorthandform of
+	  <complexType>; this caused a seg fault, due to a double-free
+	  of the wildcard.
+	  Added a check for circular attribute group references.
+	  Added a check for circular model group definition references.
+	  Fixed a dublicate xmlParserErrors enum value - see bug #151738.
+
+Fri Sep  3 10:08:13 PDT 2004 William Brack <wbrack at mmmm.com.hk>
+
+	* xmlstring.c: modified comments on xmlGetUTF8Char in
+	  response to bug 151760 (no change to logic)
+
+Tue Aug 31 09:46:18 PDT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xmlstring.c: fixed error reported on the list caused by
+	  my last change
+
+Tue Aug 31 15:41:52 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* NEWS configure.in doc/*: release of libxml2-2.6.13
+
 Tue Aug 31 14:14:30 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
 	* xmlIO.c: fixing #151456, an encoding error could generate
@@ -136,7 +380,7 @@
 	  test/schemas/seq-dubl-elem1_0* test/schemas/xml.xsd
 	  test/schemas/xsd-list-itemType_0*: Added new tests and missing
 	  files.  	      
-	      
+
 Fri Aug 20 18:51:36 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
 	* Makefile.am configure.in: a bit of cleanup and a extra variable for
@@ -200,7 +444,7 @@
 	* doc/xmllint.xml, xmllint.html, xmllint.1:
 	add c14n to man page (man, it's hard to keep up with
 	Daniel!)
-	
+
 Sat Aug 14 18:45:38 MDT 2004 John Fleck <jfleck at inkstain.net>
 
 	* doc/xmllint.xml, xmllint.html, xmllint.1:
@@ -521,7 +765,7 @@
 	* testHTML.c, testSAX.c, xmllint.c: changed the 'fopen' used
 	  for --push testing to include the 'rb' param when compiled
 	  under Windows.
-	  
+
 Fri Jun 25 13:38:57 HKT 2004 William Brack <wbrack at mmm.com.hk>
 
 	* uri.c: fixed a problem when base path was "./xxx"
@@ -583,7 +827,7 @@
 
 	* configure.in, xmlmemory.c, globals.c: fixed problem when
 	  configuring using --with-thread-alloc
-	  
+
 Wed Jun  9 16:31:24 CEST 2004 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* win32/configure.js win32/Makefile.* minor changes for the new
@@ -755,7 +999,7 @@
 Sun May 16 03:06:31 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
 	* doc/ChangeLog.awk: fixed a couple of problems when parsing
-          libxslt ChangeLog
+	  libxslt ChangeLog
 
 Sat May 15 20:14:21 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
@@ -816,7 +1060,7 @@
 	  misc compilation warning messages.
 	* result/schema/group0_0_0, result/schema/group0_0_0.err:
 	  regenerated (now no error reported).
-	  
+
 Tue May 11 11:55:59 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
 	* xmlIO.c: fix to the fix for #141864 from Paul Elseth  
@@ -830,7 +1074,7 @@
 	  Kasimier Buchcik.
 	* test/schemas/po1_0.xml, test/schemas/po1_0.xsd:
 	  changed test to account for above patch.
-	  
+
 Tue May 11 09:06:53 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
 	* python/tests/tstLastError.py: better portability fix for f(*args),
@@ -1046,7 +1290,7 @@
 
 	* relaxng.c: fixed problem in xmlRelaxNGCompareNameClasses
 	  which was causing check-relaxng-test-suite.py test 351 to fail.
-	  
+
 Fri Apr  2 17:03:48 HKT 2004 William Brack <wbrack at mmm.com.hk>
 
 	* nanohttp.c: implemented fix for M$ IIS redirect provided
@@ -1081,7 +1325,7 @@
 	  and RelaxNG
 	* test/xsdtest/xsdtestsuite.xml: added testfile for
 	  SchemasPythonTests
-	  
+
 Mon Mar 29 16:56:49 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
 	* doc/examples/examples.xsl doc/examples/index.html: added
@@ -1166,7 +1410,7 @@
 
 	* relaxng.c: added an error message when an element is not
 	  found within a <choice> (bug 126093)
-	  
+
 Sat Mar 20 22:25:18 HKT 2004 William Brack <wbrack at mmm.com.hk>
 
 	* xmlregexp.c: enhanced the logic of parsing char groups to
@@ -1487,7 +1731,7 @@
 	  (bug 133773)
 	* nanoftp.c: fixed potential buffer overflow problem,
 	  similar to fix just applied to nanohttp.c.
-	  
+
 Mon Feb  9 18:40:21 CET 2004 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* nanohttp.c: fixed the fix for the buffer overflow, thanx
@@ -1572,11 +1816,11 @@
 	  Cameron Johnson)
 	* include/libxml/xmlexports.h: fixed mingw+msys compilation
 	  (rep by Mikhail Grushinskiy)
-	
+
 Mon Feb  2 20:22:18 PST 2004 William Brack <wbrack at mmm.com.hk>
 
 	* xmlwriter.c: enhanced output indenting (bug 133264)
-	
+
 Mon Feb  2 16:13:33 PST 2004 William Brack <wbrack at mmm.com.hk>
 
 	* xmlreader.c, include/libxml/xmlreader.h: applied patch from
@@ -1822,7 +2066,7 @@
 	* xml2-config.in: added an additional flag (--exec-prefix) to
 	  allow library directory to be different from include directory
 	  (Bug 129558).
-	  
+
 Fri Jan  2 21:22:18 CET 2004 Daniel Veillard <daniel at veillard.com>
 
 	* error.c: applied patch from Stéphane Bidoul for structured error
@@ -1993,7 +2237,7 @@
 	* globals.c: added comment to suppress documentation warning
 	* doc/apibuild.py: fixed problem which caused last APIchunkxx.html
 	  to be lost.  Rebuilt doc/* (including adding APIchunk26.html)
-	  
+
 Fri Dec 19 18:24:02 CET 2003 Daniel Veillard <daniel at veillard.com>
 
 	* xmlreader.c: trying to fix #129692 xmlTextReaderExpand() when
@@ -2208,7 +2452,7 @@
 	* xmlmemory.c: enhanced by adding mutex to protect global
 	  structures in a multi-threading environment.  This fixed
 	  some random errors on the Threads regression tests.
-	  
+
 Fri Nov 28 21:39:49 MST 2003 John Fleck <jfleck at inkstain.net>
 
 	* doc/xml.html doc/python.html: fix tst.py text, which didn't
@@ -2223,7 +2467,7 @@
 	  BOM on output, and will be automatically recognized on input.
 	* test/utf16lebom.xml, test/utf16bebom.xml, result/utf16?ebom*:
 	  added regression tests for above.
-	  
+
 Thu Nov 27 19:25:10 CET 2003 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* win32/Makefile.* win32/configure.js: Modified to allow coexistent 
@@ -2457,7 +2701,7 @@
 	* tree.c: minor changes to some comments
 	* doc/*.html: rebuilt the generated HTML pages for changes
 	  from jfleck (bug 126945)
-	  
+
 Thu Nov 13 12:44:14 CET 2003 Daniel Veillard <daniel at veillard.com>
 
 	* doc/examples/*: added Dodji's example, added output handling
@@ -2512,7 +2756,7 @@
 	  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
-	
+
 Wed Nov  5 23:46:36 CET 2003 Daniel Veillard <daniel at veillard.com>
 
 	* Makefile.am: apply fix from Karl Eichwalder for script path
@@ -2854,7 +3098,7 @@
 	* xmlIO.c: fixed segfault when input file not present
 	* tree.c: changed output formatting of XML_CDATA_SECTION
 	  (bug 120917)
-	
+
 Sun Oct 19 00:15:38 HKT 2003 William Brack <wbrack at mmm.com.hk>
 
 	* include/libxml/parserInternals.h HTMLparser.c HTMLtree.c
@@ -3057,7 +3301,7 @@
 
 	* parser.c: bug in compression saving was crashing galeon
 	  reported by teuf
-	  
+
 Wed Oct  8 21:18:12 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
 	* error.c tree.c xmlIO.c xmllint.c: more cleanup through the
@@ -3242,8 +3486,8 @@
 
 	* HTMLtree.c SAX2.c c14n.c catalog.c configure.in debugXML.c
 	  encoding.c entities.c nanoftp.c nanohttp.c parser.c relaxng.c
-          testAutomata.c testC14N.c testHTML.c testRegexp.c testRelax.c
-          testSchemas.c testXPath.c threads.c tree.c valid.c xmlIO.c
+	  testAutomata.c testC14N.c testHTML.c testRegexp.c testRelax.c
+	  testSchemas.c testXPath.c threads.c tree.c valid.c xmlIO.c
 	  xmlcatalog.c xmllint.c xmlmemory.c xmlreader.c xmlschemas.c
 	  example/gjobread.c include/libxml/HTMLtree.h include/libxml/c14n.h
 	  include/libxml/catalog.h include/libxml/debugXML.h
@@ -3335,7 +3579,7 @@
 	  is found within a cdata section.
 	* result/noent/cdata2 result/cdata2 result/cdata2.rdr
 	  result/cdata2.sax test/cdata2: add one more cdata test
-	  
+
 Thu Sep 25 23:03:23 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
 	* parser.c xmllint.c doc/libxml2-api.xml include/libxml/parser.h:
@@ -3640,7 +3884,7 @@
 Sun Sep  7 22:53:06 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
 	* parser.c: try to cope with the fact that apps may still
-          have allocated smaller SAX callbak block
+	  have allocated smaller SAX callbak block
 
 Sun Sep  7 11:11:45 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
@@ -3736,7 +3980,6 @@
 	fix my bad - forgot to check in new files when I last
 	updated
 
-
 Thu Aug 28 14:31:13 CEST 2003 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* win32/Makefile.bcb: new file, support for Borland C++
@@ -3780,7 +4023,7 @@
 
 	* relaxng.c: fixed bug #120386 again a problem introduced when
 	  trying to reuse automata for content validation. Fix a bug report
-          problem on zeroOrMore
+	  problem on zeroOrMore
 	* result/relaxng/tutor3_7_err: change slightly error reporting.
 
 Mon Aug 25 13:24:57 CEST 2003 Daniel Veillard <daniel at veillard.com>
@@ -3799,13 +4042,13 @@
 	* include/libxml/parserInternals.h include/libxml/relaxng.h
 	  include/libxml/SAX.h include/libxml/SAX2.h: realigned the
 	  parameters after taint.
-	
+
 Mon Aug 25 11:16:01 CEST 2003 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* include/libxml/xmlversion.h.in: moved export defs to a separate
 	  file for consistency.
 	* include/libxml/xmlexports.h: new file, contains export defs.
-	  
+
 Mon Aug 25 11:01:49 CEST 2003 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* include/libxml/*.h genUnicode.py: exportability taint
@@ -3873,7 +4116,7 @@
 
 	* doc/parsedecl.py, doc/libxml2-refs.xml, doc/API*.html:
 	  fixed part (2) of bug 119535 (wrong alpha case on filenames)
-	  
+
 Sat Aug 16 20:35:28 HKT 2003 William Brack <wbrack at mmm.com.hk>
 
 	* doc/API*.html, doc/html/*: regenerated API documentation
@@ -3886,7 +4129,7 @@
 	  improving documentation generation
 	* doc/Makefile.am: further adjustment to auto-generation of
 	  win32/libxml2.def.src
-	  
+
 Fri Aug 15 02:24:20 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
 	* News configure.in: preparing libxml2-2.5.10 release
@@ -3948,7 +4191,7 @@
 	  using native compiler
 	* doc/Makefile.am: implemented regeneration of win32/libxml2.def.src
 	  whenever libxml2-api.xml is changed.
-	  
+
 Mon Aug 11 17:02:23 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
 	* parser.c: cleaning up a problem when parsing UTF-16 and libiconv
@@ -3996,7 +4239,7 @@
 	* win32/defgen.xsl, win32/libxml2.def.src: Bug 119343
 	  (with apologies to Igor) - Enhanced handling of docb and
 	  nanohttp.
-	  
+
 Thu Aug  7 21:13:22 HKT 2003 William Brack <wbrack at mmm.com.hk>
 
 	* encoding.c: further small changes for warnings when
@@ -4168,7 +4411,6 @@
 	* doc/tutorial/xmltutorial.xml
 	update tutorial with XPath example
 
-
 Thu Jul 24 17:07:06 IST 2003 Daniel Veillard <daniel at veillard.com>
 
 	* SAX.c parser.c: fixing a bug about a special case of namespace
@@ -4298,7 +4540,7 @@
 
 Sat Jun 21 16:10:24 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
-        Applying IPv6 patch from Archana Shah <archana.shah at wipro.com>
+	Applying IPv6 patch from Archana Shah <archana.shah at wipro.com>
 	closing bug #114837
 
 	* configure.in: Added checks for IPv6 support and getaddrinfo().
@@ -4387,7 +4629,7 @@
 	* threads.c: applied the patch from Stéphane Bidoul for getting
 	  rid of extra threads in a dynamic library.
 	* win32/configure.js: threads default to 'native' now.
-	  
+
 Fri May 16 13:17:52 EDT 2003 Daniel Veillard <daniel at veillard.com>
 
 	* HTMLtree.c: fixing  bug #112904: html output method escaped
@@ -4501,14 +4743,14 @@
 
 	* win32/defgen.xsl: fixed the conditional for unicode map,
 	  removed hardcoded schema entries
-	  
+
 Mon Apr 28 02:19:00 CEST 2003 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* win32/defgen.xsl: new file, stylesheet for generating 
 	  win32/libxml2.def.src from doc/libxml2-api.xml
 	* win32/libxml2.def.src: is autogenerated from now on, changes
 	  to this file will not appear here anymore
-	  
+
 Mon Apr 28 00:12:11 CEST 2003 Daniel Veillard <daniel at veillard.com>
 
 	* win32/configure.js python/setup.py.in: applied patch
@@ -4615,7 +4857,7 @@
 
 	* HTMLparser.c: tried to fix #98879 again in a more solid
 	  way.
-	 
+
 Tue Apr 22 13:58:43 CEST 2003 Igor Zlatkovic <igor at zlatkovic.com>
 
 	* win32/libxml2.def.src: added more exports from the relaxng and
@@ -4957,7 +5199,7 @@
 	* SAX.c include/libxml/parser.h: more checking of the ID/REF
 	  stuff, better solution for #107208
 	* xmlregexp.c: removed a direct printf, dohhh
-        * xmlreader.c: fixed a bug on streaming validation of empty 
+	* xmlreader.c: fixed a bug on streaming validation of empty 
 	  elements in entities
 	* result/VC/ElementValid8 test/VCM/v20.xml result/valid/xhtml1.xhtml:
 	  cleanup of the validation tests
@@ -5230,7 +5472,7 @@
 	  found 373 test schemas: 369 success 4 failures
 	  found 529 test instances: 525 success 4 failures
 	* check-relaxng-test-suite.py: added memory debug reporting
-	  
+
 Mon Feb 24 12:41:54 CET 2003 Daniel Veillard <daniel at veillard.com>
 
 	* uri.c parser.c: some warning removal on Igor's patch
@@ -5300,8 +5542,7 @@
 	* uri.c include/libxml/uri.h: introduced xmlCanonicPath
 	* xmlIO.c include/libxml/xmlIO.h: obsoleted xmlNormalizeWindowsPath
 	* win32/libxml2.def.src: added few exports
-	
-	
+
 Wed Feb 19 14:26:51 CET 2003 Daniel Veillard <daniel at veillard.com>
 
 	* Makefile.am configure.in: patched to have shared libraries
@@ -5438,7 +5679,7 @@
 	* win32/Makefile.msvc: updates for RelaxNG
 	* win32/Makefile.mingw: updates for RelaxNG
 	* win32/libxml2.def.src: added RelaxNG exports
-	
+
 Fri Feb  7 14:00:53 CET 2003 Daniel Veillard <daniel at veillard.com>
 
 	* xinclude.c: applied another bug fix from Sean Chittenden
@@ -5767,7 +6008,7 @@
 Sun Jan 12 22:18:02 CET 2003 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
 
 	* win32/libxml2.def.src: added more xmlreader and other exports
-	
+
 Fri Jan 10 18:04:32 CET 2003 Daniel Veillard <daniel at veillard.com>
 
 	* xpath.c: fix to the XPath implementation for parent and
@@ -6058,7 +6299,6 @@
 	Add discussion of XML_DEBUG_CATALOG to xmllint man
 	page - bug #100907
 
-
 Mon Dec 23 16:54:22 CET 2002 Daniel Veillard <daniel at veillard.com>
 
 	* xmlreader.c: Fixed the empty node detection to avoid reporting
@@ -6104,7 +6344,7 @@
 Tue Dec 17 11:29:41 CET 2002 Daniel Veillard <daniel at veillard.com>
 
 	* parser.c: the parseStartTag bug fix wasn't complete.
-	
+
 Mon Dec 16 23:00:05 CET 2002 Daniel Veillard <daniel at veillard.com>
 
 	* parser.c: Vyacheslav Pindyura managed to trigger a bug in
@@ -6118,7 +6358,7 @@
 	* win32/libxml2.def.src: added more xml reader exports
 	* win32/Makefile.msvc win32/Makefile.mingw: added xml reader interface
 	  to the build
-	
+
 Mon Dec 16 06:36:54 MST 2002 John Fleck <jfleck at inkstain.net>
 
 	* doc/tutorial/xmltutorial.xml
@@ -6133,7 +6373,6 @@
 	* doc/tutorial/includegetattribute.c
 	plus generated html and pdf
 	Adding fix from Niraj Tolia to tutorial to properly free memory.
-	
 
 Mon Dec 16 00:34:25 CET 2002 Daniel Veillard <daniel at veillard.com>
 
@@ -6334,7 +6573,7 @@
 	* globals.c: removed duplicate call to initxmlDefaultSAXHandler
 	  in xmlInitializeGlobalState.
 	* parserInternals.c: cleaned up ctxt->sax initialisation.
-	
+
 Thu Nov 21 15:05:45 CET 2002 Daniel Veillard <daniel at veillard.com>
 
 	* tree.c include/libxml/tree.h: modified the existing APIs
@@ -6453,7 +6692,6 @@
 	* doc/tutorial/ar01s08.html
 	adding file what I forgot for tutorial
 
-
 Sun Nov 10 20:33:13 MST 2002 John Fleck  <jfleck at inkstain.net>
 
 	Adding encoding discussion to tutorial
@@ -6804,7 +7042,7 @@
 	  regexp support
 	* win32/libxml2.def.src: applied the patch from Mark Vakoc
 	  for regexp support
-	
+
 Fri Sep 20 15:35:33 CEST 2002 Daniel Veillard <daniel at veillard.com>
 
 	* xmlschemastypes.c: as pointed by Igor Float and Double
@@ -6889,7 +7127,7 @@
 
 	* win32/configure.js: added more readme info for the binary
 	  package.
-	
+
 Tue Sep 10 14:15:18 CEST 2002 Daniel Veillard <daniel at veillard.com>
 
 	* xmlIO.c: fixed a stupid out of bound array error
@@ -6969,7 +7207,7 @@
 	added image files so the callouts are graphical, making it
 	easier to read ( use "--param callout.graphics 1" to generate
 	html with graphical callouts)
-	
+
 Wed Aug 28 13:44:54 CEST 2002 Daniel Veillard <daniel at veillard.com>
 
 	* doc/Libxml2-Logo-180x168.gif doc/Libxml2-Logo-90x34.gif:
@@ -7015,7 +7253,7 @@
 
 	* win32/Makefile.msvc: added the prefix location to the include
 	and lib search path.
-	
+
 2002-08-18  Havoc Pennington  <hp at pobox.com>
 
 	* autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with
@@ -7076,7 +7314,7 @@
 
 	* win32/dsp/libxml2.def.src win32/libxml2.def.src: added
 	new c14n function to Windows def files
-	
+
 Fri Aug  2 16:46:46 2002  Aleksey Sanin  <aleksey at aleksey.com>
 
 	* c14n.c: fixed a memory leak in c14n code
@@ -7109,7 +7347,6 @@
 	* c14n.c include/libxml/c14n.h: fixed one more c14n + namespaces
 	corner case from new Merlin's test suite and added a callback
 	that will be used to improve xmlsec performance
-	
 
 Mon Jul 29 18:22:00 CEST 2002 Daniel Veillard <daniel at veillard.com>
 
@@ -7158,10 +7395,10 @@
 	  doc/xmlcatalog_man.xml to the source distribution
 
 Wed Jul 10 21:26:13 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-	
+
 	* win32/Makefile.msvc: Added a copy *.pdb to install, few have
 	  asked for this.
-	
+
 Sat Jul  6 21:55:59 CEST 2002 Daniel Veillard <daniel at veillard.com>
 
 	* configure.in: preparing 2.4.23
@@ -7437,13 +7674,13 @@
 
 Thu 09 May 2002 11:19:00 AM PDT Aleksey Sanin <aleksey at aleksey.com>
 	* parser.c: fixed bug #81159 (memory growth in SAX)
-	
+
 Tue 07 May 2002 09:20:21 AM PDT Aleksey Sanin <aleksey at aleksey.com>
 	* xpath.c: fixed bug #78858 (the real fix)
 
 Sat 04 May 2002 11:56:31 PM PDT Aleksey Sanin <aleksey at aleksey.com>
 	* xpath.c: fixed bug #78858 (quick and durty fix to hide the problem)
-	
+
 Sun May  5 08:57:08 CEST 2002 Daniel Veillard <daniel at veillard.com>
 
 	* tree.c: modified xmlNodeSetBase to allow changing the
@@ -7755,7 +7992,7 @@
 	  the internal subset should not raise duplicate ID errors,
 	  also there was a small bug in conjunction to namespace
 	  declarations defaulted and xml:xxx attributes DTD definitions.
-	  
+
 Fri Mar 22 15:13:49 CET 2002 Daniel Veillard <daniel at veillard.com>
 
 	* xpath.c: Richard Jinks also raised some rounding problems
@@ -8257,7 +8494,7 @@
 	  include/libxml/xmlmemory.h include/libxml/xpathInternals.h:
 	  Tentatively fixed #69655 , make compiling with -Wredundant-decls
 	  clean.
-        * python/libxml.c: fixed a warning.
+	* python/libxml.c: fixed a warning.
 
 Sun Feb 10 12:02:59 CET 2002 Daniel Veillard <daniel at veillard.com>
 
@@ -8551,7 +8788,7 @@
 Mon Jan 21 14:34:37 CET 2002 Daniel Veillard <daniel at veillard.com>
 
 	* tree.c: Adam Lounds pointed out a bug in xmlSearchNs()
-	  
+
 Mon Jan 21 09:55:21 CET 2002 Daniel Veillard <daniel at veillard.com>
 
 	* xpath.c include/libxml/xpathInternals.h: the change made to
@@ -8754,7 +8991,7 @@
 Thu Dec 13 21:24:16 MST 2001 John Fleck <jfleck at inkstain.net>
 
 	*doc/xmllint.xml, xmllint.1 - document --dropdtd
-	
+
 Thu Dec 13 23:19:50 CET 2001 Daniel Veillard <daniel at veillard.com>
 
 	* valid.c: fix the xmlStrdup() used in the previous patch.
@@ -8984,7 +9221,7 @@
 
 	* Makefile.am: confexecdir and confexec_DATA were defined twice
 	  pointed out by Karl Eichwalder
-	  
+
 Sun Nov  4 23:18:34 CET 2001 Daniel Veillard <daniel at veillard.com>
 
 	* xmlcatalog.c: avoid unlink() and use remove() instead.
@@ -9256,7 +9493,6 @@
 	* doc/xmlcatalog_man.xml, xmlcatalog.1
 	One more crack at
 	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=54392 
-	
 
 Sun Oct  7 18:47:02 CEST 2001 Thomas Broyer <tbroyer at ltgt.net>
 
@@ -9390,7 +9626,7 @@
 	* doc/Makefile.am libxml.spec.in: re-dohh forgot the new manpage :-(
 
 Wed Sep 12 22:14:55 CEST 2001 Daniel Veillard <daniel at veillard.com>
-        Released 2.4.4
+	Released 2.4.4
 
 	* config.h.in configure.in libxml.spec.in include/libxml/Makefile.am
 	  libxml-2.0.pc.in: moved includes to includedir/libxml2/libxml,
@@ -9472,7 +9708,7 @@
 Fri Aug 31 18:30:28 CEST 2001 Bjorn Reese <breese at users.sourceforge.net>
 
 	* trionan.c: Fixed const and volatile re-definition problem
-	
+
 Fri Aug 31 16:51:28 CEST 2001 Daniel Veillard <daniel at veillard.com>
 
 	* libxml.4 parser.c: doc updates from Heiko Rupp
@@ -9503,7 +9739,7 @@
 	  the XML syntax.
 	* xmllint.c: small cleanup for $SGML_CATALOG_FILES support.
 
-        2.4.3 got released at that point
+	2.4.3 got released at that point
 Thu Aug 23 23:16:32 CEST 2001 Daniel Veillard <daniel at veillard.com>
 
 	* catalog.c xmlIO.c: started some serious testing and fixed
@@ -9524,7 +9760,7 @@
 
 	* catalog.c: fixed bugi #59406 in SGML catalog parsing reported by
 	  Jun Kuriyama
-	  
+
 Thu Aug 23 02:51:29 CEST 2001 Daniel Veillard <daniel at veillard.com>
 
 	* doc/catalog.html: finished the catalog documentation
@@ -9676,7 +9912,7 @@
 
 Wed Aug  8 22:57:05 CEST 2001 Daniel Veillard <daniel at veillard.com>
 
-        * HACKING: added John Fleck right to commit in the doc subdir
+	* HACKING: added John Fleck right to commit in the doc subdir
 
 Tue Aug  7 03:05:58 CEST 2001 Daniel Veillard <daniel at veillard.com>
 
@@ -10129,7755 +10365,9 @@
 Fri Jun 22 16:39:36 CEST 2001 Bjorn Reese <breese at users.sourceforge.net>
 
 	* trio.c: MSVC fix (provided by Igor Zlatkovic)
-	
-Fri Jun 22 12:42:16 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
 
-	* include/win32config.h: another small fix for ATTRIBUTE_UNUSED
-
 Fri Jun 22 12:42:16 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
 
-	* include/win32config.h: Yon Derek provided a first fix
-	  to be able to compile libxslt/xsltproc on Windows
-
-Fri Jun 22 00:04:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: attempt to work around what seemed a gcc optimizer
-	  bug when handling floats on i386 http://veillard.com/gcc.bug
-	* tree.c entities.c encoding.c: doing some cleanups while
-	  chasing it
-
-Thu Jun 21 13:13:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: cleanup when --without-debug is specified
-	* xinclude.c xpath.c xpathInternals.h xpointer.c: cleanup
-	  w.r.t. --without-debug and other include points
-	* catalog.h testCatalog.c: a bit of cleanup and prepare for XML
-	  Catalogs
-	* configure.in entities.h tree.h HTMLparser.c: removed
-	  --without-corba, made the _private field mandatory
-
-Wed Jun 20 19:37:25 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c parserInternals.c encoding.c: Since Notepad on Win2k
-	  outputs a BOM in UTF8, an errata has been issued to avoid the
-	  problem, that was the most reasonable solution... Add support
-	  for a leading UTF8 BOM in entities.
-
-Wed Jun 20 15:38:59 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: fixed a bug found when post validating an entity ref
-	* xmllint.c: added --loaddtd and sligly changed --postvalid to
-	  activate it too
-
-Tue Jun 19 20:03:40 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c xinclude.c xpointer.c: bug #56402 exposed a number of
-	  weakness in the node copy the XPointer and the XInclude
-	  implementations. Serious cleanup.
-
-Tue Jun 19 14:50:18 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: Kjartan Maraas provided a small patch to
-	  add xml2-config.in to EXTRA_DIST
-
-Tue Jun 19 13:04:10 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c tree.c parserInternals.c parser.c: Stephan Kulow
-	  provided another failing case found in KDE, the way the
-	  ctxt->vctxt.nodeTab was allocated and freed changed over
-	  time but it wasn't completely cleaned up. This should fix it.
-
-Sun Jun 17 19:56:33 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: Stephan Kulow also raised the fact that line number
-	  could get miscounted making debug harder, fixed the problem
-	  in xmlParseCharData()
-
-Sun Jun 17 19:17:26 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: Stephan Kulow pointed out a problem when validating
-	  and using an empty entity, forgot a 'break' in a case.
-
-Sun Jun 17 16:47:40 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed xmlHasNsProp() accordingly to bug #55683
-	* doc/xml.html: updated with 2.3.11
-
-Sun Jun 17 12:24:11 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* TODO: updated adding cleanup of generated doc
-	* configure.in: prepared to release 2.3.11
-	* xmllint.c: added --version for bug reporting
-	* doc/html/*.html: rebuilt the doc
-
-Sat Jun 16 23:23:33 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: first part of the work on selecting namespace to
-	  fix bug #56115 
-
-Sat Jun 16 00:20:46 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am example/Makefile.am: Laszlo PETER provided a fix
-	  when using -liconv
-	* TODO: updated
-
-Fri Jun 15 07:08:57 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.[ch]: more work on the HTML serialization routnes,
-	  cleanup, encoding support.
-
-Thu Jun 14 10:31:17 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: Thomas Broyer suggested a better patch for the / arg
-
-Thu Jun 14 01:01:30 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: bug detected by Ankh when / is used as a function arg
-
-Wed Jun 13 23:08:46 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.[ch] HTMLtree.c: stored the inline/block property
-	  of element and use it to avoid outputting formatting spaces at
-	  the wrong place. Implemented the format parameter for HTML save.
-	* result/HTML/doc2.htm result/HTML/doc3.htm result/HTML/fp40.htm
-	  result/HTML/script.html result/HTML/test2.html result/HTML/test3.html
-	  result/HTML/wired.html: of course this impact the result of a
-	  number of HTML tests
-
-Thu Jun 14 09:49:09 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.[ch]: started augmenting the HTML save API with
-	  encoding and formatting parameters
-
-Wed Jun 13 09:44:15 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.h: cleanup and started evaluating the work needed on
-	  revamping the HTML output code
-
-Mon Jun 11 19:29:40 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c: handling of PIs and <?sgml-declaration in entities.
-
-Tue Jun 12 08:46:28 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: fixed bug #56049, forgot one check in the
-	  validation routine
-
-Tue Jun 12 08:09:46 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.[ch]: grrr ... namespace is a C++ reserved keyword
-
-Tue Jun 12 06:29:39 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* libxml.h: fixed an error in last commit
-	* doc/FAQ.html: added an entry for compilation from CVS
-
-Mon Jun 11 10:07:29 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlversion.h.in libxml.h: Cygwin patches
-	* tree.c: xmlFreeNodeList patch similar to xmlFreeNode one
-	* tree.h: cleanup
-
-Sat Jun  9 19:16:00 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: patched xmlFreeNode() to avoid freeing() a static
-	  memory block in a strange case where libxml is linked twice
-	  in the binary.
-
-Sat Jun  9 18:39:03 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: (a? , b? , c? , ... , z?) was storing/restauring
-	  state far too often, simple fix used to avoid it.
-
-Sat Jun  9 16:10:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xinclude.c: Raphael Hertzog had a trouble with DTD nodes
-	  being processed, applied his patch
-	* tree.c: fixed a bug raised in xmlStaticCopyNodeList()
-
-Sat Jun  9 15:50:11 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* nanoftp.c nanohttp.c uri.c include/win32config.h: Igor  Zlatkovic
-	  provided fixes to compile on MSCC again
-	* win32/libxml2/libxml2.def.src win32/libxml2/libxml2*.dsp: he
-	  also provided an update for the project files.
-
-Thu Jun  7 21:52:10 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: applied Steve Tinney patch to xmlNewNsProp to fix
-	  bug #55810
-
-Thu Jun  7 21:29:39 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed xmlGetNsProp() to close bug #55683
-	  Note this requires libxslt to use it's own function instead.
-
-Thu Jun  7 18:06:34 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c: when in a pre element no formatting space should
-	  be added.
-	* test/HTML/pre.html result/HTML/pre.html*: added a regression test
-
-Thu Jun  7 17:29:38 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: added tests for signal() and signal.h
-
-Fri Jun  8 10:17:15 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: robert pointed out xmlXPathNINF was not initialized
-
-Fri Jun  8 10:01:45 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/libxml-doc.el: Felix Natter provided a new version for
-	  libxml2
-
-Fri Jun  8 07:20:46 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c: when in a pre element no formatting space should
-	  be added.
-
-Wed Jun  6 18:07:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: add -mieee to CFLAGS when compiling on Linux/alpha
-
-Thu Jun  7 06:44:01 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c: implemented the <?sgml-declaration encoding="xxx"?>
-	  hack
-	* tree.[ch]: added xmlHasNsProp as suggested in bug report #55653 
-	* uri.c: fixed a warning
-
-Tue Jun  5 22:54:21 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c: trying to close bug #55772 escaping in script
-	  elements
-	* doc/xml.html: suggest to send mail to the list
-
-Tue Jun  5 19:11:02 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* error.c: attempt to fix the xmlGetVarStr breakage once and for
-	  good. Use a macro and based on the solution provided in 
-	  vsnprintf manual page from GNU.
-
-Tue Jun  5 14:46:10 CEST 2001 Bjorn Reese <breese at users.sourceforge.net>
-
-	* error.c: Workaround for non-preserving variadic list.
-	* trio.c trio.h triop.h strio.c strio.h: Upgraded to trio baseline 1.4
-	
-Sat Jun  2 06:12:33 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/xml.html: added 2.3.10 release
-
-Fri Jun  1 11:27:11 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: releasing 2.3.10
-
-Thu May 31 20:42:39 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlIO.c: Gary Pennington spotted a few troubles with file:///
-
-Thu May 31 20:18:59 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* encoding.c: Robert Collins provided a patch to add the
-	  "US-ASCII" encoding alias
-
-Wed May 30 21:12:45 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c encoding.[ch]: William M. Brack provided a set of UTF8
-	  string oriented functions and started cleaning the related areas
-	  in xpath.c which needed fixing in this respect
-
-Wed May 30 20:30:47 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c: applied patch from Jaroslaw Kolakowski to close bug
-	  #55380
-	* tree.c: patch to xmlNodeGetContent() to get CDATA section content
-
-Mon May 28 12:56:29 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* TODO: updated
-	* nanohttp.[ch] : started adding APIs to get the redirected URL
-	  when this occurs (needed for further base computation
-	* tree.h: cleanup
-	* encoding.c: cleanup
-	* SAX.c: minor change around ctxt->loadsubset
-
-Fri May 25 09:36:26 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am include/Makefile.am: small change to have
-	  include/libxml rebuilt if working from CVS.
-	* uri.c: applied another patch from Carl Douglas for URI escaping,
-	  this should close bug #51876
-
-Wed May 23 15:40:27 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xinclude.c: fixed XInclude recursive behaviour bug #54678
-	* result/XInclude/recursive.xml test/XInclude/docs/recursive.xml
-	  test/XInclude/ents/inc.txt test/XInclude/ents/sub-inc.ent:
-	  added specific regression test
-	* parser.h: preparing for the XSLT mode where DTD inherited
-	  attributes are added to the tree.
-
-Wed May 23 13:59:19 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xinclude.[ch]: Updated the namespace for the Last Call version
-	* result/XInclude/include test/XInclude/include: updated the
-	  testsuite accordingly
-
-Wed May 23 12:27:44 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* uri.[ch]: applied a patch from Carl Douglas for URI escaping,
-	  related to bug #51876
-
-Tue May 22 18:46:56 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed a gross mistake in base computation, xml:base is
-	  not completely correct yet (need cascade).
-	* xpath.[ch]: added the few things needed to find a function name
-	  and URI from the XPath context when it is called.
-
-Tue May 22 17:00:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* catalog.[ch]: fixes and add xmlLoadCatalogs()
-	* DOCBparser.c: small cleanup
-	* xmllint.c: added a --catalogs option to load catalogs from
-	  $SGML_CATALOG_FILES
-	* tree.c: cleanup
-	* configure.in: iconv library fixup, ICONV_LIBS 
-
-Mon May 21 16:05:22 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* catalog.c: handling of CATALOG entries. detection of recursion,
-	  and a few bugfixes
-	* xpath.c: fixing bug #54951 QNAME with no prefix should not match
-	  against the default namespace
-
-Mon May 21 10:14:07 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: Joe Orton reported a bug found with IRIx compiler.
-
-Sun May 20 15:15:46 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixed propagation context info when parsing an
-	  external entity.
-	* doc/html/*.html: regenerated a couple of docs
-
-Sat May 19 17:11:15 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/xml.html: update with 2.3.9 informations
-
-Sat May 19 16:50:47 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.h debugXML.h parserInternals.h tree.h valid.c
-	  xmlversion.h.in xpathInternals.h xpath.h: some cleanup for gtk-doc
-	* doc/html/* : rebuilt the docs
-	* valid.c: small patch which may improve some case when
-	  validating.
-
-Sat May 19 15:20:03 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: Closed bug #54891
-	* result/HTML/cf_128.html* test/HTML/cf_128.html: added the test
-	  to the suite
-
-Thu May 17 14:15:07 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* encoding.h hash.c nanoftp.h parser.h tree.h uri.h xlink.h xpointer.c:
-	  applied a documentation patch from LotR and filled in a few missing
-	  descriptions
-
-Wed May 16 23:02:41 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c tree.c parser.c: speed optimizations at the parser level
-	  document tree freeing and xpath evaluation
-
-Wed May 16 12:55:48 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c parser.h parserInternals.h: fixed a couple of
-	  interfaces for handling memory buffer input to const char *
-	  upon suggestion of JamesH.
-
-Tue May 15 17:22:27 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: LoTR sent a patch fixing the previous commit 
-
-Tue May 15 14:40:04 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: trying to deal again with the stoopid -R linking
-	  flag of Solaris
-
-Tue May 15 12:49:50 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.h: two nodeset access macros from Thomas Broyer
-
-Tue May 15 11:42:39 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c xpath.h xpathInternals.h: apply an XPath API cleanup
-	  patch from Thomas Broyer
-
-Tue May 15 10:52:19 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c test/VCM/v2[34].xml: Fixed bug #54631 added specific test
-	  case
-	* INSTALL: was empty added stuff from the FAQ
-
-Fri May 11 19:37:30 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.[ch]: fixing bug #54446, by cleaning some bugs in the
-	  attributes handling and #54433 by adding xmlUnsetProp()
-	  and xmlUnsetNsProp()
-
-Fri May 11 16:07:13 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: Patch from Jonas Borgström
-	(htmlGetEndPriority): New function, returns 
-	the priority of a certain element.
-	(htmlAutoCloseOnClose): Only close inline elements if they 
-	all have lower or equal priority.
-	* result/HTML: this of course changed a number of tests results.
-
-Thu May 10 17:30:22 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlIO.c catalog.c: plugged in the default catalog resolution
-	* doc/gnome-xml.sgml: linked in the Docbook parser and catalog
-	  documentations
-	* doc/html/libxml-*.html: rebuild added the missing ones to CVS
-
-Thu May 10 16:14:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am xmlversion.h.in configure.in include/Makefile.am:
-	  integrating catalogs
-	* catalog.[ch] testCatalog.c: adding a small catalo API
-	  (only SGML catalog support).
-	* parser.c: restaured xmlKeepBlanksDefault(0) API
-
-Wed May  9 12:50:15 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: zb at bisp.com reported an error in xmlNodeGetLang()
-
-Tue May  8 12:31:40 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: added xmlParseExternalEntityPrivate() to allow
-	  propagation of ctxt->_private when parsing external entities
-
-Tue May  8 10:26:22 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c: fixed the bug reported by Bjorn in htmlNodeDump
-
-Tue May  8 09:30:12 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: fixed a small portability problem with AM_CONDITIONAL
-
-Mon May  7 22:44:45 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: warn when indeterminist content model is detected
-	* result/VC/ElementValid8: this adds a message
-	* Makefile.am: add --novalid for VCM tests
-	* parserInternals.c: added a call to Init memory 
-
-Fri May  4 19:51:15 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: fixed htmlNewDoc SYSTEM and PUBLIC ID inversion
-	  when both parameters are NULL.
-
-Fri May  4 17:19:39 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: applied small patch from Gary Pennington, reindented
-	  some part of the code.
-
-Thu May  3 13:10:43 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in doc/xml.html doc/html/*: preparing for 2.3.8
-	  release, updated and regenerated the docs
-
-Thu May  3 12:47:46 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c result/XPath/expr/floats : clarified and cleanup
-	  printing of abnormal floats in tests.
-
-Thu May  3 10:25:19 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: trying to fix the problem reported by Jonas Borgström
-	* results/HTML/ : a few changes in the output of the HTML tests as
-	  a result.
-	* configure.in: tying to fix -liconv where needed
-
-Wed May  2 19:10:26 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: fixed a stupid error
-
-Wed May  2 18:39:39 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in Makefile.am: make the inclusion of the trio
-	  modules in the library conditional
-
-Wed May  2 14:39:57 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c: patche from  László Kovács, fixed entities refs
-	  in attributes handling
-
-Wed May  2 12:56:04 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlIO.c: Bjorn Reese provided a fix for a problem on buffer
-	 flushing
-
-Mon Apr 30 22:29:34 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fix of an XSLT namespace bug reported on the list
-	  general/bug-8-
-
-Mon Apr 30 19:42:58 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* strio.h trio.c: Dan McNichol suggested a couple of small
-	  fixes for AIX 4.3.3 using Visual Age 5.0.2 compiler
-
-Mon Apr 30 13:44:48 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c parser.c encoding.c: spent a bit more time looking
-	  at the parsing speed and DOM handling. Added a few more
-	  speedups.
-
-Sun Apr 29 21:53:47 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: small but effective parsing speed improvement
-
-Sun Apr 29 19:02:13 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: default on the DocBook parser inclusion (for Gnome)
-	* DOCBparser.h: fixed a header reference
-
-Sat Apr 28 19:00:39 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in xpath.c: applied Bjorn patches for FPE on the
-	  alpha
-
-Sat Apr 28 18:54:28 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.[ch] xmlIO.h: applied patch from Joe McAlerney to add
-	  xmlSaveFormatFileTo()
-
-Sat Apr 28 16:33:05 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: simple and efficient optimization, XPath functions
-	  aways bind to the same code, cache this
-	* TODO: updated (by saying some is obsolete)
-
-Sat Apr 28 14:23:30 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: more cleanup work on XPath name parsing routines
-
-Fri Apr 27 19:06:13 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parserInternals.c xpath.[ch]: some UTF8 cleanup on
-	  xmlXPathParseName
-	* xpath.c: Igor Zlatkovic suggested a change for NAN and MSC
-	* debugXML.c: avoid compilation problems if compiling without
-	  HTML support, Igor Zlatkovic
-	* win32/libxml2/libxml2.def.src: being able to compile without
-	  XPath on Windows
-
-Thu Apr 26 22:53:03 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* libxml.m4: yet another patch from Toshio Kuratomi
-
-Thu Apr 26 21:27:43 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* libxml.m4 libxml2-spec.in: new patches from Toshio Kuratomi
-
-Thu Apr 26 20:53:48 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.[ch]: added xmlSaveFormatFile interface for saving
-	  and indenting a file.
-
-Thu Apr 26 16:35:53 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed bug #53689 related to processing-instruction()
-
-Thu Apr 26 12:57:58 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c: patche from  László Kovács
-
-Thu Apr 26 11:31:54 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: applied fixes from Christian Glahn bug report #53391
-
-Thu Apr 26 11:14:56 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* error.c: Jean François Lecomte provided a complete description
-	  and a fix to bug #53537
-
-Thu Apr 26 09:42:58 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* libxml.m4: added AM_PATH_XML2 provided by Toshio Kuratomi
-
-Wed Apr 25 21:05:31 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c SAX.c: a bit more work on entities processing.
-	  Still Need to cleanup XML output and references in attributes
-
-Wed Apr 25 17:52:27 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c include/Makefile.am: two patches from  László Kovács
-
-Wed Apr 25 14:56:26 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: trying to fix #53574, not completely complete,
-	  I would like xmllint --copy --debug test/ent1 and
-	  xmllint --debug test/ent1 to show the same result.
-	* xpath.c: fix a bug when trying to sort namespace nodes
-
-Wed Apr 25 12:28:57 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c: real fix for  #53402
-
-Tue Apr 24 17:36:35 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c HTMLtree.h : closing #53402 i.e. output of
-	  PIs when using xsl:output
-	* valid.c: closing #53537 some case generate segfaults if there
-	  is validity errors
-
-Tue Apr 24 15:19:53 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* SAX.c testDocbook.c DOCBparser.c: more work on the support
-	  of external parsed entities, added --noent to testDocbook
-	* valid.c: Garry Pennington found an uninitialized variable
-	  access in xmlValidateElementContent()
-
-Tue Apr 24 14:41:25 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c : HTML parsing still sucks ... trying to deal
-	  with madness
-	* result/HTML/ : this modified the result of the regression tests
-	  a lot.
-
-Tue Apr 24 14:10:38 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* entities.c: xmlEncodeEntitiesReentrant fixed a few accesses
-	  to doc where it wasn't checked against NULL reported by
-	  Jens Laas
-
-Tue Apr 24 13:21:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: Jonas Borgström patch, the <td>, and <th> elements
-	  now means the end of any open <span>,<font>,<a>,<b>,<i>,<u>.
-
-Mon Apr 23 15:40:04 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c DOCBparser.h testDocbook.c configure.in Makefile.am
-	  xmlversion.h.in: started (re)integrating the DocBook SGML parser.
-	* SAX.[ch]: cleanup and updates for DocBook
-	* debugXML.c parser.h tree.[ch] valid.c xpath.c: small macro or
-	  ex SGML identifier changes
-	* valid.c: removed a static unused function.
-
-Mon Apr 23 11:05:56 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLtree.c: applied change for Paul Sponagl on script saving
-	* Makefile.am: the warning about entity title.xml are normal.
-
-Sun Apr 22 22:09:35 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: release of 2.3.7
-	* Makefile.am: fixing make distcheck
-
-Sun Apr 22 21:29:52 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/html/* doc/xml.html: updated and regenerated the docs
-
-Sun Apr 22 21:11:45 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed the XPointer problem introduced in 2.3.6
-
-Sun Apr 22 14:11:58 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed #53388 with the provided patch
-
-Sun Apr 22 12:34:41 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: Bjorn detected an invalid memory access. Fixed
-	  vstateVPush()
-
-Sun Apr 22 10:49:23 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed xmlXPathCompile to detected unproperly ended expr
-
-Sat Apr 21 18:27:51 CEST 2001 Bjorn Reese <breese at users.sourceforge.net>
-
-	* libxml.h: new header used only for the compilation of libxml
-	* HTMLparser.c HTMLtree.c SAX.c debugXML.c encoding.c entities.c
-	  error.c hash.c list.c nanoftp.c nanohttp.c parser.c
-	  parserInternals.c testHTML.c testSAX.c testURI.c testXPath.c
-	  tree.c uri.c valid.c xinclude.c xlink.c xmlIO.c xmllint.c
-	  xmlmemory.c xpath.c xpointer.c: libxml.h integration
-	* trio.[ch] triop.h strio.[ch]: upgraded to the latest trio
-	  baseline (version 1.2 plus a single patch).
-	* xpath.c result/XPath/expr/floats test/XPath/expr/floats: parses
-	  scientific notation for numbers. Tests added.
-	* xpath.c: formatting of numbers changed to use sprintf
-	  (contribution from William Brack)
-
-Sat Apr 21 16:12:59 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: cleanup, more useful debugging
-	* parserInternals.c: cleanup vctxt.nodeTab (de)allocation
-	* xmlIO.c: entity loading is printed as an error when validating
-
-Sat Apr 21 12:25:49 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: fixed to validate within entities
-	* test/VCM/v22.xml: added a specific testcase
-
-Fri Apr 20 17:45:47 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: forgot an epsilon transition in for ()+
-	* test/VCM/v21.xml : added a specific test case
-
-Fri Apr 20 15:46:04 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: removed a state explosion exhibited by RSS
-	* test/valid/rss.xml result/valid/rss.xml*: added the testcase
-	  from bug #51872
-
-Fri Apr 20 14:52:44 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.[ch] tree.h: worked *hard* to get non-determinist content
-	  validation without using an ugly NFA -> DFA algo in the source.
-	  Made a specific algorithm easier to maintain, using a single
-	  stack and without recursion.
-	* Makefile.am test/VCM/*.xml: added more tests to "make Validtests"
-	* hash.c: made the growing routine static
-	* tree.h parser.c: added the parent information to an
-	  xmlElementContent node.
-
-Wed Apr 18 23:33:11 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* SAX.c parser.c xpath.c: generating IDs when not validating
-	  from an external parsed entity was poisoning the ID has table
-	  with removed values. This was killing XSLT on the KDE help
-	  browser.
-
-Wed Apr 18 17:09:15 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* entities.h: andrew at ugh.net.au detected a double declaration
-
-Wed Apr 18 15:06:30 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* debugXML.c hash.c tree.h valid.c : some changes related to
-	  the validation suport to improve speed with DocBook
-	* result/VC/OneID2 result/VC/OneID3 : this slightly changes
-	  the way validation errors get reported
-
-Wed Apr 18 11:42:47 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c HTMLtree.c: applied part of the patches provided
-	  by P C Chow and William M. Brack for XSLT HTML output
-
-Mon Apr 16 19:44:36 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlversion.h.in win32config.h win32/libxml2/*: applied 
-	  Igor Zlatkovic patches for MSC compilation and added his
-	  updates
-
-Tue Apr 17 10:08:19 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed xmlXPathNodeCollectAndTest() to do proper
-	  prefix lookup.
-	* parserInternals.c: fixed the bug reported by Morus Walter
-	  due to an off by one typo in xmlStringCurrentChar()
-	
-Thu Apr 12 17:41:09 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c result/HTML/*: revamped the way the HTML
-	  parser handles end of tags or end of input
-
-Thu Apr 12 10:50:34 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.[ch] : added xmlDocCopyNode for gdome2 support
-
-Wed Apr 11 16:37:50 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.h: include xmlmemory.h this seems to havoid a nasty glibc
-	  bug where the linktime verions of free() won't work ...
-
-Wed Apr 11 14:21:31 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* config.h.in configure.in xmlversion.h.in: added ansidecl.h test
-
-Wed Apr 11 13:50:42 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/xml.html: added 2.3.6 release
-
-Wed Apr 11 13:26:34 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed xmlStringGetNodeList() to handle charrefs
-	* result/wml.xml: resulted in a small output change
-
-Wed Apr 11 09:47:55 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: xmlNewDoc was missing the charset initialization
-	* xmllint.c: added --auto to autogenerate a doc, allow to
-	  reproduce the problem fixed on xmlNewDoc
-
-Tue Apr 10 18:13:10 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: trying to get 52979 solved
-	* tree.c result/ result/noent/: trying to get 52712 solved, this
-	  also made me clean up the fact that XML output in general should
-	  not add formating blanks by default, this changed the output of
-	  a few tests
-
-Tue Apr 10 16:30:20 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: Bill Brack pointer an error in detecting a null nodeset
-
-Sun Apr  8 15:07:16 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: finally released 2.3.6
-
-Sun Apr  8 11:39:21 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: checking for null pointer generated by new code
-
-Fri Apr  6 12:53:05 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed a [] evaluation problem reported
-	* test/XPath/tests/simpleaddr: extended test
-	* result/XPath/simpleaddr: updated result
-
-Wed Apr  4 02:07:53 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmllint.c: Dan Timis reported a portability problem
-	  on Macs without mmap, fixed it.
-
-Tue Apr  3 20:20:51 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* testXPath.c : added a --tree option allowing to display the
-	  tree dump of the XPath expression
-
-Mon Apr  2 17:13:51 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed a memleak when comparing nodesets
-	* HTMLtree.c: don't invent the HTML doctype if not available (XSLT)
-	* tree.c: added a TODO
-
-Tue Mar 27 14:32:06 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in Makefile.am config.h.in xmlversion.h.in: detect if
-	  we need string functions
-	* trio.[ch] strio.[ch]: embedded the Trio-0.23 string functions
-	  to be able to use them where needed. Applied some changes
-	  to reduce name linking pollution and compile in only what's
-	  needed.
-	* HTMLtree.c debugXML.c entities.c error.c nanoftp.c valid.c
-	  xlink.c xmlversion.h.in xpath.c: got rid of the #ifdef 
-	  for the string manipulation functions
-	* xmlmemory.[ch]: removed DEBUG_MEMORY_FREED and added it automatically
-	  to the free() function of xmlmemory.c
-	* entities.c HTMLtree.c parserInternals.c tree.c uri.c valid.c
-	  xinclude.c xmlIO.c xpath.c xpointer.c: removed the MEM_CLEANUP
-	  usage.
-
-
-Tue Mar 27 02:30:23 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* error.c: applied the context output patch of the error
-	  handling submitted by Chuck Griffith
-	* error/VC/*: this slightly change some error logs
-
-Tue Mar 27 00:51:27 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixed line number reporting on error
-
-Mon Mar 26 23:21:41 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: Sullivan and Darin found a parser bug,
-	  applied the patch.
-
-Mon Mar 26 18:24:52 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c HTMLtree.c SAX.c debugXML.c error.c parserInternals.c
-	  testHTML.c testSAX.c tree.c valid.c xmlIO.c xmlmemory.c
-	  xmlversion.h.in xpointer.c: of course the way I defined
-	  UNUSED breaks on old gcc version. Try to be smart and
-	  also define it directly in xmlversion.h
-	* configure.in: removed -ansi flag from the pedantic set
-
-Sat Mar 24 17:45:36 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-        Huge cleanup, I switched to compile with
-	-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit
-	-Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat
-	-Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow
-	-Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return
-	-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline
-	* HTMLparser.[ch] HTMLtree.c SAX.c debugXML.c encoding.[ch]
-	  encoding.h entities.c error.c list.[ch] nanoftp.c
-	  nanohttp.c parser.[ch] parserInternals.[ch] testHTML.c
-	  testSAX.c testURI.c testXPath.c tree.[ch] uri.c
-	  valid.[ch] xinclude.c xmlIO.[ch] xmllint.c xmlmemory.c
-	  xpath.c xpathInternals.h xpointer.[ch] example/gjobread.c:
-	  Cleanup, staticfied a number of non-exported functions,
-	  detected and cleaned up a dozen of problem found this way,
-	  avoided a lot of public function name/typedef/system names clashes
-	* doc/xml.html: updated
-	* configure.in: switched private flags to the really pedantic ones.
-
-Thu Mar 22 22:44:15 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: 2.3.5
-	* doc/html/*: rebuilt the docs
-
-Thu Mar 22 15:36:45 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixed a reported bug in NOTATION parsing
-	* uri.c: accepted but not fixed bug 51876, added TODO 
-	* Makefile.am: fixed bug 51876
-
-Thu Mar 22 13:41:22 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* config.h.in configure.in error.c: fix a compilation problem
-	  on platforms without vsnprintf (xml at thewrittenword.com)
-
-Wed Mar 21 19:04:34 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixed a function name header typo
-	* SAX.c: notations can also occur in external subset.
-
-Tue Mar 20 14:21:28 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* error.c: removed a C++ like comment
-
-Tue Mar 20 12:22:36 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixing bug 52299 strange condition leading
-	  to a parser crash due to a buffer overflow
-	* result/noent/attrib.xml result/attrib.xml test/attrib.xml:
-	  added the specific test case
-
-Mon Mar 19 16:50:52 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.[ch]: still a lot of cleanup based on XSLT, added
-	  xmlXPathConvert{String,Number,Boolean} to be able to make
-	  type casts without a context stack, fixed some implementation
-	  problems related to the absence of context at parse-time,
-	  added xmlXPathEvalPredicate() and xmlXPathFreeCompExpr()
-	  in the public API too
-	* xpointer.c xpathInternals.h: we need to know at parse time
-	  whether we are compiling an XPointer
-
-Mon Mar 19 11:54:31 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.[ch] xpointer.c: restaured the Binary and API compatibility
-	  cleaned up the parser internals, refactored XPath code, added
-	  new compilation based APIs and cleanly separated public and
-	  private APIs.
-
-Mon Mar 19 00:59:25 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.h: the comp field must be added at the end to avoid
-	  killing binary compat.
-
-Mon Mar 19 00:11:18 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: detect XPath memleaks in regreson tests
-	* error.c: fixed and error w.r.t. error reporting still using
-	  stderr
-	* hash.c: added new line at end of file
-	* tree.h: minor cleanup
-	* xpath.[ch] xpointer.[ch]: Major changes ! Separated XPath
-	  expression parsing from evaluation, resulted in a number of
-	  changes internally, and in XPointer. Likely to break stuff
-	  using xpathInternals.h but should remain binary compatible,
-	  new interfaces will be added.
-
-Wed Mar 14 20:34:02 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: fixed a couple of problems reported by 
-	  okiddle at yahoo.co.uk and allanc at chickenandporn.com when compiling
-	  without gcc on non linux platforms.
-
-Wed Mar 14 20:13:54 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/Makefile.am configure.in: yearke at eng.buffalo.edu suggested
-	  a fix for --with-html-dir= configure support. I hope it won't
-	  break rpm generation
-
-Wed Mar 14 17:28:49 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlIO.c: one function comment cleanup.
-
-Wed Mar 14 14:55:46 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* SAX.c: external subset notations were improperly registered
-	  in the internal subset.
-
-Tue Mar 13 10:28:49 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* README.cvs-commits: added, pointing to HACKING
-	* HACKING: updated
-
-Mon Mar 12 22:09:40 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: and Matt Sergeant found one in the XML push
-	  parser (erroneous check I forgot to remove when I fixed the
-	  main parser).
-
-Mon Mar 12 19:19:04 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: ptittom found a small bug in UnaryExpr
-
-Sat Mar 10 13:09:53 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: bumped to 2.3.4
-	* error.c: fixed bug #51860
-	* tree.c: fixed bug #51861
-	* valid.c: cleanup, more debug, failed to fix one bug crap ...
-	* tree.[ch] : added xmlDefaultBufferSize
-	* nanoftp.c: typo in function name header block
-	* doc/xml.html : updated, added link to XML::LibXSLT
-	* doc/html/* : rebuilt the docs
-
-Wed Mar  7 20:43:47 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c SAX.c: the new content parsing code raised an
-	  ugly bug in the characters() SAX callback. Found it
-	  just because of strangeness in XSLT XML Rec ouptut :-(
-
-Wed Mar  7 16:50:22 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: Martin Baulig suggested to add -lm
-	* tree.c: found another bug in xmlNodeGetContent()
-
-Tue Mar  6 09:21:30 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: Bjorn found the error related to strictness of comparison.
-
-Mon Mar  5 21:47:31 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: trying to fix the Dtd parsing problem reported
-	  by Gary, side effect of last week speed optimizations.
-
-Sat Mar  3 19:45:59 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xml2Conf.sh.in: fixes pointed out by Fredrik Hallenberg
-	* parserInternals.c: removed unneeded test raised by Stric
-
-Sat Mar  3 13:04:37 CET 2001 Bjorn Reese <breese at users.sourceforge.net>
-
-	* xpath.c: Fixed xmlXPathNodeCollectAndTest (problem reported
-	  and fixed by William Brack). Added xmlXPathFormatNumber.
-	  Changed the sorting slightly.
-	* configure.in Makefile.am example/Makefile.am: Added -lm.
-	  Please note that applications linking with libxml2, must
-	  also like with the math library from now on.
-
-Sat Mar  3 07:38:58 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: fixed loop reported by Marc Sanfacon
-
-Sat Mar  3 02:10:24 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: one must report spaces even if the Dtd element
-	  content proves that this is not part of the element content.
-	* result/valid/*.xml: this changed the ouptu slightly
-
-Thu Mar  1 17:53:39 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: bumped to 2.3.3
-	* doc/xml.html: updated
-
-Wed Feb 28 00:43:58 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: minor doc fix
-	* xpath.c: deallocation issues when a result tree has been
-	  converted to a node-set
-
-Mon Feb 26 22:09:45 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/xml.html: oops corrected dates s/2000/2001
-
-Mon Feb 26 12:48:35 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: new patch from Gary Pennington
-
-Mon Feb 26 09:30:23 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/xml.html: applied patch from Ankh
-
-Mon Feb 26 03:34:43 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xinclude.c: fixed a problem building on Mac
-
-Sun Feb 25 21:52:30 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: more work on increasing parsing ferformances
-
-Sun Feb 25 18:03:42 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlmemory.h HTMLparser.c HTMLtree.c entities.c parser.c
-	  xpath.c xpointer.c tree.c uri.c valid.c xinclude.c xmlIO.c:
-	  avoiding memcpy in production builds MEM_CLEANUP macro use
-	* parser.[ch] parserInternals.c: optimizations of the tightest
-	  internal loops inside the parser. Better checking of I/O
-	  flushing/loading conditions
-	* xmllint.c : added --timing
-
-Sun Feb 25 05:48:51 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: bumped to 2.3.2
-	* doc/xml.html: updated for release
-
-Sat Feb 24 14:07:52 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: found a memleak and fixed a nasty bug
-
-Sat Feb 24 03:35:48 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmllint.[c1] : added return code errors for xmllint
-	* xpath.c: specific debug dump function for result value trees
-
-Thu Feb 22 07:52:27 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: finally implemented xmlXPathCompareNodeSets
-	* test/XPath/expr/floats results/XPath/expr/floats: added 
-	  a test for float expressions
-
-Tue Feb 20 18:57:54 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed xmlNodeGetContent, it was not recursing on child
-	* parserInternals.[ch]: trying to speed up parsing
-	* xpath.c : speeded up node set equality op
-
-Mon Feb 19 19:01:57 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am valid.c list.[ch]: Gary Pennington provided a
-	  better handling of ID/IDREF and the list modules associated
-	* configure.in: small CFLAGS cleanup
-
-Mon Feb 19 16:13:22 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: fixed iconv detection on AIX (stric)
-
-Mon Feb 19 10:59:41 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed "*" (unbelievable !) and a couple of warnings
-
-Sun Feb 18 17:52:37 MET 2001 Bjorn Reese <breese at users.sourceforge.net>
-
-	* xpath.c: fixed whitespace handling in xmlXPathStringEvalNumber,
-	  and optimized xmlXPathNodeSetSort
-
-Sat Feb 17 14:18:42 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: bug fix when context size is 0
-	* parser.c: I like Norm's Dtd because they still manage to break
-	  the parser occasionally
-
-Fri Feb 16 14:20:35 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: xmlXPathEqualNodeSetFloat the arg is really a double now
-
-Fri Feb 16 01:10:06 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.[ch] parser.c xpath.c: fixed the problem of addressing
-	  attributes within the XML-1.0 namespace
-
-Thu Feb 15 16:53:20 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpathInternals.h: exported a few axis functions
-	* doc/xml.html: updated the doc
-
-Thu Feb 15 15:57:14 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: applied patch from Daniel van Balen for OpenBSD
-	  and bumped version to 2.3.1
-	* HTMLtree.c result/HTML/doc3.htm result/HTML/wired.html: the
-	  attempt to find autoclosing was simply broken, removed it,
-	  updated the examples, this is better
-
-Wed Feb 14 11:35:39 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* hash.[ch]: added Paolo Casarini patch to provide Delete from
-	  hash functionnalities.
-	* doc/html/* : rebuild the doc
-
-Tue Feb 13 18:01:48 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c result/XPath/tests/chaptersprefol: bugfixes on order and
-	  on predicate
-	* HTMLparser.[ch] HTMLtree.c result/HTML/doc3.htm.err
-	  result/HTML/doc3.htm.sax result/HTML/wired.html: sometimes one
-	  really want to have tags closed on output even if we accept
-	  unclosed ones on input
-
-Mon Feb 12 18:33:20 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: ouch don't free NULL, rare case fixed
-	* tree.c: don't coalesce text nodes if they don't have the
-	  same behaviour wrt escaping on output
-
-Sun Feb 11 21:15:41 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: small fixup
-	* SAX.c: don't warn on empty namespaces.
-
-Thu Feb  8 11:28:58 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* README: a bit of cleanup
-	* configure.in: preparing for 2.3.0 release
-
-Thu Feb  8 10:37:00 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* hash.[ch]: added a first version of xmlHashSize()
-	* valid.c: another bug fix from Gary Pennington
-
-Wed Feb  7 19:22:37 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: couple of bug fixes pointed by Gary Pennington
-	* HTMLtree.c: #if 0 cleanup
-
-Tue Feb  6 14:02:56 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: started profiling XSLT, added xmlXPathNodeSetAddUnique()
-	  which removes a time consuming check of xmlXPathNodeSetAdd()
-	  and use it in places where we are sure to not break unicity
-
-Mon Feb  5 18:51:36 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: bug fixes found from XSLT
-	* tree.c: preserve node->name special values when copying nodes.
-	* parserInternals.[ch] parser.[ch] SAX.c : added a mode where
-	  external subset are fetched when available but without full
-	  validation. Added xmlLoadExtDtdDefaultValue, need a function.
-	* HTMLtree.c: add support for xmlStringTextNoenc for XSLt HTML
-	  output with encoding disabled.
-
-Sat Feb  3 09:50:29 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmliO.c: Harry Blundell pointed out that xmlCheckFilename
-	  xmlCheckFilename should not be called from xmlFileOpenW
-	  and xmlGzfileOpenW
-
-Fri Feb  2 18:04:35 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* uri.c: rewrite of xmlNormalizeURIPath from Paul D. Smith
-	* test/URI/smith.uri result/URI/smith.uri Makefile.am:
-	  added the new tests for URI normalization
-	* testURI.c: fixed stoopid bugs
-	* result/VC/OneID3 result/VC/UniqueElementTypeDeclaration:
-	  the URI in the error messages are now properly normalized
-
-Fri Feb  2 09:18:53 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* uri.c: applied Marc Sanfacon's patch for xmlNormalizeURIPath
-
-Thu Feb  1 05:28:55 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed a number of problems in XPATH_XSLT_TREE processing
-
-Wed Jan 31 21:45:37 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed mod operator
-
-Wed Jan 31 16:50:42 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixed xmlStrcat doc
-	* tree.c: 2 fixes form Anders Carlson for copying nodes and
-	  trees.
-
-Wed Jan 31 14:19:16 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c result/XPath/tests/chaptersbase
-	  result/XPath/tests/simplebase: fixed XPath node() 
-	* tree.c: small fix in xmlNewNs()
-	* Makefile.am: removed extraneous xml2Conf.sh rule
-
-Sun Jan 28 08:37:03 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am configure.in libxml.spec.in example/Makefile.am:
-	  Changed the library name, in order to get libxml-devel and
-	  libxml2-devel to coexist on a single system
-	* xml-config.1 xml-config.in xmlConf.sh.in: renamed
-	* xml2-config.1 xml2-config.in xml2Conf.sh.in: new files
-
-Sat Jan 27 19:58:22 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am configure.in libxml-2.0.pc.in: started working on getting
-	  libxml2-devel installable in // as libxml-devel.
-
-Sat Jan 27 18:49:02 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/Makefile.am: fixed make rebuild in doc
-	* doc/html/*.html: rebuilt the docs
-
-Fri Jan 26 10:30:58 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: patch from Bjorn Reese on xmlBufferCCat
-
-Thu Jan 25 19:22:25 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am doc/Makefile.am libxml.spec.in: painful work to get
-	  the HTML doc to go into the -devel RPM ...
-	* aclocal.m4 config.h.in: some updates due to auto* magic
-
-Thu Jan 25 19:11:49 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.h: added a hook in the context structure allowing to
-	  link to extra support, needed for XSLT
-
-Thu Jan 25 13:34:11 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.[ch] xpointer.c: added xmlXPathCmpNodes, changed
-	  xmlXPtrCmpPoints to use it.
-	* propagated the following patch from Alejandro Forero
-	* include/win32config.h xmlIO.c: applied further suggestions
-	  from Igor Zlatkovic <igorz at dialup.nacamar.de> and cleanup
-	* example/gjobread.c: fixed warnings, now that it builds
-
-Wed Jan 24 20:27:28 COT 2001 Alejandro Forero <bachue at bachue.com>
-
-        * xmlIO.c (xmlFileOpen, xmlFileOpenW): Removed unnecesary checks.
-
-        * xmlIO.c (xmlCheckFilename): Function added to know whether a given
-          filename points to a valid file (not a directory).
-        * xmlIO.c (xmlFileOpen, xmlFileOpenW, xmlGzfileOpen, xmlGzfileOpenW):
-          Added calls to xmlCheckFilenameDir.
-
-        * xmlIO.c (xmlGzfileOpen, xmlGzfileOpenW, xmlFdOpen, xmlFdOpenW): Pass
-          `path' (rather than `filename') as the parameter to gzopen and open.
-
-Tue Jan 23 16:26:30 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: fixed a problem with EXTRA_DIST
-
-Mon Jan 22 23:42:17 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am example/Makefile.am: finally found the trick
-	  to build the example, i.e. add "." in SUBDIRS before example
-	  in the list <grin/>
-
-Mon Jan 22 16:30:37 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/xml.html: updated with an XSLT section, removed pointer to
-	  W3C CVS base.
-
-Mon Jan 22 11:43:21 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: when copying a XSLT tree object teh tree need to be copied
-	  too, and deallocation need to occur the same way.
-
-Mon Jan 22 10:35:40 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpathInternals.h xpath.[ch] debugXML.c: added the XPATH_XSLT_TREE
-	  type correponding to an XSLT result tree fragment. Share most
-	  of the data format with node set, as well as operators.
-	* HTMLtree.c: added a newline at the end of the doctype output
-	  whe this one is not present initially.
-	* tree.c: make sure taht the parent and doc pointers are properly
-	  set when copying attributes (lists).
-
-Sun Jan 21 10:47:38 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* htmlTree.[ch] xmlIO.h: exported htmlDocContentDumpOutput
-
-Fri Jan 19 18:15:50 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: seems I finally killed that ugly path evaluation
-	  context bug (tagged 9999 in case is is wrong)
-
-Fri Jan 19 06:30:38 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.[ch] xpathInternals.h: added xmlXPathRegisterVariableLookup()
-	  for XSLT
-
-Thu Jan 18 16:19:47 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlIO.c: Gary Pennington <Gary.Pennington at uk.sun.com> fix
-	  for xmlGzfileOpen() bug
-
-Thu Jan 18 13:11:50 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: removed an error found by XSLT usage
-	* tree.c parserInternals.h: use a predefined static string
-	  for text and comment nodes, avoid freeing them in xmlFreeNode,
-	  exported the string name in parserInternals.h and added
-	  another value to disable encoding at output (for XSLT),
-	  gain memory, time.
-
-Wed Jan 17 09:15:16 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* win32/README.MSDev win32/libxml2/libxml2_a.dsp
-	  win32/libxml2/libxml2_so.dsp: new makefiles and update
-	  provided by Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-Tue Jan 16 18:24:46 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c : xmlSaveFile, xmlSaveFileEnc, applied patch from 
-	  Gary Pennington
-
-Mon Jan 15 20:24:18 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed the comaprision of values and nodelists,
-	  need to compare nodelist still ...
-	* debugXML.c: avoided a possible core dump
-	* HTMLparser.c: cleanup
-	* nanohttp.c: contributed fix.
-	* tree.c: fixes in properties handling added xmlSetNsProp
-	  needed by libxslt
-	* xpathInternals.h: exported xmlXPathBooleanFunction, added a 
-	  comment
-	* TODO: updated
-
-Sat Jan  6 22:05:09 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c parserInternals.c: applied Bjorn Reese optimization
-	  patch
-
-Sat Jan  6 19:13:27 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: applied patch fro make check from Martin Vidner
-
-Thu Jan  4 19:07:49 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: preparing 2.2.11
-	* doc/html/*: rebuild the HTML files
-	* doc/xml.html : updated
-
-Thu Jan  4 14:09:58 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed a stupid bug
-	* valid.c: applied "Paul D. Smith" <pausmith at nortelnetworks.com>
-	  patches related to validation of an XInclude processing result
-	* TODO: updated
-
-Thu Jan  4 11:46:40 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* encoding.c xmlIO.c: Fixing the problem reported by Marc Sanfacon
-	  on large files
-
-Wed Jan  3 21:51:13 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlIO.c: fixed xmlParserInputBufferCreateMem doc
-
-Wed Jan  3 18:56:00 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: htmlCheckParagraph to check htmlOmittedDefaultValue,
-	  reported by Jonas Borgström
-	* nanohttp.c: Applied Bjorn Reese' IPV6 first patch
-
-Wed Jan  3 16:19:39 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* testXPath.c xpath.c: fixing the XPath union expressions problem
-	  reported by  Martin Vidner <martin at artax.karlin.mff.cuni.cz>
-
-Wed Jan  3 14:22:33 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmllint.c: Made is so if the file name is "-" is will read form
-	  standard input. Sven Heinicke  <sven at zen.org>
-	* tree.c: fixed a problem when growing buffer
-	* tree.h: fixed the comment of the node types following andersca
-	  comment
-	* TODO: updated
-
-Wed Dec 27 12:35:49 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.[ch]: added a way to avoid adding automatically
-	  omitted tags. htmlHandleOmittedElem() allows to change the
-	  default handling.
-	* tree.[ch] xmllint.c: added xmlDocDumpFormatMemory() and 
-	  xmlDocDumpFormatMemoryEnc(), uses memory functions for output
-	  of xmllint too when using --memory flag, added a memory test
-	  suite at the Makefile level.
-	* xpathInternals.h xpath.[ch] xpointer.c: fixed problems
-	  with namespace use when encountering QNames in XPath evalation,
-	  added xmlns() scheme in XPointer.
-	* nanoftp.c : incorporated a fix
-	* parser.c xmlIO.c: fixed problems raised with encoding when using
-	  the memory I/O
-	* parserInternals.c: closed bug 25934 reported by 
-	  torsten.landschoff at innominate.de
-	* TODO: updated
-
-Sat Nov 25 11:46:27 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in doc/html/* doc/xml.html: made a 2.2.9 release
-	  on a non-updated tree :-(, made a 2.2.10 release to correct the
-	  situation
-
-Sat Nov 25 10:41:37 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanohttp.c parser.[ch] tree.[ch] xmlIO.[ch] xmllint.c xpath.c
-	  parserInternals.h vms/build_libxml.com vms/config.vms Makefile.am:
-	  integrated a set of OpenVMS changes from Howard Taylor
-	  <Howard.Taylor at pacoast.com>
-
-Sat Nov 25 01:21:01 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch] xmlIO.c: added xmlDocDumpMemoryEnc() from John Kroll
-	* error.c: applied fix suggested by "Leo Davidson" <leo at ox.compsoc.net>
-
-Sat Nov 25 00:24:49 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: some fixes on auto-open of html/head/body
-	* encoding.c: fixed a compilation error on some gcc env
-	* xpath.c xpointer.[ch] xpathInternals.h: improved the
-	  XPointer implementation
-	* test/XPath/xptr/strpoint test/XPath/xptr/strrange3: added
-	  related XPointer tests and associated results
-
-Fri Nov 24 14:01:44 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xmldtd.html doc/xml.html: following a short step by step
-	  guidance on IRC to help maciej with DTDs I started a small
-	  page on the subject.
-
-Fri Nov 17 17:28:06 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: fixed handling of broken charrefs
-	* xmlmemory.h libxml2.dsp include/win32config.h: reporting Windows
-	  patches
-
-Mon Nov 13 19:17:20 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html doc/html/* : rebuilt the docs after adding
-	  xinclude and updated page for 2.2.7 and 2.2.8
-	* configure.in: releasing 2.2.8
-
-Mon Nov 13 12:39:38 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.[ch] parserInternals.c: applied the conditional
-	  section processing fix from Jonathan P Springer
-	  <jonathan.springer2 at gte.net>
-	* xmlversion.h.in win32/libxml2/libxml2.dsp : Updated MS
-	  project file, fixed iconv default non support
-	* xpath.c: fixed the problem of evaluating relative expressions
-	  when a node context is provided.
-
-Sun Nov 12 16:31:19 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c: fixed gcc 2.95 new warnings
-	* SAX.c: fixed a stupid bug
-	* tree.c: fixed a formatting problem when round-tripping
-	  from/to memory
-	* xinclude.c: chased memleak, fixed a base problem
-	* xpointer.c: added xmlXPtrBuildRangeNodeList(), finished ? 
-	  xmlXPtrBuildNodeList()
-	* TODO: updated
-	* Makefile.am test/XInclude/docs test/XInclude/ents result/XInclude:
-	  adding a first small set of regression tests for XInclude
-
-Tue Nov  7 15:11:34 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanohttp.[ch]: applied Wayne Davison patches to access
-	  the WWW-Authorization header.
-	* parser.c: Closed Bug#30847: Problems when switching encoding
-	  in short files by applying Simon Berg's patch.
-	* valid.c: fixed a validation problem
-	* hash.c parser.h parserInternals.h testHTML.c testSAX.c tree.h
-	  xmlerror.h xmlmemory.h xmlversion.h.in: applied a DLL patch from
-	  Wayne Davison
-	* xpointer.[ch]: added first version of xmlXPtrBuildNodeList()
-	  need to be extended to non full nodes selections.
-	* xinclude.c: starts to work decently
-
-Mon Nov  6 17:22:46 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch] xinclude.[ch] xmllint.c configure.in valid.c
-	  debugXML.c xmlversion.h.in: Started adding XInclude support,
-	  this is a new xmllint option
-	* tree.c xpath.c: applied TOM patches for XPath
-	* xpointer.c: fixed a couple of errors.
-	* uri.c: added an escaping function needed for xinclude
-	* testXPath.c hash.c HTMLtree.c: minor cleanups raised by
-	  new warning from RH70 gcc's version
-
-Tue Oct 31 14:14:13 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: fixed loop on invalid char in scripts
-	* parser.c: update to description of xmlIOParseDTD()
-	* libxml.m4 xmlversion.h.in: changes contributed by
-	  Michael Schmeing <m.schmeing at internet-factory.de>
-	* configure.in: preparing for 2.2.7
-	* Makefile.am: trying to avoid  config.h and acconfig.h
-	  being included in the distrib
-	* configure.in: released 2.2.7
-
-Mon Oct 30 17:08:10 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch] debugXML.c parserInternals.c xpath.c: Deprecated Pi's
-	  like namespaces for good. Unified xmlNs and xmlNode somewhat.
-
-Mon Oct 30 16:26:49 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.[ch]: added xmlIOParseDTD()
-	* xpointer.c: added support for the 2 extra parameters of
-	  string-range, fixed a stoopid error when '0' was present
-	  in XPointer expressions
-	* test/XPath/xptr/strrange2 result/XPath/xptr/strrange2: added
-	  testsuite for the above
-
-Mon Oct 30 10:26:43 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* libxml.spec.in: improved package descriptions
-
-Sun Oct 29 19:03:11 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c xpathInternals.h: applied a large cleaning patch
-	  from TOM <ptittom at free.fr>, it also add namespace support
-	  for function and variables registration.
-
-Sun Oct 29 18:51:46 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* uri.c: Wayne Davison's patch fixing xmlBuildURI()
-	* Makefile.mingw: Wayne Davison's update adding hash.c
-
-Sun Oct 29 18:38:12 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c: fixed the root evaluation problems
-	* HTMLparser.c result/HTML/doc3.htm: fixed the problem of non
-	  ignorable spaces with <b> <bold> <em>
-	* tree.c: fixed a loop in xmlSearchNsByHref()
-
-Fri Oct 27 18:57:32 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c: applied another XPath patch from TOM 
-	* xpath.c include/makefile.am: applied another patch from 
-	  china at thewrittenword.com (cleanup on IRIX).
-
-Fri Oct 27 13:45:28 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xml-config.1: received a fixed version from Fredrik Hallenberg
-	  <hallon at lysator.liu.se>
-
-Thu Oct 26 16:05:25 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c textXPath.c xpathInternals.h: applied TOM <ptittom at free.fr>
-	  cleanup patch for XPath
-
-Wed Oct 25 21:31:10 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* patched to redirrect all "out of context" error messages to
-	  a reconfigurable routine. The changes are:
-	* xmlerror.h : added the export of an error context type (void *)
-	  an error handler type xmlGenericErrorFunc there is an interface
-	  xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
-	  to reset the error handling routine and its argument
-	  (by default it's equivalent to respectively fprintf and stderr.
-        * all the c files: all wild accesses to stderr or stdout within
-	  the library have been replaced to calls to the handler.
-
-Wed Oct 25 15:27:19 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: release 2.2.6
-	* xpath.[ch] xpointer.c xpathInternals.h: added xpathInternals.h
-	  exporting the inner functions of xpath for extension modules
-	* doc/*: updated and rebuilt the doc
-
-Wed Oct 25 12:48:55 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanohttp.c : applied Wayne HTTP cleanup patch
-	* tree.[ch]: applied TOM <ptittom at free.fr> for xmlNodeSetBase()
-	  and xmlNodeSetSpacePreserve()
-
-Wed Oct 25 12:11:03 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c: closing bug #29260
-
-Tue Oct 24 18:49:34 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* hash.[ch] debugXML.c: expanded/enhanced the API, added
-	  multikey tuples, made hash structure opaque
-	* valid.[ch]: moved elements, attributes, notations decalarations
-	  as well as ID and refs to hash tables.
-	* entities.c: hash cleanup
-	* xmlmemory.c: fixed a dump problem in debug mode
-	* include/Makefile.am: problem passing in DESTDIR= values patch
-	  from Marc Christensen <marc at calderasystems.com>
-	* nanohttp.c: removed debugging remains
-	* HTMLparser.c: the bogus tag should be ignored (Wayne)
-	* HTMLparser.c parser.c: fixing a number of problems with the
-	  macros in the *parser.c files (Wayne).
-	* HTMLparser.c: close the previous option when opening a new one
-	  (Marc Sanfacon).
-	* result/HTML/*: updated the HTML results accordingly
-
-Sun Oct 22 18:39:19 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* entities.[ch] xpath.[ch] hash.[ch] debugXML.c tree.h: added/hacked
-	  hash tables from Bjorn Reese <breese at mail1.stofanet.dk>. Switched
-	  XPath functions and XML entities table to them. More to come...
-	* xmlIO.c: fixed libxml closing FILEs it didn't open.
-
-Sun Oct 22 13:59:50 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: coalesce adjacent text nodes
-	* valid.c: handling of blank nodes in DTd validation (raised
-	  by problems with a posteriori validation).
-	* nanohttp.c: changing behaviour on HTTP write stuff.
-	* HTMLtree.c: forced body and html to be explicitely closed.
-	* xpath.h: exported more XPath functions.
-
-Sun Oct 15 22:28:32 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-        * Release of 2.2.5
-	* xpointer.c: range() range-inside and other helper functions
-	* parserInternals.c: fixed perf problem raised by rolf at pointsman.de
-
-Sun Oct 15 16:21:27 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* SAX.c: HTML attributes need normalization too (Bjorn Reese)
-	* HTMLparser.[ch]: addded htmlIsScriptAttribute()
-
-Sun Oct 15 13:18:36 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/*: rebuilt docs preparing for 2.2.5 release, added URI
-	  and XPointer modules
-
-Sun Oct 15 12:13:30 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* SAX.h: closed #25107
-
-Sun Oct 15 12:06:16 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* testSAX.c: fixed problem with cdata reporting
-	* SAXresult/* : updated
-
-Sun Oct 15 12:00:24 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c test/wap.xml result/noent/wap.xml result/wap.xml:
-	  Closed bug #27499, added to regression tests
-	* TODO: updated
-
-Sun Oct 15 01:34:37 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c HTMLtree.[ch] SAX.c testHTML.c tree.c: fixed HTML
-	  support for SCRIPT and STYLE with help from Bjorn Reese
-	* test/HTML/* result/HTML/*: added simple testcase and updated
-	  the existing ones.
-	  
-Fri Oct 13 18:24:31 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c xpointer.c: XPointer reorder of ranges start/end and
-	  string-range for empty strings
-	* test/XPath/docs/str test/XPath/xptr/chaptersrange
-	  test/XPath/xptr/strrange: augmented the XPointer testsuite
-
-Fri Oct 13 12:21:48 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html doc/xmlmem.html: added a module describing memory
-	  interfaces and use, updated the main page.
-
-Fri Oct 13 01:23:48 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c nanohttp.c xmlIO.c: Wayne Davison Win32 patch
-	  nanoftp code work on Windows too now
-
-Fri Oct 13 00:54:37 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* testXPath.c xpath.[ch]: moved some debug functions to xpath core
-	* xpointer.c: implemented string-range() at least a good first version
-	* test/XPath/docs/str test/XPath/xptr/strrange
-	  result/XPath/xptr/strrange: the string-range() tests
-
-Thu Oct 12 10:02:59 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Makefile.am include/Makefile.am include/win32config.h
-	  win32/Makefile.mingw: fixed problems reported by Wayne Davison
-	  and make distcheck
-
-Thu Oct 12 01:44:08 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanohttp.c: added xmlNanoHTTPTimeout(int delay), removed a bug
-	  xmlNanoHTTPMethod on input MimeType Tony Lam <Tony.Lam at eng.sun.com>
-	* xpointer.c: slight extension of xmlXPtrLocationSetMerge
-
-Thu Oct 12 01:37:53 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* config.h.in configure.in nanoftp.c nanohttp.c xmlversion.h.in :
-	  patch for socklen_t detection by
-	  Albert Chin-A-Young <china at thewrittenword.com>
-
-Wed Oct 11 17:53:57 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c valid.c xmllint.c: Fixed a few postvalidation bugs
-	  and added a --dtdvalid option to xmllint used to test it
-
-Wed Oct 11 15:01:29 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xml-config.1 Makefile.am libxml.spec.in: adding a man page for
-	  xml-config by Fredrik Hallenberg <hallon at lysator.liu.se>
-
-Wed Oct 11 12:41:30 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.[ch] xpointer.[ch]: worked on XPath functions and variable
-	  handlings (registration, lookup, cleanup)
-
-Wed Oct 11 01:46:44 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in Makefile.am include/makefile.am: adding XPointer
-	  and XPtrtests target
-	* xpointer.[ch] : new files for XPointer support
-	* test/XPath/xptr result/XPath/xptr: added XPointer testsuite and
-	  more XPath tests
-
-Wed Oct 11 01:23:25 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: fixed, very broken, make distcheck works again
-
-Wed Oct 11 02:53:10 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* More work toward 2.2.5, integrated a number of patches
-	* configure.in Makefile.am win32config.h.in: trying to cleanup
-	  make distcheck .... huh ...
-	* include/Makefile.am include/win32config.h: new directory
-	  for includes
-	* win32/Makefile.mingw win32/README.MSDev win32/libxml2/libxml2.dsp
-	  updated teh makefiles and instructions for WIN32
-	* xpath.c: small fixes
-	* test/XPath/ results/XPath: updated the testcases and results
-	* HTMLparser.c nanohttp.c testXPath.c: incorporated provided or
-	  suggested patches
-	* valid.c: fixed an ID bug
-
-Mon Oct  9 14:28:56 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* moved xml-error.h to xmlerror.h: seems this allowed to bypass
-	  the automake bug where wrong dependencies were generated.
-	* xpath.[ch]: worked on XPointer
-
-Fri Oct  6 12:58:04 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in Makefile.am: 2.2.5, ship the include in an
-	  include/libxml subdirectory, use symlinks when using CVS
-	* testSAX.c: fixed small bug
-	* testXPath.c: changed the way testfiles are parsed
-	* debugXML.c: same kind of cleanup when parsing an argument expression
-	  XPath/XPointers can have blanks embedded
-	* xpath.[ch]: more cleanup, reorgs for XPointer work
-	* parserInternals.c parser.c HTMLparser.c: fixed wrong include
-	* win32/README.MSDev win32/libxml2/libxml2.dsp: Windows stuff
-
-Thu Oct  5 18:13:15 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* debugXML.c testXPath.c xpath.[ch]: got pissed by some nastyness
-	  in the XPath engine, rewrote large parts of it, now it's far
-	  cleaner and in sync with the REC not an old WD. Fixed a parsing
-	  problem in the interactive XML shell found when testing XPath.
-
-Wed Oct  4 15:25:53 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* debugXML.c testXPath.c xpath.[ch]: More work on XPath/Xpointer,
-	  incorporated "(TOM)" <ptittom at free.fr> patches rebuilt the XPath
-	  examples with the extra test
-
-Wed Oct  4 14:39:01 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c xmlIO.c xmlIO.h: fixed bug 26650, and improved
-	  the global init function.
-
-Tue Oct  3 11:28:52 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: Doohhh, attribute name parsing was still case
-	  sensitive ! Fixed this ...
-	* result/HTML/* : updated the tests results accordingly
-
-Mon Oct  2 23:47:32 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.[ch] debugXML.c testXPath.c: fixed the XPath evaluation
-	  engine, should be far more stable, incorporated a new version of
-	  preceding/following axis, need testing
-        * uri.c: fixed file:///c:/a/b/c problem
-	* test/XPath/tests/idsimple: augmented the XPath tests
-
-Sun Oct  1 22:33:00 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/* rebuilding docs for 2.2.4 release
-
-Sun Oct  1 22:16:33 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: releasing 2.2.4
-	* parser.[ch]: added xmlStrEqual()
-	* HTMLparser.c HTMLtree.c SAX.c debugXML.c entities.c parser.c
-	  tree.c valid.c xlink.c xpath.c: converted all !xmlStrcmp to
-	  use xmlStrEqual instead
-	* TODO: updated
-	* added an XPath test
-
-Sun Oct  1 20:19:39 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: fixed htmlStartCloseIndexinitialized init
-	* entities.h: exported xmlInitializePredefinedEntities
-	* parser.[ch] : added xmlInitParser()
-	* parserInternals.h : had to export htmlInitAutoClose()
-
-Sun Oct  1 16:28:22 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.[ch] : fixed some serious XPath Predicate evaluation
-	  problems
-	* Makefile.am : added XPath regression tests to normal tests
-	* uri.c: fixed a problem with local paths, cleanup
-	* parser.c: fixed a problem with large CData sections
-
-Sat Sep 30 16:35:54 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in xml-config.in: patch from "Ben Taylor"
-	  <sol7x86 at hotmail.com> for solaris shared libs lookup
-
-2000-09-30  Martin Baulig  <baulig at suse.de>
-
-	* libxml-2.0.pc.in: Provide pkg-config script.
-
-	* configure.in: Create the libxml-2.0.pc script from the
-	libxml-2.0.pc.in templates.
-	* Makefile.am (pkgconfig_DATA): Install the libxml-2.0.pc
-	script in `$(libdir)/pkgconfig'.
-
-Mon Sep 25 16:23:41 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c parser.c tree.c tree.h: Avoiding a few warning
-	  when compiling with MSC
-
-Sun Sep 24 20:32:52 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c: patch for normalize-string() substring-before(),
-	  substring-after() and translate() functions from Bjorn Reese
-	  <breese at mail1.stofanet.dk>
-	* libxml.m4 Makefile.am: added libxml.m4 from Debian ?
-	  Fredrik Hallenberg <hallon at lysator.liu.se>
-	* TODO: updated
-
-Sun Sep 24 10:00:49 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlversion.h.in nanoftp.c nanohttp.c: traying to work out the
-	  problem of socklen_t being undefined on a number of platforms
-	* debugXML.c: fixed a compilation problem when without snprintf
-
-Sat Sep 23 12:19:45 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c uri.c: Another patch from Wayne Davison, correcting
-	  an URI bug and a fix for the control-character-induced infinite loop
-	* nanohttp.c: preventive fix for compiling on WIN32
-
-Fri Sep 22 18:06:08 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlint.c: closing bug #25000
-
-Fri Sep 22 14:17:53 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlIO.h tree.h: made xmlNodeDump() and xmlNodeDumpOutput() public
-	* parser.[ch] nanohttp.c HTMLtree.c HTMLparser.c tree.c: applied and
-	  modified slightly Wayne Davison patch adding xmlStrcasecmp and
-	  related function, fixing xmlStrncmp(), and associated cleanup
-	* result/HTML/entities.html.sax: updating result
-
-Tue Sep 19 14:20:10 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* uri.c: applied patch for URI escaping from Wayne Davison
-	  <wayned at blorf.net>
-	* tree.c parserInternals.c HTMLparser.c: memset checks patches
-	  from Denis Barbier <barbier at imacs.polytechnique.fr>
-	* HTMLparser.c: UTF8 characters in HTML tag-attribute values
-	  patch from Wayne Davison
-
-Sun Sep 17 18:37:03 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html : updated with new releases, adding "how to help"
-
-Sun Sep 17 17:58:37 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* SAX.c debugXML.c parser.c parserInternals.c tree.c valid.c xpath.c:
-	  removed a few warnings in pedantic mode ...
-	* parserInternals.c parser.c: moved encoding switching function
-	  to parserInternals.c
-	* configure.in, doc/Makefile.am libxml.spec.in: released 2.2.3
-
-Sat Sep 16 20:12:41 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c parser.c: set ctxt->errNo before calling the
-	  error or warning handlers
-
-Wed Sep 13 22:03:18 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parserInternals.c parserInternals.h parser.c Makefile.am:
-	  created a new module parserInternals.c, moved most of the
-	  code shared by the various parsers there, as well as
-	  deprecated  code from parser.c. More cleanup of parser.c
-	* uri.c: fixed a problem when URI is NULL
-	* valid.c: speedup when looking for an attribute declaration
-
-Sun Sep 10 17:53:48 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* uri.c tree.c SAX.c parser.c entities.c debugXML.c: finished
-	  the cleanup of the computation of URI references when seeking
-	  external entities. The URI reference string and the resulting
-	  URI are both stored now.
-	* parser.c HTMLparser.c valid.c nanoftp.c nanohttp.c xpath.c:
-	  large s(n)printf checks and cleanup from Denis Barbier
-	  <barbier at imacs.polytechnique.fr>
-	* xmlversion.h.in tree.h: couple of SGML declarations for a
-	  possible docbook module.
-	* result/VC/ : a couple of test output changed due to the change
-	  of the entities URI
-
-Sun Sep 10 15:59:58 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.h: added a _private field for linking user's data
-
-Sun Sep 10 15:14:43 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c parserInternals.h: demacroified most of the IS_XXX
-	  the gain in size is significant so ...
-
-Fri Sep  8 20:48:29 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* entities.c: cases where looking up entities with doc==NULL
-	  covered
-
-Tue Sep  5 12:41:15 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* uri.c: applied Wayne Davison patch
-	* Makefile.in test/URI/uri.data result/URI/uri.data: updated URI tests
-
-Mon Sep  4 13:01:45 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* uri.c testUri.c: applied Wayne Davison patches
-	* test/URI/uri.data result/URI/uri.data: first set of tests/results
-	* Makefile.in: added URItest and included thenin "make tests"
-
-Sun Sep  3 19:19:29 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlversion.h.in: closed bug 22941
-
-Thu Aug 31 16:55:55 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xmlio.html: added doc and example for entity loader
-	  redefinition.
-
-Thu Aug 31 14:59:28 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xmlio.html doc/xml.html: added a doc on the I/O mechanism
-	  used by libxml
-
-Tue Aug 29 20:22:53 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: Fixed bug on invalid ontent characters and when using
-	  push.
-	* xmllint.c: fixed xmllint endling of errors in push mode
-
-Tue Aug 29 11:24:48 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c testHTML.c: applied two new patches from
-	  Wayne Davison <wayned at users.sourceforge.net>
-	* result/HTML/*.sax: regenerated HTML SAX output
-	* parser.c: more cleanup.
-
-Mon Aug 28 11:58:12 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.[ch] testHTML.c: applied the second set of
-	  patches from Wayne Davison <wayned at users.sourceforge.net>,
-	  adding htmlEncodeEntities()
-	* HTMLparser.c: fixed an ignorable white space detection bug
-	  occuring when parsing with SAX only
-	* result/HTML/*.sax: updated since the output is now HTML
-	  encoded...
-
-Mon Aug 28 00:38:31 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.[ch]: applied some of Wayne Davison
-	  <wayned at users.sourceforge.net> patches
-
-Sun Aug 27 22:14:01 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* SAX.c tree.c debugXML.c: fixed bogus behaviour when an
-	  undeclared namespace prefix was used, added a warning.
-	  Cleaned up support w.r.t. entities, spilling out a warning
-	  and being pedantic on lookups.
-	* test/warning/ent9 : added testcase for previous example.
-	* TODO: updated
-	* parserInternals.h parser.c: changed the way names are parsed
-	  now allow infinite size and decrease penalty for normal use
-	* parser.c: Started a big cleanup/check of the parser code,
-	  fixed some of the most tortuous entity code, spotted code
-	  unused anymore
-	* test/*: added tests for very long names and related nasty
-	  things.
-
-Sat Aug 26 23:31:04 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/encoding.html: added encoding aliases doc
-	* doc/xml.html: updates
-	* encoding.[ch]: added EncodingAliases functions
-	* entities.[ch] valid.[ch] debugXML.c: removed two serious
-	  bottleneck affecting large DTDs like Docbook
-	* parser.[ch] xmllint.c: added a pedantic option, will be
-	  useful
-	* SAX.c: redefinition of entities is reported in pedantic mode
-	* testHTML.c: uninitialized warning from gcc
-	* uri.c: fixed a couple of bugs
-	* TODO: added issue raised by Michael
-
-Wed Aug 23 01:50:51 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/encoding.html: propagated Martin Duerst suggestions
-
-Wed Aug 23 00:23:41 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: Fixed Bug#21552: libxml fails to decode &amp;
-	* uri.c testUri.c patches, by Marc Sanfacon (1 left)
-	* parser.c HTMLparser.c: HTML/encoding push problems reportedi
-	  by Wayne Davison
-
-Sun Aug 20 17:03:38 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c nanohttp.c: small cleanup
-	* TODO: updated
-
-Sat Aug 19 22:57:02 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* added an old VC testcase and updated title.xml entity
-
-Sat Aug 19 21:02:08 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c SAX.c tree.c HTMLtree.h result/HTML/*: work
-	  done on auto-opening of <p> tags and cleanup of SAX output
-
-Sat Aug 19 18:45:40 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* libxml.4  xmllint.1 Makefile.am libxml.spec.in: added man pages
-
-Sat Aug 19 18:38:53 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html libxml.* structure.*: updated the doc a bit
-
-Thu Aug 17 15:50:00 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* testSAX.c testHTML.c result/HTML/: cleanup of the output
-	  of SAX tests
-
-Mon Aug 14 13:56:33 EDT 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Patch from Albert Chin-A-Young <china at thewrittenword.com>:
-	* xmllint.c: workaround a MAP_FAILEd definition bug in DU-4.0
-
-Mon Aug 14 11:10:20 EDT 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Patch from Dave Yearke <yearke at eng.buffalo.edu>:
-	* testHTML.c: fix core dump on Solaris 2.x systems
-	* HTMLparser.c: fix segfault if ctxt->sax->characters() is NULL
-	* result/HTML/*.sax: previous bug fix lead to new results
-
-Mon Aug 14 10:26:09 EDT 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Patch from Albert Chin-A-Young <china at thewrittenword.com>:
-	* configure.in: added --with-readline=DIR to accept alternate
-	  path for readline include/library
-	* configure.in: added AM_C_PROTOTYPES to add -Aa -D_HPUX_SOURCE
-	  for ANSI under HP-UX
-	* config.in: Removed @LIBS@ from xml-config because @XML_LIBS@
-	  includes @LIBS@
-
-Sat Aug 12 23:19:42 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/* : rebuilt the docs
-	* getting ready for 2.2.2 release
-
-Sat Aug 12 16:42:37 EDT 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.[ch]: added xmlGetFeaturesList() xmlGetFeature()
-	  and xmlAddFeature()
-	* tree.[ch]: added xmlAddChildList()
-	* xmllint.c: MAP_FAILED macro test
-	* parser.h: added xmlParseCtxtExternalEntity()
-	* valid.c: applied bug fixes removed warning
-	* tree.c: added CDATA block to elements content
-	* testSAX.c: cleanup of output
-	* testHTML.c: added SAX testing
-	* encoding.c: better error recovery
-	* SAX.c, parser.c: fixed one of the external entity processing
-	  of the OASis testsuite
-	* Makefile.am: added HTML SAX regression tests
-	* configure.in: bumped to 2.2.2
-	* test/HTML/ result/HTML: added a few of HTML tests, and added the
-	  SAX results
-
-Fri Aug  4 11:21:50 PDT 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: patch for HP compiler
-
-2000-08-04  Sven Heinicke  <sven at zen.org>
-
-	* xmllint.c: Was coredumping sometimes when the file given didn't
-	exist.
-
-Sat Jul 22 05:59:05 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c xmlIO.[ch]: fixed the problem of encoding support
-
-	  when using in memory parsing. Need some cleanup.
-	* xmllint.c configure.in: added a --memory flag to test memory
-	  parsing
-	
-Fri Jul 21 17:09:57 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanohttp.c: fixed socklen_t replacement to unsigned int
-	* parser.c: fixed a space handdling missing at the end of
-	  production 28 DOCTYPE.
-	* xmlmemory.c: fixed a stupid bug on the routine to override
-	  allocation functions
-	* TODO: updated
-
-Fri Jul 14 17:01:14 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/ regenerated the docs
-
-Fri Jul 14 16:12:20 MEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/encoding.html doc/xml.html: added I18N doc
-	* encoding.[ch] HTMLtree.[ch] parser.c HTMLparser.c: I18N encoding
-	  improvements, both parser and filters, added ASCII & HTML,
-	  fixed the ISO-Latin-1 one
-	* xmllint.c testHTML.c: added/made visible --encode
-	* debugXML.c : cleanup
-	* most .c files: applied patches due to warning on Windows and
-	  when using Sun Pro cc compiler
-	* xpath.c : cleanup memleaks
-	* nanoftp.c : added a TESTING preprocessor flag for standalong
-	  compile so that people can report bugs more easilly
-	* nanohttp.c : ditched socklen_t which was a portability mess
-	  and replaced it with unsigned int.
-	* tree.[ch]: added xmlHasProp()
-	* TODO: updated
-	* test/ : added more test for entities, NS, encoding, HTML, wap
-	* configure.in: preparing for 2.2.0 release
-
-Mon Jul 10 16:17:18 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c: fixed the way the control connection is handled
-	* libxml.spec.in: fixed the dependencies and cleanup
-
-Mon Jul  3 14:37:07 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html: changed the xmlsoft.org structure, updated the
-	  examples w.r.t. root and childs
-
-Sun Jul  2 20:51:43 MEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* libxml.spec.in: fixed bug #7419, dependencies fouled for libxml-devel
-
-Sun Jul  2 09:52:45 MEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: Work on character encoding support for the HTML parser
-	* HTMLparser.c: Fixed some autoopen/autoclose probs for the HTML parser
-	* encoding.c: Fixed a potential memleak in the encoding stuff
-
-Sat Jul  1 13:44:22 MEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/FAQ.html doc/Makefile.am : added a FAQ
-
-Fri Jun 30 20:29:08 MEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c HTMLtree.c SAX.c valid.c tree.h : more cleanup
-	  of the HTML parser to force it to not bypass SAX
-
-Fri Jun 30 11:19:59 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* win32config.h.in: updated
-	* xmlversion.h.in: crap forgot to update this, this mean 2.1.0
-	  lacks iconv support :-( need to release 2.1.1
-	* configure.in: release 2.1.1
-	* HTMLparser: fixed bug #14784
-	* xpath.c HTMLparser.c encoding.c parser.c: fix warning raised
-	  by Windows compiler
-	* HTMLparser.c SAX.c HTMLtree.h tree.h: create HTML document in
-	  the SAX startDocument() callback.
-	* TODO: updated
-
-Thu Jun 29 12:06:48 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* added xmlStopParser()
-
-Wed Jun 28 23:10:26 MEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: 2.1.0 prerelease
-	* Large resync between W3C and Gnome tree
-	* nanoftp, nanohttp.c: fixed stalled connections probs
-	* HTMLtree.c SAX.c : support for attribute without values in
-	  HTML for andersca
-	* valid.c: Fixed most validation + namespace problems
-	* HTMLparser.c: start document callback for andersca
-	* debugXML.c xpath.c: lots of XPath fixups from Picdar Technology
-	* parser.h, SAX.c: serious speed improvement for large
-	  CDATA blocks
-	* encoding.[ch] xmlIO.[ch]: Improved seriously saving to
-	  different encoding
-	* example/Makefile.am example/gjobread.c tree.h: work on 
-	  libxml1 libxml2 convergence.
-	* config.h.in parser.c xmllint.c: added xmlCheckVersion()
-	  and the LIBXML_TEST_VERSION macro
-
-Fri Jun 23 22:26:07 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html: various patches and improvements typo fixed by
-	  Felix Natter
-	* doc/libxml-doc.el: Emacs module to lookup the libxml documentation
-	  from Felix Natter <fnatter at gmx.net>
-
-Sat May  6 10:09:45 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/upgrade.html: updated with instructions for support of both
-	  libxml-1.x and libxml-2.x
-	* doc/gjobread.c : applied Todd Dukes <tdukes at ibmoto.com> patch
-	  for 2.x support and also fixed includes
-
-
-Wed May  3 14:21:25 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* encoding.[ch], xmlIO.[ch], parser.c, configure.in : revamped
-	  the encoding support, added iconv support, so now libxml if
-	  compiled with iconv automatically support japanese encodings
-	  among others. Work based on initial patch from Yuan-Chen Cheng
-	  I may have broken binary compat in the encoding handler
-	  registration scheme, but that was so utterly broken I don't
-	  expect anybody to have used this feature until now.
-	* parserInternals.h: fixup on the CHAR range macro
-	* xml-error.h, parser.c: catch URL/URI errors using the uri.c
-	  code.
-	* tree.[ch]: added xmlBufferGrow(), was needed for iconv
-	* uri.c: added xmlParseURI() I can't believe I forgot to
-	  implement this one in 2.0 !!!
-	* SAX.c: moved doc->encoding update in the endDocument() call.
-	* TODO: updated.
-
-Mon Apr 24 13:30:13 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.h: removed extraneous xmlRemoveProp definition
-	* TODO: added item about --disable-corba configure switch
-	* tree.c parser.c: fixed problems for xmlCopyDoc and postvalidation
-	* nanoftp.c: fixed include problems giving troubles on AIX and 
-	  slowlaris
-	* xmlIO.[ch] valid.h tree.[ch] xlink.c xmlmemory.c uri.c 
-	  parser.c nanoftp.c nanohttp.c SAX.c testSAX.c :
-	  comment and headers changes to lower gtk-doc number of warnings
-	* doc/html/*: rebuilt docs
-
-Sun Apr 16 11:23:29 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HACKING: documented the tag for 1.x and instructions
-
-Wed Apr 12 15:47:22 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlIO.[ch] parser.[ch]: More interfaces for new I/O functions
-	  xmlNewIOInputStream, xmlParserInputBufferCreateIO,
-	  xmlCreateIOParserCtxt
-	* parser.c parserInternals.h: speedup of IS_CHAR like macros,
-	  significant overall improvement
-	* xmllint.c: added I/O test to xmllint
-	* testSAX.c: added a speed test
-	* doc/* : updated/regenerated
-
-Sat Apr  8 14:54:54 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xpath.c uri.h parserInternals.h: cosmetic changes from
-	  "Timur I. Bakeyev" <timur at bat.ru>, including making 
-	  xmlCreateURI() public
-
-Fri Apr  7 18:35:02 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlIO.[ch] parser.c: cleane up the xmlParserInputBuffer mess
-	  and the code at the same time. Added a clean mechanism for
-	  overload or added input methods: xmlRegisterInputCallbacks()
-	* tree.c: fixed xmlPrevSibling and xmlNextSibling per 
-	  Christophe Le Gal (Christophe.Le-Gal at imag.fr) input
-	* TODO: updated
-	* doc/* : updated/regenerated
-	* doc/Makefile.am: tweaks to avoid problem with libxml link in the
-	  source dir
-
-Wed Apr  5 21:11:35 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* testURI.c: yet another forgotten commit, I should get some sleep !
-
-Wed Apr  5 20:36:46 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmllint.c: forgot to commit this too ?
-
-Wed Apr  5 16:22:44 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlversion.h.in : forgot to commit this previously
-
-Mon Apr  3 21:47:10 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: preparing libxml-2.0.0 version looks Ok so far
-	* README TODO: updated for release
-	* uri.c uri.h: added authority parsing/saving
-	* uri.c testURI.c Makefile.am: moved the testing code to testURI.c
-	* xmlversion.h.in configure.in nanoftp.[ch] nanohttp.[ch] encoding.h
-	  debugXML.[ch] xpath.[ch] xmlIO.c tester.c testXPath.c testHTML.c
-	  tree.c HTMLtree.c HTMLparser.c tree.c tree.h parser.c
-	  Makefile.am : added compile-time customization of libxml
-	  --with-ftp --with-http --with-html --with-xpath --with-debug
-	  --with-mem-debug
-	* *.[ch] autoconf.sh : moved to an absolute adressing of includes : 
-	  #include <libxml/xxx.h> I hope it won't break too much stuff
-	  and will be manageable in the future...
-	* xmllint.c Makefile.am libxml.spec.in : renamed tester.c to xmllint.c
-	  and added xmllint to the installed programs
-	* uri.h: added xmlFreeURI()
-	  
-Fri Mar 24 14:35:21 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* uri.c uri.h: finished the escaping handling, the base support
-	  and the URI path normalization. Looks good just lacks the
-	  authority content parsing code.
-	* Makefile.am: added instructions to generate testURI
-	* TODO: updated
-	* doc/xml.html, doc/smallfootonly.gif doc/w3c.png: updated,
-	  added links and icons for W3C and Gnome
-
-Mon Mar 20 14:05:26 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlmemory.[ch] : seems I forgot to actually update the files in
-	  the last commit :-)
-	* doc/xml.html doc/html/* : updated and uploaded the docs
-
-Mon Mar 20 12:33:51 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* test/valid/dtds/xhtml*: removed RCS infos (pain with CVS)
-	* TODO: updated
-	* xmlmemory.[ch] : added xmlMemSetup() and xmlMemGet() to override
-	  libxml default allocation function with another set (like gmalloc/
-	  gfree).
-	* Makefile.am, uri.c, uri.h: added a set of functions to do
-	  exact (litteraly copied from the RFC 2396 productions) parsing
-	  and handling of URI. Will be needed for XLink, one XML WFC, 
-	  XML Base and reused in the nano[ftp/http] modules. Still work
-	  to be done.
-
-Tue Mar 14 20:52:35 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in, libxml.spec.in : libxml2
-	* doc/* : updated the doc page, rebuilt the docs
-
-Tue Mar 14 19:11:29 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* all: tagged LIB_XML_1_X
-	* *.c *.h : updated from W3C CVS tree
-	* configure.in : 2.0.0-beta
-	* libxml.spec.in : libxml2 package nam
-	* result/* : new version of the tests output
-
-Mon Mar  6 09:34:52 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html, doc/update.html: updated docs, 1.8.7
-
-Sat Mar  4 16:14:42 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/* : rebuilt the docs
-	* parser.c: final patch on #6766
-	* valid.c: small patch on validity checks.
-
-Sat Mar  4 12:38:41 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/upgrade.html: instruction on how to upgrade from 1.x to 2.x
-	  added
-	* parser.c: adding xmlKeepBlanksDefault() as a way to manage
-	  compatibility w.r.t. XML spec and existing code.
-
-Thu Mar  2 04:45:15 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: seems a better solution to <a>   </a> exists,
-	  will try it for a while
-
-Thu Mar  2 02:26:13 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: tried to remove the <a>   </a> generating <a/>
-	  this is hard. Left a flag for that purpose. Fixed bug #6766
-	* configure.in: prepared 1.8.7 not released, due to previous
-	  problem
-
-Thu Mar  2 03:03:50 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html : applied second patch from Paul DuBois
-
-Tue Feb 29 23:55:13 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html : applied patch from Paul DuBois
-
-Thu Feb  3 16:36:39 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c HTMLparser.c: do a bit of bufferization in push mode.
-
-Thu Feb  3 15:59:37 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c nanohttp.c tree.c HTMLtree.[ch] debugXML.c xpath.c: Fixed
-	  compilation warnings on various platforms.
-	* parser.c: Fixed #5281 validity error callbacks are now desactived
-	  by default if not validating.
-
-Thu Feb  3 13:46:14 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c, win32config.h.in: patches to compile on WIN32
-
-Wed Feb  2 22:51:16 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c: snprintf/sprintf patch courtesy George Katsirelos
-	  <gkatsi at cs.toronto.edu>
-
-Mon Jan 31 18:58:21 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when
-	  processing URLs
-
-Mon Jan 31 14:25:57 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.[ch]: cleanup, bug fixes, integration in rpmfind, added
-	  xmlNanoFTPUpdateURL for persistent control connections.
-	* configure.in: 1.8.6
-
-Thu Jan 27 17:52:29 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanohttp.[ch], nanoftp.[ch]: cleanup, added proxy support
-	* tree.[ch] : added xmlSaveNoEmptyTags
-
-2000-01-29  James Henstridge <james at daa.com.au>
-
-	* nanoftp.c: include <netinet/in.h> for IPPROTO_TCP.
-
-	* Makefile.am: added nanoftp.[ch] to the build.
-
-Wed Jan 26 18:14:55 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.[ch]: cleanup, comments, API
-	* debugXML.c : fixed a bug in the cat command
-	* doc/*: regenerated the docs
-
-Wed Jan 26 16:52:50 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanoftp.[ch] parser.c xmlIO.[ch]: added a Nano FTP implementation
-	* debugXML.c : fixed a bug in the cat command
-	* valid.c: fixing some small probs
-	* libxml.spec.in: get rid of the SNAP suffix
-	* doc/xml.html: updated the status
-
-Mon Jan 24 14:31:09 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xml-config.in: xml-config --version to just return the
-	  version number
-	* xpath.c: some cleanup w.r.t. axis when the current node is
-	  an attribute.
-	* TODO: updated
-
-Tue Jan 18 18:46:06 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: prepared for libxml-1.8.5
-	* doc/* recompiled the documentation
-
-2000-01-17  Jody Goldberg <jgoldberg at home.com>
-
-	* configure.in : WARNING autoconf subtlety alert :
-	  Use AC_CHECK_HEADERS rather than AC_CHECK_HEADER
-	  when looking for zlib.h so that HAVE_ZLIB_H is defined.
-	* config.h.in : Have a #undef for HAVE_ZLIB_H so that it will
-	  get defined by AC_CHECK_HEADERS.
-
-Mon Jan 17 17:04:12 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: fixed a hideous bug in xmlGetProp() thanks to
-	  Rune.Djurhuus at fast.no
-
-Sat Jan 15 15:09:06 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* TODO: updated
-	* tree.c, parser.c: made sure that only memory alloc problems
-	  and internal parser errors are allowed to write to stdout or
-	  stderr.
-
-Thu Jan 13 11:49:11 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c : restored xmlNewGlobalNs since this seems used by
-	  a lot of existing code :-(, fixed a bug in xmlNewNs
-	* nanohttp.c: fixed a problem with INCLUDE_WINSOCK
-	* HTMLparser.c, parser.c, entities.c, valid.c : removed all calls
-	  to exit() from the library code.
-	* xpath.c, parser.c: removed bugs or unused code detected by 
-	  Windows compilers
-	* parser.c: started adding interfaces for parsing well balanced
-	  XML fragments
-	* configure.in: releasing 1.8.4
-	* doc/* : rebuilt the docs
-
-Sun Jan  9 23:03:20 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch] : added xmlNewDocFragment() for DOM
-	* testHTML.c: uninitialized variable.
-
-Wed Jan  5 17:29:17 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/* : rebuild the docs
-
-Wed Jan  5 17:08:43 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* acconfig.h: readline and history patch
-	* valid.[ch]: added xmlRemoveID() and xmlRemoveRef()
-	* tree.c: added check and handling when possibly removing an ID
-	* tree.c, HTMLparser.h, HTMLtree.h: fixed entities parsing
-	     and saving.
-	* test/HTML/entities.html result/HTML/entities.html* : test for
-	     various entities reference cases
-	* result/HTML/* : as a result output of some testcase have
-	     changed
-	* HTMLparser.c, parser.c: fixed a bug in the push mode triggered
-	     by previous example. added xmlParseTryOrFinish().
-	* xpath.h tree.h parser.h valid.h xmlIO.h xlink.h encoding.h
-	  entities.h debugXML.h HTMLparser.h: changed the way struct are 
-	  declared to allow gtk-doc to expose those
-	* parser.c: closed bug #4960  
-	* Makefile.am configure.in: Applied patch from 
-	  Albert Chin-A-Young <china at thewrittenword.com> for better zlib
-	  and math/socket libs detection
-
-Mon Jan  3 18:29:43 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in, Makefile.am: link tester against readline
-	* doc/xml.html doc/*/*: updated and rebuilt the documentation pages
-
-Mon Jan  3 11:58:05 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch]: added xmlRemoveProp
-	* win32config.h.in nanohttp.c: avoid including the Windows
-	    socket stuff in every C files
-	* parser.c: removed an indetermination xmLDecl/PI(xml...) in
-	    the XmL parser(s)
-	* test/ns4 result/ns4 etc...: added test case for previous prob    
-	* tree.c: xmlNewNs wasn't checking for double definition
-	* Makefile.in: fixed a problem with dist-hook duplicates
-	* parser.[hc], xmlIO.c: fixed the loading of external entities
-	    APIs, now xmlLoadExternalEntity() is used everywhere and
-	    setting up an app specific front-end using the 
-	* SAX.c parser.c: some fixes, now the xhtml spec validates
-	    with the xhtml DTD.
-	* error.c: fixed crashes in case of no input stream    
-	* test/valid/[dtds/]/xhtml* : added the xhtml spec and dtds
-	    to the validation tests and results
-
-Wed Dec 29 15:29:52 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.[ch] testHTML.c: added push mode for the HTML parser
-	  too htmlCreatePushParserCtxt() and htmlParseChunk()
-	* parser.c: a bit of cleanup.
-	* SAX.c, HTMLparser.c: some attributes may not have values (contrary
-	  to XML) removed the last mem leak known
-	* HTMLtree.c: output message cleanup
-	* xmlmemory.c: display content info about memory blocks
-	* result/HTML/wired.* : missing att value warning change
-
-Tue Dec 28 17:42:41 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/* : rebuilt the documentation
-
-Tue Dec 28 18:44:22 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.[ch] parserInternals.h: Push parser for XML,
-	     seems to work fine now
-	* tester.c debugXML.[ch]: Added an XML shell debug facility and
-	     --push for push testing
-	* xpath.[ch] : cleaned up for Shell usage, added missing APIs
-	* testSAX.c: added --push
-	* HTMLtree.[ch] tree.[ch]: new functions for dumping parts of the
-	     subtree
-	* xmlIO.[ch] : enriched API + fixes for push mode     
-	* entities.[ch]: added the entity content length to the struct.
-	* xmlmemory.[ch]: new API to show the last entries for the shell
-	* valid.c: added required attribute testing
-	* SAX.c: the cdata callback now merge contiguous fragments
-	* HTMLparser.c: cleanup of some macros
-
-Wed Dec 22 12:20:53 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: fix for PIs name starting with xml
-	* tree.c: fixed a potential problem with || and && ops
-	* *.c, configure.in win32config.h.in : generate win32config.h for
-	  those on the Other Side !
-
-Tue Dec 21 17:22:17 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: fixed a stupid = vs. == bug :-(
-	* doc/gnome-xml.sgml: s/glade/xml/
-
-Tue Dec 21 14:29:34 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in, doc/xml.html : bug fix release 1.8.2
-	* debugXML.h nanohttp.h xml-error.h xmlmemory.h xpath.h : 
-	  Hopefully the end of that silly C++ include problem
-	* tree.[ch]: Added a few functions: xmlReplaceNode, xmlAddPrevSibling,
-	      xmlAddNextSibling, xmlNodeSetName and xmlDocSetRootElement
-	* HTMLparser.c HTMLparser.h HTMLtree.c: When saving HTML try to avoid 
-	      troubles with autoclosed elements when the stree shape doesn't
-	      follow the DtD specs. Added htmlIsAutoClosed() and
-	      htmlAutoCloseTag()
-	* result/HTML/*.htm*: Updated the HTML examples regression tests output
-	* SAX.c tree.c: fixed bug on defaulting namespaces on attributes
-	* debugXML.c: fixed a bug on printing default namespaces.
-	* HTMLtree.c: fixed a problem when outputing XML parsed docs as HTML
-
-Mon Dec 20 16:20:55 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* result/HTML/*.htm[l] : updated the HTML regression tests according
-	  to the new output
-	* xpath.h xml-error.h valid.h tree.h parser.h entities.h SAX.h
-	  HTMLtree.h tree.c entities.c: headers tweakings to avoid a nasty
-	  problem due to intermix of extern "C" { ... } declarations for C++
-	  and recursive includes in the headers
-
-1999-12-20  Chris Lahey  <clahey at umich.edu>
-
-	* HTMLtree.c: Made it so that html nodes with a single child do
-	not insert a carriage return before or after the child node.
-
-Sat Dec 18 16:07:03 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in, doc/xml.html : bug fix release 1.8.1
-	* parser.c: fixed bug #4344
-	* xpath.h xml-error.h xlink.h nanohttp.h debugXML.h SAX.h HTMLparser.h
-	  added the glue to avoid C++ problems
-	* doc/* : regenerated the documentation
-
-Thu Dec 16 16:19:29 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: fixed a bug introduced in 1.8.0 and breaking default
-	  namespace recognition, and Dia as a resul :-(
-	* encoding.c: closed bug #3950
-
-Wed Dec 15 19:22:23 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* valid.c: debugging a posteriori validation, except URI expansion
-	  stuff this should be fixed now
-	* parserInternals.h: fixed a bug in IS_BASECHAR reported by
-	  Carl Nygard <cnygard at bellatlantic.net>
-	* tester.c: added --postvalid, cleaning of the code
-	* tree.[ch]: added xmlDocGetRootElement()
-	  
-Tue Dec 14 20:30:34 PST 1999 Ramiro Estrugo <ramiro at eazel.com>
-
-	* SAX.h, tree.h : changed 'namespace' to 'nameSpace' to workaround
-	c++ losage.
-
-Sun Dec 12 13:08:15 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in, doc/xml.html : bumped to 1.8.0
-	* xlink.[ch], Makefile.am : added framework for link detection
-	* parser.h: added nbChars to parser context, needed for cleanup.
-	* xmlmemory.c: removed a nasty bug when out of mem
-	* valid.[ch]: adding namespace support for attribute decl
-	* tester.c: added --debugent option
-	* debugXML.[ch]: added xmlDebugDumpEntities()
-	* parser.c: cleanup, avoiding use of CUR_PTR like plague, using
-	  buffers instead, this was really needed, validation was breaking
-	  in strange ways due to that. Added xmlParseStringPEReference()
-	  and other parsing from strings functions. Entities processing
-	  modified again, but PERef are still not handled correcly but
-	  unless you're Eve Maller you won't notice :-)
-	* HTMLparser.c: large changes toward reliability, and switched to
-	  lowercase internal tags, XHTML is lowercase, so it will help
-	  that output is closer to next version.
-	* doc/* : regenerated the documentation, it is now hosted at
-	  http://xmlsoft.org/ (same bits I just bought the domain :-)
-	
-	
-Fri Dec  3 13:46:32 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* SAX.h, SAX.c, makefile.am: added SAX.h mostly useful for the
-	         doc generation
-	* parser.c: fixed bugs #3908 and #3937 and a memory leak
-	         in the SAX API
-	* doc/*: rebuilt the doc making sure everything appears in the
-	         HTML files
-
-Wed Dec  1 10:27:47 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch] HTMLtree.c, debugXML.c, configure.in, xml-config.in:
-	     added the patch from Carl Nygard <cnygard at bellatlantic.net>
-	     which allow impressive speed improvement on dataset with
-	     large text pieces, but at the cost of broken binary
-	     compatibility and slightly bigger memory usage.
-	     Configure with --with-buffers to activate them, they
-	     are protected with XML_USE_BUFFER_CONTENT define.
-	* entities.[ch], parser.c: added xmlCleanupPredefinedEntities(),
-	     goal is 0 memory left allocated once parser is no more used
-	* testDAV.c, testHTML.c, testSAX.c, testXPath.c: make sure we
-	     call xmlCleanupParser() and xmlMemoryDump()
-
-Wed Nov 24 19:00:06 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch] xmlIO.[ch] parser.c valid.c: code cleanup with -pedantic
-	* parser.[ch] encoding.[ch]: added memory cleanup routines
-	* parser.c: closing bug #3788
-	* doc/*: rebuilt the doc
-
-Tue Nov 23 11:23:55 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch]: closing bug 3748, added xmlNewDocRawNode(), 
-	             xmlNewTextChild() and xmlSetCompressMode() behaviour.
-	* tester.c: added --compress option
-	* doc/*: rebuilt the documentation
-
-Fri Nov 19 18:41:28 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: bugfixing, the damn thing MUST not crash even
-	                if given /proc/kcore as input !
-	* doc/xml.html doc/*: updated and rebuilt the documentation
-
-Thu Nov 18 14:57:18 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: Fixed some wrongly space collapsing code due to
-	            a misreading of the spec.
-	* result/*: fixed the output accordingly	    
-
-Wed Nov 17 18:28:06 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* encoding.c: bug fix and typos
-	* xmlIO.[ch] parser.c: first bits toward real progressive parsing
-	* parser.c: added attribute normalization closing bug #3597
-	* test/att* result/att* SAXresult/att*: testcase for attribute
-	    normalization
-
-Mon Nov 15 18:50:56 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: closing bug #3163 by adding extra flags for the
-	                cc compiler on HP-UX
-
-Fri Nov 12 17:41:20 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* valid.[ch] : removed a typo and an enumerated type bug in the
-	               xmlAddElementDecl() function
-	* tree.c : I changed xmlSetProp() and xmlNewProp() to do the
-	    call to xmlEncodeEntitiesReentrant() so that the functions 
-	    New, Set and Get are at the same level.
-	* parser.c HTMLparser.c: extra memory allocation bug for
-	    attributes detected by someone using libxml in embedded systems :-)
-
-Thu Oct 28 17:49:26 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlmemory.h: turned off mem debug :-\
-
-Mon Oct 25 12:13:25 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: closed bug #2784 a one line fix, but worth pushing
-	            a new release out
-        * HTMLparser.c: fixed auto-close bugs on list items, zeroing
-	            some structures, comments before and after the
-		    main element, and other nastyness
-	* HTMLtree.c tree.c: accomodate the extended HTML supported	    
-	* configure.in: pushing 1.7.4
-	* test/ent8 and related outputs : added a new test for bug #2784
-	* test/HTML/wired.html and related output: a nasty HTML example
-	* Makefile.am: improved the test scripts
-	* docs/* : reran the documentation extractor, updated xml.html
-
-Thu Oct 14 10:29:56 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c, HTMLtree.c, tree.h: completely revamped the
-	     HTMLparser and debugged the HTML related code. HTML documents
-	     now have their own type
-	* entities.c: do not dump &apos; for HTML output
-	* xmlmemory.c: improvement, breakpoint mechanism
-	* testHTML.c: added --sax --repeat ...
-	* Makefile.am: improved the HTML tests
-	* valid.[ch]: added xmlValidGetValidElements and
-	              xmlValidGetPotentialChildren
-	* tester.c: added --insert to test the 2 new functions
-	* test//* result//* SAXresult//* : regression test cleanup
-	               and extension.
-	* doc/html : added doc for new modules gnome-xml-xmlmemory.html and
-	             gnome-xml-nanohttp.html
-
-Mon Oct 11 14:31:58 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: fixed problems with some autoclose tags
-	* tree.c: fixed XML output problems. 
-	* result/* SAXresult/*: update of the tests output
-
-Sat Oct  9 11:02:57 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Makefile.am: Arturo patch for xmlConf.sh version info
-	* parser.c: Tim Josling patch for single quoted items
-	* tester.c: Tim Josling patch for tester options usage
-	* tree.h: indent cleanup
-
-Fri Oct  8 16:35:37 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c parser.h : Fixed problems with HTML parsing
-	    reported by Kristian Hogsberg Kristensen <hogsberg at daimi.au.dk>
-
-Fri Oct  8 11:37:11 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c : Raph patch for initialization of CORBA fields
-	* parser.c, xpath.c, ...: modification of doc comments
-	* xpath.c : allow spaces in xpath expressions
-
-Mon Sep 27 10:16:43 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlmemory.h: turning off memory debug :-(
-
-Sun Sep 26 13:16:54 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.[ch] : added xmlSAXUserParseFile() and xmlSAXUserParseMemory()
-	                better SAX interfaces.
-	* testSAX.c: uses the new SAX routine, avoid fetching any remote
-	             entity.
-	* configure.in: 1.7.2
-
-Fri Sep 24 16:01:01 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* libxml.spec.in: fixed the URL
-	* doc/xml.html: improved the documentation front-end
-
-Fri Sep 24 01:06:36 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* nanohttp.c: conditionned references to snprintf with HAVE_SNPRINTF
-
-Fri Sep 24 00:15:58 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* libxml.spec.in: fixed the alpha compile problem
-	* parser.[ch]: changed errno to errNo in the parser context :-(
-	* *.[ch]: changed CHAR to xmlChar to avoid problem on WIN32
-	* doc/xml.html: changed CHAR to xmlChar
-	* doc/html/*: recompiled the documentation
-	* configure.in: 1.7.1
-
-Wed Sep 22 11:40:31 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.h: modified the parser context struct to regain 1.4.0
-	            binary compatibility
-	* parser.c, xml-error.h: added errno ot teh context and defined
-	            a set of errors values with update of errno
-	* nanohttp.[ch]: minimalist HTTP front-end for fetching remote
-	            DTDs and entities
-	* *.h, *.c: complete cleanup of the use of config.h and include
-	            protection depending on the current setup.
-	* overalll debugging, maintenance and bug-fixing on all modules
-	* updated the documentation
-	* ready for 1.7.0
-
-Wed Sep  8 22:46:14 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c : cleanup
-	* SAX.c valid.c valid.h: added ID/IDREF checking
-	* tree.c tree.h: extended doc structure for refs
-	* configure.in: 1.6.2
-	* parser.c: patched bug in SAX user arg call
-	* parserInternals.h: patched missing close in C++ wrapping
-	* testXPath.c xpath.c xpath.h: prepared for extensibility,
-	  especially upcoming XPointer implementation.
-	* doc/xml.html: augmented, typo
-
-Sat Sep  4 22:48:05 CEST 1999 Timur Bakeyev <mc at bat.ru>
-
-	* doc/Makefile.am: replaced "install -d " with "mkinstalldirs" -
-	not all invocations of install understand -d.
-
-Sat Sep  4 22:20:07 CEST 1999 Timur Bakeyev <mc at bat.ru>
-
-	* Makefile.am: prepend all the test* calls with $(top_builddir) -
-	to make 'check' works, when builddir != srcdir.
-
-Sat Sep  4 20:25:46 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* doc/xml.html : updated the documentation
-
-Fri Sep  3 00:01:08 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xmlmemory.[ch] Makefile.am  :added a memory wrapper to chase
-	      not deallocated memory blocks
-	* *.c : replaces all calls to malloc() free() and realloc() to
-	      the wrapper functions/macros
-	* tree.c : removed memory leaks dues to calling xmlFreeNode()
-	      instead of xmlFreeNodeList()
-
-Wed Sep  1 14:15:09 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c: corrected a stupid bug leading to core dump at
-	                tree deallocation. Removed warnings indicated by
-			Stephane.Conversy at lri.fr
-	* entities.c: Fixes Yet Another Stupid Bug, entities were not
-	              looked for in the external subset
-
-Mon Aug 30 13:22:26 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c valid.[ch] xpath.c: patched compilation warnings reported
-	  on SGI by Stephane.Conversy at lri.fr
-
-Sun Aug 29 22:27:29 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* all .h : changed the prototype declaration indent as in gtk
-	* most .c : working on reducing the TODOs in the code
-	* most .c : cleanup though -pedantic and Insure++
-	* improvements on validation ID checkings.
-	* tree.[ch] SAX.c: added support for namespace on attributes #2022
-	* xml-config.in: closed #1810
-
-Mon Aug 16 03:27:38 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.h, valid.c, valid.h: more work on validity, IDs
-	* xpath.c: added/fixed comparidon and equlity, added a new isinf
-	  definition for AIX
-
-Sun Aug 15 21:15:17 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Makefile.am libxml.spec.in: corrected missing xmlConf.sh in
-	  the distribution due to a cut'n paste error at last commit
-
-Tue Aug 10 20:28:09 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: upgraded to version 1.4.0
-	* valid.[ch], SAX.c, parser.[ch] parserInternals.h ...
-	  Big update, added a large part of the validation process,
-	  it should be usable, but some parts are missing
-	* xpath.c: improved the implementation w.r.t. root.
-	* Makefile.am: added more tests
-	* test and result trees: added a lot of tests
-	* libxml.spec.in: export libxml.so.0 and libxml.so.1
-
-Tue Aug 10 11:33:41 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Added an HACKING file
-
-Tue Jul 27 21:43:00 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-        * xpath.[ch] : improvements and debug of the XPath implementation
-        * parser.c, HTMLparser.c : modified the parsers to be progressive
-	* tree.[ch] : extended the Buffer promitives
-	* xmlIO.[ch] : added basic I/O routines providing progressive
-	  parsing and ready for I18N conversion plugins
-	* SAXresult/* : the SAX callback sequence maybe slightly different
-	  now
-	* test*.c : improved/updated the tests programs
-	* doc/* : recompiled the docs.
-
-1999-07-26  Michael Meeks  <michael at edenproject.org>
-
-	* tree.h: Add const to 'content' in xmlNewDocNode, xmlNewChild
-
-	* tree.c: Ditto.
-
-Thu Jul 15 16:17:16 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in: upgraded to version 1.4.0
-	* xpath.c, xpath.h, testXPath.c, makefile.am: added code for the XPath
-	  draft from W3C. Will be used by XPointer, Xlink, XSL, and possibly
-	  XML query language, see http://www.w3.org/TR/xpath for more details.
-	* parser.c, parser.h: added CHAR* related string functions for XPath
-	* HTMLparser.[ch], HTMLtree.c: a bit of cleanup on entities.
-	* doc/gnome-xml.sgml, doc/html/* : added XPath and HTML documentation,
-	  rebuild the docs.
-	* Makefile.am, test/XPath/*, result/XPath/*: added an XPathtests target
-	  and regression testing capabilities for XPath.
-
-Mon Jul 12 12:36:39 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, HTMLparser.c: applied patch from John Ellson <ellson at lucent.com>
-	  closing bug #1646
-
-Mon Jul 12 11:04:44 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Makefile.am, example/Makefile.am: closed bug #1683
-
-Sun Jul 11 18:16:34 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* example/Makefile.am, configure.in: added the makefile for the
-	  gjobread example
-
-Sat Jul 10 14:19:11 CEST 1999 Tomasz K³oczko  <kloczek at pld.org.pl>
-
-        * doc/Makefile.am:
-        - fix which allow "make install DESTDIR=</install/prefix>".
-
-Fri Jul  9 12:10:24 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.c parser.c: applied patch from John Ellson <ellson at lucent.com>
-	  which fixed a problem on the file reading-code.
-
-Wed Jul  7 09:28:43 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* HTMLparser.[ch], HTMLtree.[ch]: more work for HTML parsing and
-	  output.
-        * Makefile.am, test/HTML/*, result/HTML/*: added HTMLtests targetestHTMLt
-
-Wed Jul  7 00:25:42 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.h : Oops removed the binary compatibility problem
-	* HTMLparser.[ch], HTMLtree.h : More work on the HTML parse/dump
-	* parser.c, HTMLparser.c: applied patches for reading from stdin
-
-Mon Jul  5 18:45:31 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, entities.c, valid.c: cleanup bug #1591
-	* configure.in: cleanup bug #1592
-	* HTMLparser.[ch], testHTML.c: started adding an HTML parser using
-	  the same tree back-end. Hence gdome will be available for it.
-	* doc/Makefile.am: close bug #617
-
-Sat Jun 26 23:36:38 EDT 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: alloctate a per parser context SAX interface block
-
-Tue Jun 22 23:46:32 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* released 1.3.0 with xmlEncodeEntities restoring old behaviour
-	  and xmlEncodeEntitiesReentrant with the correct one :-\
-
-Mon Jun 21 14:07:53 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* commit of my internal XML base changes, quite a lot of
-	  changes, cleanups, better entities support, framework for
-	  new I/O and charset detection and handling
-	* Fixed the configure/Makefile stuff to generate shared libs
-	  with the proper version info, so we jumped on rev from
-	  0.0.0 to 1.2.0 ! The binary interfaces have been broken,
-	  xmlEncodeEntities() result need to be freed now, and a string
-	  xmlParserVersion provide the current library version.
-
-Tue Jun 15 14:24:19 1999  Raph Levien  <raph at acm.org>
-
-	* parser.c: fixed a buffer overrun for when you have a very long
-	attribute with no entities in it.
-
-Mon Jun 14 00:17:50 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* added example directory
-	* added example/gjobs.xml gjobread.c, still need a Makefile.in
-
-Wed Jun  2 19:40:58 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Release of libxml-1.1, nearly everything has been touched for
-	  this.
-	* Added more regression tests
-	* Updated the documentation
-
-Sat May 29 13:34:42 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch]: unified the XML_NO_CORBA defines.
-	* parser.c encoding.[ch]: started plugging in char encoding detection
-
-Fri May 28 22:58:42 EDT 1999 Manish Vachharajani <mvachhar at vger.rutgers.edu>
-
-	* tree.c: (xmlSaveFile) - removed double call of xmlContentDump.  
-	  Also freed allocated buffer.
-
-Wed Apr 21 22:07:35 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-	* parser.[ch] tree.[ch] entities.[ch] valid.[ch] : removed the main
-	  reentrancy problem at printing. One is left in entities.c, to
-	  remove ASAP
-	* testSAX.c : added a test example showing the use of the SAX 
-	  interface if one doesn't want to build the DOM tree.
-	* html/gnome-xml-*.html html/index.sgml: regenerated the documentation
-
-Mon Apr  5 14:14:40 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.[ch] tree.[ch] SAX.c, parserInternals.h valid.[ch]:
-	  large revamping of the parser to use SAX callbacks
-	  http://www.megginson.com/SAX/ (or at least a C like interface
-	  a la Expat). It's now possible to set up your own callbacks
-	  and the parser will not build a DOM tree.
-	* test/* result/*: updated the test suite, I finally removed
-	  the old Namespace draft support (PI based).
-
-Fri Apr  2 17:57:32 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Makefile.am: added test result to EXTRA_DIST for make tests
-
-Wed Mar 24 21:37:02 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, parserInternals.h: moved the chars macro definitions
-	  to parserInternals.h
-	* parser.c, error.c: applied patches from "Knut Åkesson"
-	  <ka at s2.chalmers.se> for clean compilation under MSVC 6 :-o
-
-Tue Mar 23 11:10:15 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xml-config.in : applied patch to make --version work
-
-1999-03-05  Raja R Harinath  <harinath at cs.umn.edu>
-
-	* Makefile.am (check-local): Alias for `tests' target.  This will
-	cause `make check' to do the right thing.
-	(tests): Don't run tests in srcdir.  Also, replaced calls to
-	basename with a `sed' "equivalent".
-
-Fri Mar  5 07:23:53 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Renamed error.h to xml-error.h, corrected Makefile.am to list
-	  it in the header and not the sources, updated the doc.
-	  Thanks to Tim Mooney <mooney at dogbert.cc.ndsu.nodak.edu> for
-	  pointing this out.
-
-Mon Mar  1 13:27:17 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, parser.h, parserInternals.h: memory leak hunting,
-	  exported the inputStream routines.
-	* doc/html/* : updated accordingly
-
-Sun Feb 28 22:51:33 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, parser.h, parserInternals.h: added a few extra
-	  internal calls to allocate and free parser contexts ...
-	* doc/html/* : updated accordingly
-
-Thu Feb 25 11:52:24 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* configure.in, Makefile.am, doc/makefile.am : General changes for
-	  1.0.0 release and including the generated HTML documentation.
-
-Thu Feb 25 09:44:52 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* makefile.am : added parserInternals.h, oops.
-
-Mon Feb 22 11:24:56 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parserInternals.h: added this header giving access to the parser
-	  internal functions.
-	* doc/Makefile.am : added a rebuild target which rebuilds the full
-	  set of documentations
-	* parser.[ch] tree.[ch] valid.[ch]: serious updates w.r.t. parsing
-	  the internal subset. 
-	* *.c *.h: modifications needed to generate the documentation using
-	  gtk-doc, cleanup of functions blocks, reorganisation of struct
-	  declarations.
-
-Tue Feb 16 17:27:29 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* Makefile.am, spec, doc/Makefile.am : upgrading to 0.99.8, fixing
-	  the tar and spec file to include the beginning of the doc.
-
-1999-02-13  Nuno Ferreira  <nmrf at rnl.ist.utl.pt>
-
-	* doc/.cvsignore: Added this file.
-
-Mon Feb  8 19:27:56 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: fixed xmlGetProp to return "" when the attribute
-	  exists, even if the node-list is NULL.
-
-Mon Feb  8 16:10:15 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: patched an error outputting empty attribute values.
-	* Makefile.am and doc/makefile.am: have been updated during the
-	  week-end. Sorry for an empty CVS log, I got a shell problem.
-
-Mon Feb  1 12:10:13 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.h: cleaned up using enums instead of defines
-	* parser.c, valid.[ch]: more work on parsing/output of element
-	  declarations
-
-Sun Jan 31 22:06:48 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* valid.[ch], tree.c, parser.c : more work toward full parsing
-	  of XML DTDs.
-	* README: added informations about mailing-list and on-line
-	  documentation
-
-1999-01-27  Raja R Harinath  <harinath at cs.umn.edu>
-
-	* configure.in (XML_INCLUDEDIR): Use -I not -L for includes.
-
-Sun Jan 17 20:06:36 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, tree.[ch] : more work toward conformance testing,
-	  added a last element to accelerate parsing of very flat structures
-	  started working on internal subset Element content declaration.
-	* valid.[ch] : first cut at adding code toward validation.
-	* previous changes had also small impact on most files, especially
-	  the conformance testing using James Clark test suite.
-
-Sun Jan 17 14:45:06 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* test/* : updated the examples, most of them were not well
-	           formed (humm), and added rdf2.
-	* result/* : resulting changes in the output.
-
-Sun Dec  6 13:06:58 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: changed the behaviour of xmlGetProp on NULL values.
-
-Sat Dec  5 12:25:09 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: patched a bug in the generation of empty attributes
-
-Fri Nov 27 01:36:54 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* entities.[ch], tree.[ch], tester.c: added copy interfaces
-	  for node/trees/documents/... Biggest problem is namespace
-	  support when copying subtrees.
-
-Sun Nov 15 19:59:47 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, entities.c: improve entities and char ref encoding,
-	  and cleanups of error messages.
-
-Fri Nov 13 13:03:10 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c, entities.c: simple bug hunting done during rpm2html and
-	  rpmfind integration.
-
-Sun Nov  8 13:11:07 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.[ch]: Added interfaces allowing to specify a SAX
-	  handler before parsing.
-
-Sun Nov  8 09:39:17 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: redirrect all errors reporting through the SAX
-	  error function
-
-Wed Nov  4 14:21:54 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* entities.c: rather use HAVE_SNPRINTF and not depend on glib
-	* libtool, tlmain ...: update of the libtool files
-
-1998-11-04  Miguel de Icaza  <miguel at nuclecu.unam.mx>
-
-	* entities.c: Use g_snprintf insteda of snprintf.
-
-Sun Nov  1 14:31:06 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* entities.c, parser.c: debug and cleanup of CharRef handling/saving.
-	  added ent5 test for this purpose.
-	* parser.c, parser.h: formatting, comments and UTF-8 planning.
-
-Fri Oct 30 01:36:52 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: fixed? a strange error due to compression on a GWP
-	  document.
-
-Thu Oct 29 00:48:45 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch]: bug fixing
-	* entities.[ch]: defined a specific type for predefined entities
-	* doc/xml.html: more documentation on the library, how to use it,
-	  overview of the interfaces.
-
-Wed Oct 28 17:56:35 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.[ch]: more cleanup on the API, made the tree mor conformant.
-
-Tue Oct 27 17:54:00 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c: corrected a small bug
-	* doc/xml.html: continuing writing documentation.
-
-Tue Oct 27 17:54:00 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* debugXML.h debugXML.c: added debugging utilities.
-	* tester.c: added --debug switch.
-	* tree.c: patched an incorrect node->type assignment.
-	* parser.c: formatting, ensure that node->doc != NULL in attributes
-
-Tue Oct 27 01:15:39 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-        * parser.[ch] SAX.c tree.[ch]: large amount of changes to improve
-          entity support and provide an internal representation close to
-          DOM one (entity ref nodes, and attribute value as tree). I tried
-          to preserve the interface but this will surely break some apps
-          (I have to change rpm2html/rpmfind for example). I had to change
-	  two interfaces, and the generated tree is somewhat different.
-	* doc/* : started documenting the XML library, the tree and
-	  DOM/Corba. This is a first step.
-
-Sat Oct 24 14:23:51 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: Set up the fonctions comment block, boring but useful.
-	* parser.h, SAX.c, parser.c: now attributes are processed through
-	  the SAX interface. The problem is that my SAX interface diverged
-	  quite a bit from the original one, well this is not an official
-	  spec, and translating it from Java to C is hairy anyway...
-
-Tue Oct 20 02:11:21 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* SAX.c, entities.c, tree.c, encoding.c, error.c: Set up the
-	  fonctions comment block, boring but useful.
-
-Sun Oct 18 20:40:58 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* encoding.[ch], Makefile.am: Added the UTF-8, UTF-16 and ISO Latin 1
-	  conversion routines. However they are not yet used to convert the
-	  inputs. The core will run with UTF-8.
-
-Sun Oct 18 15:08:19 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c : make sure that the type id is properly set-up when
-	  a new object is allocated, needed for DOM.
-
-Sat Oct 17 02:43:21 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.h, tree.c: Ok, the main objects in the tree will be native
-	  corba objects, it costs 8 bytes per Node, Attribute and Document
-	  but it simplifies the Corba integration a lot (no extra interface
-	  objects to allocate/free).
-
-Tue Oct 13 21:46:57 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.h, tree.c, parser.c: added prev and doc pointers to Node,
-	  and changed NODEs contants for conformity with DOM Level 1
-
-Wed Oct  7 23:42:46 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* added hooks to keep track of servants when creating objects
-	  xmlDoc and xmlNode (for Corba export).
-
-Sun Oct  4 03:18:09 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* added xml-config script.
-
-Thu Oct  1 16:22:37 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-        * autogen.sh : applied patch from Frederic Devernay <devernay at istar.fr>
-	  to autoupdate libtool and automake conf files.
-
-1998-09-30  Miguel de Icaza  <miguel at nuclecu.unam.mx>
-
-	* Makefile.am: Use '?' to separate the sed
-	commands as ',' is used when people pass -Wl,something.
-
-
-Thu Sep 24 15:13:29 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* tree.c, tree.h: added a per-document compression interface.
-
-Tue Sep 22 20:47:38 EDT 1998
-
-	* tree.c, tree.h: added saving with compression and added interfaces
-	  to control the compression level (xmlGetCompressMode,
-	  xmlSetCompressMode) and a new save to filename function (xmlSaveFile).
-
-Mon Sep 21 20:11:13 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* parser.c: corrected a loop for files of size 0
-
-1998-08-20  Raja R Harinath  <harinath at cs.umn.edu>
-
-	* error.h: New file.  Contains prototyes from `error.c'.
-
-Thu Aug 13 19:02:34 1998  Tom Tromey  <tromey at cygnus.com>
-
-	* Makefile.am (xmlincdir): New macro.
-	(xmlinc_HEADERS): Renamed from include_HEADERS.
-
-Thu Aug 13 00:40:14 EDT 1998  Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* applied small patch on numeric entities from
-	  Christopher Blizzard <blizzard at appliedtheory.com>
-
-Wed Aug 12 23:12:58 EDT 1998  Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* New release 0.2, removed the old xml_* files so that it's
-	    coherent with the other CVS base (W3C), far better conformance
-	    to standard, new namespaces, decent entities support, beginning
-	    of a SAX-like interface. Nearly nothing left intact, even the
-	    test examples ...
-
-1998-07-30  Christopher Blizzard  <blizzard at appliedtheory.com>
-
-	* .cvsignore: Add .deps dir
-
-Sun Jul 26 17:29:52 EDT 1998  Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* xml_tree: changed the memory allocation scheme for name in xmlNewNode
-
-Sun Jul 26 00:17:51 EDT 1998  Daniel Veillard <Daniel.Veillard at w3.org>
-
-        * configure.in: added test for CPP
-	* AUTHORS, Changelog: the original ones didn't get commited but the
-	    glib ones instead, fixed.
-	* Makefile.am: corrected an error in library naming
-
-Fri Jul 24 16:47:14 1998  Daniel Veillard <Daniel.Veillard at w3.org>
-
-	* integrated code developped at W3C
-	* changed the original Copyright
-	* migrated to automake
-	* prefixed the filenames by xml_ to avoid filename clashes
-
-Mon Jan  6 12:05:12 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* doc/tutorial/* : fixed #101894 if doc == NULL xmlFreeDoc 
-	  should not be called.
-
-Mon Jan  6 11:59:09 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* libxml-2.0.pc.in: applied the patch to fix #101894
-
-Sun Jan  5 23:35:47 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c : applied patch from Lukas Schroeder for register callbacks
-	* valid.c: modified patch from Lukas Schroeder to test
-	  register callbacks with --chkregister
-
-Sun Jan  5 02:23:20 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c: seriously changed the way data are pushed to
-	  the underlying parser, go by block of 512 bytes instead of
-	  tryng to detect tag boundaries at that level. Changed the
-	  way empty element are detected and tagged.
-	* python/tests/reader.py python/tests/reader2.py
-	  python/tests/reader3.py: small changes mostly due to context
-	  reporting being different and DTD node being reported. Some
-	  errors previously undetected are now caught and fixed.
-	* doc/xmlreader.html: flagged last section as TODO
-
-Sat Jan  4 20:40:28 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml.py: integrated the Python 2.2 optimizations
-	  from Hannu Krosing, while maintaining compatibility with 
-	  1.5 and 2.1
-
-Sat Jan  4 17:33:17 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: a bit of cleanup
-	* xmlreader.c: small fix
-	* doc/xmlreader.html: more work on the XmlTextReader tutorial
-	* python/libxml.py: a few fixes pointed out by Hannu Krosing
-
-Sat Jan  4 13:46:14 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* python/setup.py.in: patch from Stéphane Bidoul to include
-	  drv_libxml2.py in setup.py
-
-Sat Jan  4 01:43:06 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* doc/xmlreader.html: starting documenting the new XmlTextReader
-	  interface.
-
-Fri Jan  3 17:18:32 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: added the --stream flag to use the TextReader API
-	* xmlreader.c: small performance tweak
-
-Fri Jan  3 13:50:55 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader2py: okay the DTD validation
-	  code on top of the XMLTextParser API should be solid now.
-
-Fri Jan  3 02:17:18 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader2py: Fixing some more mess
-	  with validation and recursive entities while using the
-	  reader interface, it's getting a bit messy...
-
-Thu Jan  2 15:15:26 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader.py: another couple of problem
-	  related to IsEmptyElement reported by Stéphane Bidoul needed 
-	  some fixes.
-
-Thu Jan  2 13:57:07 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in python/Makefile.am python/drv_libxml2.py:
-	  integrated drv_libxml2.py Python xml.sax driver from Stéphane Bidoul
-	  based on the python XmlTextReader interface.
-
-Wed Jan  1 22:05:40 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: backing out one change in the last patch which broke the
-	  regression tests
-
-Wed Jan  1 21:57:28 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* global.data globals.c tree.c include/libxml/globals.h: applied
-	  an old patch from Lukas Schroeder to track node creation and
-	  destruction. Probably missing a lot of references at the moment
-	  and not usable reliably.
-
-Wed Jan  1 20:12:07 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* NEWS doc/Makefile.am doc/news.xsl: generate the NEWS file
-	  from doc/news.html and a stylesheet
-
-Wed Jan  1 16:09:57 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader.py: fixed another couple of
-	  xmlreader bugs reported by Stéphane Bidoul and added tests.
-
-Wed Jan  1 15:42:54 CET 2003 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader2.py: fixed another validity
-	  checking in external parsed entities raised by Stéphane Bidoul
-	  and added a specific regression test.
-	* python/tests/reader3.py: cleanup
-
-Tue Dec 31 15:44:02 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader2.py: fixed a problem with
-	  validation within entities pointed by Stéphane Bidoul, augmented
-	  the tests to catch those.
-
-Tue Dec 31 12:15:37 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py: modified the generator to allow keeping
-	  class references when creating new classes, needed to fix a bug
-	  pointed by Stéphane Bidoul where the input buffer of the
-	  xmlTextReader instance gets destroyed if the python wrapper for
-	  the input is not referenced anymore.
-
-Mon Dec 30 19:39:36 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader.py: fixed another pair of problem
-	  pointed by Stéphane Bidoul: depth start at 0 and a parse problem.
-
-Mon Dec 30 13:36:50 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader.py: fixed another problem
-	  pointed by Stéphane Bidoul
-
-Mon Dec 30 12:39:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader.py: fixed a limit case problem
-	  with "<a/>"
-
-Mon Dec 30 11:53:44 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: warn on xmlns:prefix="foo"
-	* xmlreader.c python/tests/reader.py: fixed a couple of problem
-	  for namespace attributes handling.
-
-Mon Dec 30 00:59:07 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* entities.c parser.c tree.c include/libxml/entities.h: Fixed
-	  a really nasty problem raised by a DocBook XSLT transform
-	  provided by Sebastian Bergmann
-
-Sun Dec 29 12:13:18 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c python/tests/reader.py: fixed a bug pointed out
-	  by Stéphane Bidoul and integrated it into the tests
-
-Sat Dec 28 23:49:12 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml:
-	  extended the XmlTextReader API a bit, addding accessors for
-	  the current doc and node, and an entity substitution mode for
-	  the parser.
-	* python/libxml.py python/libxml2class.txt: related updates
-	* python/tests/Makefile.am python/tests/reader.py 
-	  python/tests/reader2.py python/tests/reader3.py: updated a bit
-	  the old tests and added a new one to test the entities handling
-
-Sat Dec 28 22:11:57 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml2class.txt 
-	  python/tests/reader.py python/tests/reader2.py: changed the
-	  generator to provide casing for the XmlTextReader similar to
-	  C# so that examples and documentation are more directly transposable.
-	  Fixed the couple of tests in the suite.
-
-Sat Dec 28 15:55:32 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/guidelines.html: added a document on guildeline for
-	  publishing and deploying XML
-
-Fri Dec 27 20:35:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c xmlreader.c: final touch running DTD validation
-	  on the XmlTextReader
-	* python/tests/Makefile.am python/tests/reader2.py: added a
-	  specific run based on the examples from test/valid/*.xml
-
-Fri Dec 27 15:17:20 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml.py: added a few predefined xmlTextReader parser
-	  configuration values.
-
-Fri Dec 27 12:57:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml_wrap.h: trying to fix #102037
-
-Fri Dec 27 12:18:14 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: fixing bug #95296, when the predefined entities
-	  are redefined in the DTD the default one must be used
-	  instead anyway.
-
-Wed Dec 25 19:22:06 MST 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/xmllint.xml
-	* doc/xmllint.1
-	Add discussion of XML_DEBUG_CATALOG to xmllint man
-	page - bug #100907
-
-
-Mon Dec 23 16:54:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c: Fixed the empty node detection to avoid reporting
-	  an inexistant close tag.
-
-Mon Dec 23 15:42:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml.c python/setup.py.in: patch from Stéphane Bidoul
-	  for Python 2.1
-
-Sun Dec 22 11:24:06 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* testC14N.c vms/config.vms: applied Craig A. Berry patches for VMS
-
-Fri Dec 20 11:27:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/libxml2-api.xml python/tests/reader.py: one really need
-	  to provide the base URI information when creating a reader parser
-	  from an input stream. Updated the API and the example using it.
-
-Fri Dec 20 01:11:30 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* testReader.c xmlreader.c valid.c include/libxml/tree.h
-	  include/libxml/valid.h include/libxml/xmlreader.h: working on
-	  DTD validation on top of xml reader interfaces. Allows to
-	  validate arbitrary large instances. This required some extensions
-	  to the valid module interface and augmenting the size of xmlID
-	  and xmlRef structs a bit.
-	* uri.c xmlregexp.c: simple cleanup.
-
-Wed Dec 18 15:51:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: more
-	  work on the xml reader interfaces.
-	* AUTHORS MAINTAINERS doc/* win32/*: updated Igor's mail and the
-	  Web page for the Windows binaries.
-
-Tue Dec 17 19:31:07 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: applied a patch for VMS following the report by
-	  Nigel Hall
-
-Tue Dec 17 11:29:41 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: the parseStartTag bug fix wasn't complete.
-	
-Mon Dec 16 23:00:05 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Vyacheslav Pindyura managed to trigger a bug in
-	  parseStartTag, fixing it.
-	* test/att4 result/att4 result/noent/att4: adding the test
-	* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: added
-	  more methods to XmlTextReader.
-
-Mon Dec 16 19:31:16 CET 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/libxml2.def.src: added more xml reader exports
-	* win32/Makefile.msvc win32/Makefile.mingw: added xml reader interface
-	  to the build
-	
-Mon Dec 16 06:36:54 MST 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/tutorial/xmltutorial.xml
-	plus generated html and pdf
-	Updating tutorial again based on further comments from Niraj
-	Tolia on the last iteration
-
-Sun Dec 15 21:27:30 MST 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/tutorial/xmltutorial.xml
-	* doc/tutorial/includekeyword.c
-	* doc/tutorial/includegetattribute.c
-	plus generated html and pdf
-	Adding fix from Niraj Tolia to tutorial to properly free memory.
-	
-
-Mon Dec 16 00:34:25 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: added
-	  more methods of XmlTextReader.
-	* python/libxml2class.txt python/tests/reader.py: this increased the
-	  methods in the bndings, augmented the test to check those new
-	  functions.
-
-Sat Dec 14 23:57:39 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlreader.c doc/libxml2-api.xml: added the close and getattribute
-	  methods of XmlTextReader.
-	* python/generator.py python/libxml_wrap.h python/types.c 
-	  python/libxml2class.txt: added the reader to the Python bindings
-	* python/tests/Makefile.am python/tests/reader.py: added a specific
-	  test for the Python bindings of the Reader APIs
-	* parser.c: small cleanup.
-
-Fri Dec 13 11:39:44 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xinclude.c: fallback was only copying the first child not the
-	  full child list of the fallback element, closes #89684 as reopened
-	  by Bernd Kuemmerlen
-
-Thu Dec 12 13:34:59 CET 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/libxml2.def.src: exported htmlNodeDumpOutput
-
-Thu Dec 12 10:59:11 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing release of 2.4.30
-	* doc/apibuild.py doc/libxml2-api.xml: fixups to the api builder,
-	  gives enum values, fix functype return type, put back fields in
-	  structs 
-	* doc/*: updated the docs rebuilt
-
-Thu Dec 12 01:09:34 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c include/libxml/HTMLtree.h: patch from Mark Vakoc
-	  about htmlNodeDumpOutput location.
-	* xpath.c: removed an undefined function signature
-	* doc/apibuild.py doc/libxml2-api.xml: the script was exporting
-	  too many symbols in the API breaking the python bindings.
-	  Updated with the libxslt/libexslt changes.
-
-Wed Dec 11 20:26:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing release of 2.4.29
-	* doc/*: rebuilt the docs and API
-	* xmlreader.c: a few more fixes for the XmlTextReader API
-
-Wed Dec 11 18:01:15 CET 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* include/win32config.h: applied mingw patch from Magnus Henoch
-
-Wed Dec 11 16:58:48 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c doc/libxml2-api.xml: a bit more cleanup
-
-Wed Dec 11 14:54:47 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/apibuild.py doc/libxml2-api.xml doc/Makefile.am: new API
-	  building Python script, does the C parsing directly, generates
-	  a better API description including structure fieds defs and
-	  enums. Still a couple of bugs, but good enough for the python
-	  wrappers now.
-	* DOCBparser.c SAX.c nanohttp.c parser.c parserInternals.c tree.c
-	  valid.c xmlIO.c xmlmemory.c xmlreader.c xmlregexp.c xmlschemas.c
-	  include/libxml/schemasInternals.h include/libxml/tree.h: more
-	  cleanup based on the python analysis script reports.
-	* libxml.spec.in: make sure the API XML description is part of the
-	  devel package.
-
-Tue Dec 10 16:16:34 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* DOCBparser.c HTMLparser.c c14n.c debugXML.c encoding.c hash.c
-	  nanoftp.c nanohttp.c parser.c parserInternals.c testC14N.c
-	  testDocbook.c threads.c tree.c valid.c xmlIO.c xmllint.c xmlmemory.c
-	  xmlreader.c xmlregexp.c xmlschemas.c xmlschemastypes.c xpath.c:
-	  code cleanup, especially the function comments.
-	* tree.c: fixed a small bug when freeing nodes which are XInclude ones.
-
-Mon Dec  9 15:08:17 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am xmlreader.c include/libxml/Makefile.am
-	  include/libxml/xmlreader.h:  Adding a new set of APIs based on
-	  the C# TextXmlReader API but converted to C. Allow to parse
-	  in constant memory usage, far simpler to program and explain
-	  than the SAX like APIs, unfinished but working.
-	* testReader.c: test program
-
-Sun Dec  8 18:36:01 CET 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/libxml2.def.src: applied YALDSP from Mark Vakoc
-
-Wed Dec  4 16:08:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: Chip turner indicated that XHTML1 serialization
-	  rule for style actually break on both IE and Mozilla, 
-	  try to avoid the rule if escaping ain't necessary
-
-Wed Dec  4 12:43:28 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* nanhttp.c: handle HTTP URL escaping, problem reported by
-	  Glen Nakamura and Stefano Zacchiroli
-
-Sat Nov 30 12:19:17 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* DOCBparser.c HTMLparser.c parser.c valid.c xpath.c: code cleanup
-
-Thu Nov 28 12:53:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* uri.c: Johann Richard pointed out some XPointer problems for
-	  URN based URI references in XInclude. Modified the URI parsing
-	  and saving routines to allow correct parsing and saving of 
-	  XPointers, especially when attached to "opaque" scheme accordingly
-	  to RFC 2396
-
-Wed Nov 27 20:36:08 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c include/libxml/HTMLtree.h: applied the same kind
-	  of refactoring to the HTML saving code.
-	* doc/libxml2-*.xml doc/API*.html: slight API changes got reflected
-	  in the doc.
-
-Wed Nov 27 12:40:16 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c include/libxml/tree.h: refactored the XML dump of a node
-	  to a buffer API to reuse the generic dump to an OutputIO layer,
-	  this reduces code, fixes xmlNodeDump() for XHTML, also made
-	  xmlNodeDump() now return the number of byte written.
-
-Wed Nov 27 09:00:00 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/setup.py.in: another patch from Stéphane Bidoul for 
-	  Python bindings on Windows
-	* doc/parsedecl.py: small cleanup
-
-Mon Nov 25 17:28:53 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in configure.in: add a line in %changelog for releases
-
-Mon Nov 25 14:18:27 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: patch from Marcus Clarke fixing a problem in entities
-	  parsing that was detected in KDe documentations environment.
-
-Mon Nov 24 14:13:21 CET 2002 ERDI Gergo <cactus at cactus.rulez.org>
-
-	* python/libxml.c (libxml_prev): Return the previous as opposed to
-	the next node (I guess this is the result of some cut & paste programming:)
-
-Sat Nov 23 17:22:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/Makefile.am: Jan Rafaj pointed a bug in the Makefile.
-
-Sat Nov 23 12:21:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml.c python/setup.py.in: trying
-	  to fix the Python bindings build on Windows (Stéphane Bidoul)
-
-Fri Nov 22 22:41:34 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/configure.js: added option for python bindings
-	* win32/libxml2.def.src: added more exports
-
-Fri Nov 22 18:50:34 CET 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/Makefile.mingw: fixed unresolved symbols when linking with
-	  pthreads
-	* win32/wince/*: applied updates to Windows CE port from Javier
-
-Fri Nov 22 15:51:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.28
-	* libxml.spec.in doc/Makefile.am: some cleanup
-	* doc/*: updated the news and regenerated.
-
-Fri Nov 22 14:15:14 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: final touch at closing #87235 </p> end tags
-	  need to be generated.
-	* result/HTML/cf_128.html result/HTML/test2.html result/HTML/test3.html:
-	  this change slightly the output of a few tests
-	* doc/*: regenerated
-
-Fri Nov 22 13:26:19 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parserInternals.c: fixing bug #99190 when UTF8 document are
-	  parsed using the progressive parser and the end of the chunk
-	  is in the middle of an UTF8 multibyte character.
-
-Fri Nov 22 13:13:00 HKT 2002 William Brack <wbrack at mmm.com.hk>
-
-	* threads.c: fixed initialization problem in xmlNewGlobalState
-	  which was causing crash.
-	* globals.c: removed duplicate call to initxmlDefaultSAXHandler
-	  in xmlInitializeGlobalState.
-	* parserInternals.c: cleaned up ctxt->sax initialisation.
-	
-Thu Nov 21 15:05:45 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c include/libxml/tree.h: modified the existing APIs
-	  to handle XHTML1 serialization rules automatically, also add
-	  xmlIsXHTML() to libxml2 API. Some tweaking to make sure
-	  libxslt serialization uses it when needed without changing
-	  the library API.
-	* test/xhtml1 result/noent/xhtml1 result/valid/xhtml1.xhtml
-	  result/xhtml1: added a new test specifically for xhtml1 output
-	  and updated the result of one XHTML1 test
-
-Wed Nov 20 14:24:56 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xinclude.c parserInternals.c encoding.c: fixed #99082
-	  for xi:include encoding="..." support on text includes.
-	* result/XInclude/tstencoding.xml test/XInclude/docs/tstencoding.xml
-	  test/XInclude/ents/isolatin.txt : added a specific regression test
-	* python/generator.py python/libxml2class.txt: fixed the generator
-	  the new set of comments generated for doc/libxml2-api.xml were
-	  breaking the python generation.
-
-Tue Nov 19 23:25:47 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/Makefile.am: repair some problem if gtk-doc fail or such
-	* configure.in: patch for Solaris on new autoconf closes #98880 
-	* doc/parsedecl.py: repair the frigging API building script,
-	  did I say that python xmllib sucks ?
-	* doc/libxml2-api.xml doc/libxml2-refs.xml: regenerated, reordering
-	  and some comment are no more truncated.
-
-Tue Nov 19 09:09:04 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Martin Stoilov pointed out a potential leak in
-	  xmlCreateMemoryParserCtxt
-
-Mon Nov 18 16:05:51 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: fixed bug #98879 a corner case when 0 is
-	  included in HTML documents and using the push parser.
-
-Mon Nov 18 00:11:24 CET 2002 ERDI Gergo <cactus at cactus.rulez.org>
-
-	* configure.in (PYTHON_SITE_PACKAGES): If --with-python is
-	  specified, look for the Python interpreter not just in the
-	  specified root but also in the specified location. Fixes #98825
-
-Sun Nov 17 23:36:06 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml.c: fixing bug #98792 , node may have no doc
-	  and dereferencing without checking ain't good ...
-
-Sun Nov 17 10:25:43 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing release 2.4.27
-	* doc/* : updated and rebuilt the docs
-	* doc/Makefile.am libxml.spec.in: try to make sure the tutorial
-	  and all the docs are actually packaged and in the final RPMs
-	* parser.c parserInternals.c include/libxml/parser.h: restore
-	  xmllint --recover feature.
-
-Sat Nov 16 16:30:25 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c xpath.c: fixing #96925 wich was also dependent on the
-	  processing of parsed entities, and XPath computation on sustitued
-	  entities.
-	* testXPath.c: make sure entities are substitued.
-
-Fri Nov 15 16:22:54 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: fixed #96594, which was totally dependent on the 
-	  processing of internal parsed entities, which had to be changed.
-
-Fri Nov 15 12:16:07 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am python/Makefile.am python/tests/Makefile.am:
-	  trying to fix bug #98517 about building outside the source tree
-	* doc/xml.html doc/FAQ.html: fixed the link to libiconv #94585
-
-Thu Nov 14 18:41:55 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* include/win32config.h: cleanup
-	* win32/Makefile.mingw: integrated mingw in JScript configure
-	* win32/Makefile.msvc: modified to allow mingw coexistence
-	* win32/configure.js: integrated mingw
-	* win32/Readme.txt: cleanup
-
-Tue Nov 12 22:06:45 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: strengthen the guard in the Pop macros,
-	  like in the XML parser, closes bug #97315
-
-Tue Nov 12 21:56:39 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/parser.h: fixed bug #98338 , fatalError SAX
-	  callback is never used.
-
-Tue Nov 12 13:32:50 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parserInternals.c: fixed the initialization of the SAX structure
-	  which was breaking xsltproc
-	* xpath.c: patch from Petr Pajas for CDATA nodes
-	* tree.c: patch from Petr Pajas improving xmlGetNodePath()
-	* parser.c include/libxml/parser.h: patch from Peter Jones
-	  removing a leak in xmlSAXParseMemory() and adding the
-	  function xmlSAXParseMemoryWithData()
-
-Mon Nov 11 20:47:03 MST 2002 John Fleck <jfleck at inkstain.net>
-
-	adding pdf of tutorial, changing web page to link to it
-	* doc/tutorial/xmltutorial.pdf
-	* doc/xml.html
-	* doc/docs.html
-
-Sun Nov 10 20:48:57 MST 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/tutorial/ar01s08.html
-	adding file what I forgot for tutorial
-
-
-Sun Nov 10 20:33:13 MST 2002 John Fleck  <jfleck at inkstain.net>
-
-	Adding encoding discussion to tutorial
-	Added:
-	* doc/tutorial/images/*.png: DocBook admonition image files
-	* doc/tutorial/apf.html, apg.html: new generated html
-	* doc/tutorial/includeconvert.c: conversion code entity file
-	changed:
-	* doc/tutorial/xmltutorial.xml: DocBook original
-	* doc/tutorial/*.html: generated html
-
-Fri Nov  8 17:59:32 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* include/libxml/*.h: retired xmlwin32version.h
-	* doc/Makefile.am: retired xmlwin32version.h
-	* win32/configure.js: retired xmlwin32version.h
-
-Fri Nov  8 16:55:47 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/libxml2.def.src: exported additional symbols
-	* include/libxml/xmlmemory.h: exported the rest of the xmlMem* 
-	  sisterhood
-
-Fri Nov  8 16:08:13 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* globals.c: fixed a typo pointed out by Igor
-	* xpath.c: try to speed up node compare using line numbers
-	  if available.
-
-Thu Nov  7 15:16:02 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: make xmlFreeNode() handle attributes correctly.
-
-Wed Nov  6 23:51:11 CET 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* catalog.c: completed the #96963 fix, as reported by Karl
-	  Eichwalder
-
-Wed Nov  6 16:48:44 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpointer.c: tried to fix bug #97852 reported by Nicolas Noffke
-
-Sun Nov  3 10:43:44 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: switched the order of a couple of includes
-	  to fix bugs #97100
-
-Thu Oct 31 17:11:46 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* catalog.c: fixed bug #96963, reverted to the old behaviour of
-	  xmlLoadCatalogs that used to separate directories with a ':'.
-
-Thu Oct 31 16:55:21 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* threads.c: improvements to the Windows-side of thread handling
-	* testThreads.c: conditionally excluded unistd.h
-	* testThradsWin32.c: broke overlong lines
-	* include/win32config.h: adapted thread-related macros to the new
-	  scheme and for pthreads on Windows
-	* win32/Makefile.msvc: introduced a more flexible thread build, 
-	  added testThreads[Win32].c to the build
-	* win32/configure.js: introduced a more flexible thread config
-
-2002-10-31  John Fleck  <jfleck at inkstain.net>
-
-	* doc/xml.html (and, by implication, FAQ.html)
-	added UTF-8 conversaion FAQ from Marcus Labib Iskander
-
-Tue Oct 29 18:32:33 CET 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* configure.in: removed xmlwin32version.h
-	* include/libxml/Makefile.am: removed xmlwin32version.h
-
-Mon Oct 28 14:01:29 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: applied patch from Brian Stafford to fix a bug
-	  in xmlReconciliateNs()
-
-Mon Oct 28 13:51:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: applied patch from Christian Glahn to allow
-	  xmlNewChild() on document fragment nodes
-
-Sat Oct 26 15:27:00 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Christian Glahn found a problem with a recent
-	  patch to xmlParseBalancedChunkMemoryRecover()
-	* xmlschemas.c: Charles Bozeman fixed some Schemas validation
-	  problems
-	* result/schemas/elem* result/schemas/seq* test/schemas.elem*
-	  test/schemas/seq*: added the test cases from Charles
-
-Wed Oct 23 16:42:29 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am config.h.in libxml.spec.in doc/Makefile.am:
-	  serious cleanup of the spec file and associated changes
-	  in the Makefiles.
-	* valid.c: try to remove some warnings on x86_64
-
-Wed Oct 23 10:53:42 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/Makefile.am: added winsockcompat.h to EXTRA_DIST to
-	  fix bug #96586
-
-Tue Oct 22 21:13:06 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: Mikhail Sogrine pointed out a bug in HTML
-	  parsing, applied his patch
-	* result/HTML/attrents.html result/HTML/attrents.html.err
-	  result/HTML/attrents.html.sax test/HTML/attrents.html:
-	  added the test and result case provided by Mikhail Sogrine
-
-Tue Oct 22 19:33:20 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* vms/build_libxml.com vms/config.vms vms/readme.vms
-	  include/libxml/parser.h include/libxml/parserInternals.h
-	  include/libxml/tree.h include/libxml/xmlIO.h
-	  HTMLparser.c catalog.c debugXML.c parser.c parserInternals.c
-	  tree.c triodef.h trionan.c uri.c xmlIO.c xpath.c:
-	  Applied the VMS update patch from Craig A. Berry
-	* doc/*.html: update
-
-Tue Oct 22 16:27:31 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/encoding.h encoding.c: made xmlGetUTF8Char public
-
-Tue Oct 22 16:25:18 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c: adding a grep command to --shell in xmllint
-	  for T.V. Raman
-
-Tue Oct 22 16:23:57 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlcatalog.c: tried to fix some of the problem with --sgml
-
-Mon Oct 21 09:57:10 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: tried to fix bug #91500 where doc->children may
-	  be overriden by a call to xmlParseBalancedChunkMemory()
-
-Mon Oct 21 09:04:32 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: tried to fix bug #90945 w.r.t. parsing of system
-	  identifiers in SGML catalogs containing '&'
-
-Sun Oct 20 23:31:47 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/types.c: fixed bugs when passing result value tree
-	  to Python functions.
-
-Fri Oct 18 13:18:53 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing the release of 2.4.26
-	* doc/*: updated and rebuilt the documentation
-
-Wed Oct 16 20:01:46 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: fixed a XML Namespace compliance bug reported by
-	  Alexander Grimalovsky
-
-Wed Oct 16 17:18:42 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c: fixed serialization of script and style when
-	  they are not lowercase (i.e. added using the API to the tree).
-
-Wed Oct 16 16:31:05 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: make xmlValidateDocument emit a warning msg if there
-	  is no DTD, pointed by Christian Glahn
-
-Wed Oct 16 16:05:38 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlregexp.c xmlschemas.c: fixed the validation of sequences
-	  content model when some of the blocks have min or max, and a couple
-	  of bugs found in the process.
-	* result/schemas/list0* test/schemas/list0*: added some specific
-	  regression tests
-
-Tue Oct 15 12:41:01 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* README: updated the contact informations
-
-Tue Oct 15 10:35:57 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: use test -f instead of test -e since Solaris /bin/sh
-	  misses it, reported by Peter Bray.
-
-Mon Oct 14 17:37:32 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: investigating xmlNodeGetContent() on namespace nodes
-	  and removed a few warnings
-
-Mon Oct 14 13:12:55 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Christian Glahn found a small bug in the push parser.
-	* xmlIO.c include/libxml/xmlIO.h: cleaned up and made xmlCheckFilename
-	  public
-
-Wed Oct  9 23:11:02 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemas.c include/libxml/xmlschemas.h: added
-	  xmlSchemaNewMemParserCtxt to parse a schemas from a memory area
-	* testSchemas.c: added --memory to test the new interface
-
-Wed Oct  9 16:22:54 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/index.py doc/search.php: integrated the XSLT indexing,
-	  a few fixed in the indexer, added a scope selection at the
-	  search level.
-
-Wed Oct  9 12:18:37 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: Joe Marcus Clarke reported a segfault on FBsd 
-	  this was due to uninitialized parts of the validation context
-
-Tue Oct  8 23:24:20 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c: applied patch from Mark Vakoc except the API
-	  change, preserved it.
-	* doc/*: updated the docs to point to the search engine for
-	  information lookup or before bug/help reports.
-
-Tue Oct  8 18:53:31 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/index.py doc/search.php: added mailing-list archives
-	  indexing and lookup
-
-Tue Oct  8 10:25:07 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: patch from Mark Vakoc to fix xmlNodeGetPath()
-
-Mon Oct  7 13:12:03 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/index.py: improved HTML indexing
-	* doc/search.php: make the queries also lookup the HTML based indexes
-
-Sun Oct  6 23:50:29 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/index.py: added HTML page indexing 
-
-Fri Oct  4 15:33:55 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* xmlIO.c: extended Windows path normalisation to fix the base
-	  problem in libxslt.
-	* catalog.c: fixed list handling in XML_CATALOG_FILES
-
-Fri Oct  4 13:43:02 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: typo/bug found by Christian Glahn
-
-Sun Sep 29 19:44:10 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* xmlIO.c: applied Windows CE patch from Javier.
-	* win32/wince: new directory, contains support for the PocketPC
-	  with Windows CE from Javier.
-	* include/win32config.h: reorganised, removed duplicate 
-	  definitions and applied WinCE patch from Javier.
-	* include/wsockcompat.h: new file, now contains WinSock
-	  compatibility macros.
-	* win32/Makefile.msvc: introduced double-run compilation.
-
-Thu Sep 26 19:48:06 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: preparing release
-	  of 2.4.25
-	* doc/*: updated and regenerated teh docs and web pages.
-
-Thu Sep 26 17:33:46 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c valid.c include/libxml/valid.h: fixed bug #92518 validation
-	  error were not covering namespace declarations.
-	* result/valid/dia.xml test/valid/dia.xml: the test wasn't valid,
-	  it was missing the attribute declaration for the namespace
-	* result/VC/NS3: the fix now report breakages in that test
-
-Thu Sep 26 14:39:07 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c: fixing bug #94241 on HTML boolean attributes
-
-Thu Sep 26 14:25:33 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/*: added the 3 new modules xmlregexp xmlautomata and xmlunicode
-	  and regenerated the docs and web site
-
-Thu Sep 26 11:45:42 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xinclude.c xmlschemas.c xmlschemastypes.c xpath.c: make sure
-	  ATTRIBUTE_UNUSED is always put after the attribute declaration,
-	  not before
-
-Thu Sep 26 11:33:28 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml2class.txt: fixed a stupid error
-	  breaking the python API
-
-Thu Sep 26 00:31:46 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* trio.c trio.h triodef.h trionan.c trionan.h triop.h
-	  triostr.c triostr.h: applied a trio update patch from 
-	  Bjorn Reese which should work with MinGW
-
-Thu Sep 26 00:21:18 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: improving some documentation comments
-	* xmlregexp.c: found and fixed a mem leak with python regression tests
-	* doc/*: rebuilt the doc and the API XML file including the 
-	  xmlregexp.h xmlautomata.h and xmlunicode.h headers
-	* python/generator.py python/libxml2class.txt python/libxml_wrap.h
-	  python/types.c: added access to the XML Schemas regexps from
-	  python
-	* python/tests/Makefile.am python/tests/regexp.py: added a 
-	  simple regexp bindings test
-
-Tue Sep 24 08:10:48 MDT 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/xml.html:
-	  fixing ftp links - thanks to Vitaly Ostanin
-
-Tue Sep 24 16:08:17 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlregexp.c: fixed the data callback on transition functionality
-	  which was broken when using the compact form
-	* result/schemas/*: updated the results, less verbose, all tests
-	  pass like before
-	* DOCBparser.c testAutomata.c testC14N.c testSchemas.c testThreads.c
-	  testXPath.c valid.c xinclude.c xmllint.c xmlregexp.c xmlschemas.c
-	  xmlschemastypes.c xpath.c python/libxml.c: removed a bunch of
-	  annoying warnings
-	* xpath.c: try to provide better error report when possible
-
-Sat Sep 21 14:56:37 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: fixed a breakage raised by Jacob
-
-Fri Sep 20 20:08:18 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* include/win32config.h: added HAVE_ERRNO_H definition for parts
-	  which don't use sockets
-
-Fri Sep 20 18:40:50 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/Makefile.msvc: applied zlib patch from Daniel Gehriger
-	* win32/configure.js: applied zlib patch from Daniel Gehriger
-
-Fri Sep 20 15:40:14 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/configure.js: applied the patch from Mark Vakoc for 
-	  regexp support
-	* win32/libxml2.def.src: applied the patch from Mark Vakoc
-	  for regexp support
-	
-Fri Sep 20 15:35:33 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemastypes.c: as pointed by Igor Float and Double
-	  parsing ain't finished yet
-
-Fri Sep 20 14:00:16 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am configure.in: trying to fix #88412 by bypassing
-	  all the python subdir if python ain't detected
-
-Thu Sep 19 21:46:53 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am configure.in include/libxml/xmlversion.h.in:
-	  made configuring with regexps/automata/unicode the default
-	  but without schemas ATM
-	* testRegexp.c valid.c xmlregexp.c include/libxml/xmlregexp.h:
-	  fixed the regexp based DTD validation performance and memory
-	  problem by switching to a compact form for determinist regexps
-	  and detecting the determinism property in the process. Seems
-	  as fast as the old DTD validation specific engine :-) despite
-	  the regexp built and compaction process.
-
-Wed Sep 18 18:27:26 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: determinism is debugged, new DTD checking code now works
-	  but xmlFAComputesDeterminism takes far too much CPU and the whole
-	  set usues too much memory to be really usable as-is
-
-Wed Sep 18 00:54:30 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: fixed another stupid bug in xmlGetNodePath()
-	* xmllint.c: --version now report the options compiled in
-
-Tue Sep 17 23:48:07 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: small cleanup
-	* valid.c xmlregexp.c: switched DTD validation to use only regexp
-	  when configured with them. A bit of debugging around the determinism
-	  checks is still needed
-
-Tue Sep 17 21:22:25 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml_wrap.h: stupid bug found by mattam at netcourrier.com
-
-Tue Sep 17 19:58:26 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: small portability glitch fixed.
-
-Mon Sep 17 12:38:08 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemastypes.c: incomplete steps for real/double support
-	* testAutomata.c include/libxml/xmlautomata.h
-	  include/libxml/xmlregexp.h: avoiding a compilation problem
-	* valid.c include/libxml/valid.h: starting the work toward using
-	  the regexps for actual DTD validation
-
-Fri Sep 13 16:46:14 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* hash.c: cosmetic cleanup
-	* valid.c include/libxml/tree.h include/libxml/valid.h: started 
-	  integrating a DTD validation layer based on the regexps
-
-Thu Sep 12 18:01:29 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlregexp.c xmlschemas.c: fixed a bug reported by Jeff Goff,
-	  the determinism was tested before eliminating the epsilon
-	  transitions :-(
-
-Thu Sep 12 16:57:45 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml.c python/libxml.py
-	  python/libxml2-python-api.xml python/libxml2class.txt
-	  python/libxml_wrap.h python/types.c: updated the python
-	  bindings, added code for easier File I/O, and the ability to
-	  define a resolver from Python fixing bug #91635
-	* python/tests/Makefile.am python/tests/inbuf.py
-	  python/tests/outbuf.py python/tests/pushSAXhtml.py
-	  python/tests/resolver.py python/tests/serialize.py: updated
-	  and augmented the set of Python tests.
-
-Tue Sep 10 21:05:28 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/configure.js: added more readme info for the binary
-	  package.
-	
-Tue Sep 10 14:15:18 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: fixed a stupid out of bound array error
-
-Tue Sep 10 13:09:14 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/xmlIO.h xmlIO.c parser.c HTMLparser.c DOCBparser.c:
-	  messing around with support for Windows path, cleanups,
-	  trying to identify and fix the various code path to the
-	  filename access. Added xmlNormalizeWindowsPath()
-
-Thu Sep  5 16:19:18 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* error.c valid.c: working on better error reporting of validity
-	  errors, especially providing an accurate context.
-	* result/valid/xlink.xml.err result/valid/rss.xml.err: better
-	  error reports in those cases.
-
-Thu Sep  5 13:29:47 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* DOCBparser.c HTMLparser.c c14n.c entities.c list.c
-	  parser.c parserInternals.c xmlIO.c: get rid of all the 
-	  perror() calls made in the library execution paths. This
-	  should fix both #92059 and #92385
-
-Thu Sep  5 13:13:17 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: memory leak reporting was broken after a change
-	  of the preprocessor symbol used to activate it.
-
-Thu Sep  5 13:10:57 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: try to make the copy function work for node of
-	  type XML_DOCUMENT_FRAG_NODE, they are only created by the
-	  DOM layers though, not libxml2 itself.
-
-Thu Sep  5 12:57:38 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: try to provide file and line informations, not all
-	  messages are covered, but it's a (good) start
-
-Thu Sep  5 12:49:35 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xinclude.c: reimplemented a large part of the XInclude
-	  processor, trying to minimize resources used, James Henstridge
-	  provided a huge test case which was exhibiting severe memory
-	  consumption problems.
-
-Thu Sep  5 10:07:13 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am: applied patch from Christophe Merlet to
-	  reestablish DESTDIR
-
-Wed Sep  4 14:13:34 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in: fixes libary path for x86_64 AMD
-
-Tue Sep  3 21:14:19 MDT 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/tutorial/includekeyword.c
-	* doc/tutorial/xmltutorial.xml:
-	(plus resulting generated html files)
-	fixing one spot I missed in the tutorial where I hadn't freed
-	memory properly
-
-Sat Aug 31 19:31:17 MDT 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/tutorial/includeaddattribute.c
-	* doc/tutorial/includeaddkeyword.c
-	* doc/tutorial/includegetattribute.c
-	* doc/tutorial/includekeyword.c
-	* doc/tutorial/xmltutorial.xml
-	* doc/tutorial/*.html:
-	update tutorial to properly free memory (thanks to Christopher
-	R. Harris for pointing out that this needs to be done)
-	* doc/tutorial/images/callouts/*.png:
-	added image files so the callouts are graphical, making it
-	easier to read ( use "--param callout.graphics 1" to generate
-	html with graphical callouts)
-	
-Wed Aug 28 13:44:54 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/Libxml2-Logo-180x168.gif doc/Libxml2-Logo-90x34.gif:
-	  nice logos generated by Marc Liyanage
-	* doc/site.xsl *.html: changed the stylesheet to show the new
-	  logo and regenerated the pages
-
-Sun Aug 25 16:38:05 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: handle Windows sepecific file://localhost/ semantic ...
-
-Thu Aug 22 22:03:19 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: possible mem leak patch from Jason Adams
-
-Thu Aug 22 17:27:30 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: integrated xf:escape-uri() from Wesley Terpstra
-	  in the XQuery namespace
-	* configure.in: preparing 2.4.24
-	* doc/*.html: updated the web pages
-
-Thu Aug 22 16:19:42 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py: closing bug #85258 by generating conditional
-	  compile check to avoid linking to routines not configured in.
-
-2002-08-22  Havoc Pennington  <hp at pobox.com>
-
-	* autogen.sh: update error message for missing automake
-
-Thu Aug 22 11:45:50 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am: typo in target name resulted in libxml2.py
-	  to not be rebuilt. fixed DESTDIR similary to the libxslt one.
-
-Thu Aug 22 09:15:00 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* win32/win32/Makefile.mingw: updated with version from 
-	  Elizabeth Barham at http://soggytrousers.net/repository/
-
-Tue Aug 20 16:40:48 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/Makefile.msvc: added the prefix location to the include
-	and lib search path.
-	
-2002-08-18  Havoc Pennington  <hp at pobox.com>
-
-	* autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with
-	both automake 1.6 and 1.4 installed get the right automake. Means
-	compilation from CVS will now require the latest automake 1.4
-	release, or manually creating symlinks called "automake-1.4" and
-	"aclocal-1.4"
-
-Wed Aug 14 18:54:19 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in python/Makefile.am: more AMD 64 induced changes from
-	  Frederic Crozat
-
-Wed Aug 14 16:43:53 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xinclude.c: oops I was missing the xml:base fixup too
-	* result/XInclude/*.xml: this adds xml:base attributes to most
-	  results of the tests
-
-Wed Aug 14 16:05:37 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xinclude.c: quick but apparently working implementation of
-	  xi:fallback, should close bug #89684
-	* Makefile.am test/XInclude/docs/fallback.xml 
-	  result/XInclude/fallback.xml: added a basic test for fallback,
-	  and run with --nowarning to avoid a spurious warning
-	* configure.in: applied patch from Frederic Crozat for python
-	  bindings on AMD 64bits machines.
-
-Wed Aug 14 10:47:46 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: xmlSAXUserParseMemory() really ought to fail if
-	  the caller don't pass a SAX callback block.
-
-Wed Aug 14 10:29:02 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: applied the same fix for the XML-1.0 namespace to
-	  xmlSearchNsByHref() as was done for xmlSearchNs()
-
-Mon Aug 12 16:52:08 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.3: small cleanup of the man page
-	* HTMLtree.c: fixed a potential problem raised by Petr Vandrovec
-	  when serializing HREF attributes generated by XSLT.
-
-Mon Aug 12 15:24:05 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c include/libxml/HTMLtree.h: integrated a cleaned up
-	  version of Marc Liyanage' patch for boolean attributes in HTML
-	  output
-
-Mon Aug 12 14:11:59 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/tests/serialize.py: fixed the test results, indenting
-	  behaviour changed slightly
-
-Thu Aug  8 11:00:26 2002  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* win32/dsp/libxml2.def.src win32/libxml2.def.src: added
-	new c14n function to Windows def files
-	
-Fri Aug  2 16:46:46 2002  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* c14n.c: fixed a memory leak in c14n code
-
-Sat Aug  3 00:15:06 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c include/libxml/parser.h: adding a new API for Christian
-	  Glahn: xmlParseBalancedChunkMemoryRecover
-	* valid.c: patch from Rick Jones for some grammar cleanup in
-	  validation messages
-	* result/VC/* result/valid/*: this slightly change some of the
-	  regression tests outputs
-
-Thu Aug  1 14:50:28 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: trying to fix a problem in namespaced attribute handling
-	  raised by Christian Glahn
-
-Thu Aug  1 12:17:30 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* encoding.c include/libxml/encoding.h: Opening the interface
-	  xmlNewCharEncodingHandler as requested in #89415
-	* python/generator.py python/setup.py.in: applied cleanup
-	  patches from Marc-Andre Lemburg
-	* tree.c: fixing bug #89332 on a specific case of loosing 
-	  the XML-1.0 namespace on xml:xxx attributes
-
-Wed Jul 31 23:27:42 2002  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* c14n.c include/libxml/c14n.h: fixed one more c14n + namespaces
-	corner case from new Merlin's test suite and added a callback
-	that will be used to improve xmlsec performance
-	
-
-Mon Jul 29 18:22:00 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c: trying to fix the <style> escaping problem in
-	  HTML serialization bug #89342
-
-Thu Jul 25 01:33:47 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/xml.html doc/*.html: applied syntax patch from Rick Jones
-	  and rebuilt the web site.
-
-Mon Jul 22 11:04:48 PDT 2002  Aleksey Sanin <aleksey at aleksey.com>
-
-	* include/libxml/tree.h: added _private member to xmlNs struct
-
-Sun Jul 21 17:48:47 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: fixing bug #84876 based on the xml working
-	  code.
-
-Sun Jul 21 19:15:00 HKT 2002 William Brack <wbrack at mmm.com.hk>
-
-	* python/Makefile.am: enhanced to fix bug 72012 (errors
-	  when using '-jX' make parameter)
-
-Fri Jul 19 16:35:00 HKT 2002 William Brack <wbrack at mmm.com.hk>
-
-	* xpath.c: small additional enhancement for booleans
-	  compared to nodesets
-
-Wed Jul 17 19:48:14 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c: changed the order of the encoding declaration
-	  attributes in the meta tags due to a bug in IE/Mac
-
-Fri Jul 12 08:45:00 HKT 2002 William Brack <wbrack at mmm.com.hk>
-
-	* xpath.c: enhanced handling of booleans (especially '='
-	  and '!=' for nodesets) - fixes bug 85256.  Added new
-	  routine xmlXPathNotEqualValues for more proper handling
-	  of '!=' when nodesets are involved.
-
-Thu Jul 11 21:45:52 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/Makefile.am: fixing Red Hat bug #68614 by adding the
-	  doc/xmlcatalog_man.xml to the source distribution
-
-Wed Jul 10 21:26:13 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-	
-	* win32/Makefile.msvc: Added a copy *.pdb to install, few have
-	  asked for this.
-	
-Sat Jul  6 21:55:59 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.23
-	* doc/*: rebuilt the docs
-
-Sat Jul  6 21:11:20 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: fixing bug #84169 by fixing the
-	  comment of xmlCreatePushParserCtxt to describe the 
-	  encoding detection parameters better.
-
-Sat Jul  6 19:44:56 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: fixing bug #79331 in one path the lookup for
-	  ID attributes on a namespaced node wasn't handled correctly :-\
-
-Fri Jul  5 20:07:43 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: trying to fix 87235 about discarded white
-	  spaces in the HTML parser.
-	* result/HTML/*: this changes the output of a number of HTML
-	  regression tests
-
-Mon Jul  1 23:23:41 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: applied patch from Richard Jinks for the namespace
-	  axis + fixed a memory error.
-	* parser.c parserInternals.c: applied patches from Peter Jacobi
-	  removing ctxt->token for good.
-	* xmlschemas.c xmlschemastypes.c: fixed a few memory leaks
-	  popped out by the regression tests.
-	* Makefile.am: patch for threads makefile from Gary Pennington
-
-Fri Jun 28 19:38:00 HKT 2002 William Brack <wbrack at mmm.com.hk>
-
-	* xpath.c: enhanced behaviour of position() after usage of
-	  expressions involving preceding-sibling (et al).
-
-Tue Jun 18 09:58:48 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* hash.c: applied a patch from Peter Jacobi to solve a problem
-	  when compiling with the Watcom C on Win32 
-	* result/schemas/*.err: the change of hashing algo generated
-	  permutations in the output
-
-Mon Jun 17 19:02:49 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* hash.c: applied patch from Sander Vesik improving the quality of
-	  the hash function.
-
-2002-06-14  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* DOCBparser.c HTMLparser.c debugXML.c encoding.c
-	nanoftp.c nanohttp.c parser.c tree.c uri.c xmlIO.c
-	xmllint.c xpath.c: replaced sprintf() with snprintf()
-	to prevent possible buffer overflow (the bug was pointed
-	out by Anju Premachandran) 
-
-Thu Jun 13 17:30:25 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: removed an uninitialized data error popped by valgrind
-	  on PE references
-
-Wed Jun 12 21:38:46 MDT 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/xml.html
-	adding tutorial reference to the web page
-
-Wed Jun 12 21:26:08 MDT 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/tutorial/xmltutorial.xml
-	* doc/tutorial/ar01s07.html
-	* doc/tutorial/ape.html
-	* doc/tutorial/includegetattribute.c
-	adding section to tutorial about retrieving an attribute
-	value
-
-Tue Jun 11 12:07:04 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: applied a couple of patches from Peter Jacobi to start
-	  to get rid of ctxt->token, with a possible significant speed
-	  improvement to be gained once done. Better compliance with PE
-	  references constructs in DTDs too.
-	* test/valid/t[0-9]* result/valid/t[0-9]*: added a set of tests
-	  from Peter too
-
-Tue Jun 11 09:25:12 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Babak Vahedipour-Kunze reported that openTag in 
-	  xmlParseElement was likely to have been deallocated at the
-	  time of the report, possibly leading to segfault. Just report
-	  the tag name now.
-
-Mon Jun 10 18:00:02 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: patch from Richard Jinks for XPath substring() function
-	* result/XPath/expr/strings test/XPath/expr/strings: new set of tests
-
-2002-06-06  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* xmlIO.c: patch from Rachel Hestilow to fix bug #84340
-
-Wed Jun  5 19:14:49 MDT 2002 John Fleck <jfleck at inkstain.net>
-
-	*doc/FAQ.html
-	fixing typos in FAQ, thanks to Robert Funnell for the
-	editing help
-
-Wed Jun  5 14:50:24 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* NEWS: got complaints from rpmlint that it was empty
-
-Tue Jun  4 09:09:18 MDT 2002 John Fleck <jfleck at inkstain.net>
-
-	* added doc/tutorial, including:
-	apa.html
-	apb.html
-	apc.html
-	apd.html
-	ar01s02.html
-	ar01s03.html
-	ar01s04.html
-	ar01s05.html
-	ar01s06.html
-	includeaddattribute.c
-	includeaddkeyword.c
-	includekeyword.c
-	includestory.xml
-	index.html
-	xmltutorial.xml
-	libxml tutorial, including generated html
-
-Mon Jun  3 21:21:26 2002  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* result/c14n/exc-without-comments/merlin-c14n-two-*
-	  result/c14n/without-comments/merlin-c14n-two-*
-	  test/c14n/exc-without-comments/merlin-c14n-two-*
-	  test/c14n/without-comments/merlin-c14n-two-*
-	  testC14N.c Makefile.am: added merlin-c14n-two.tar.gz tests for 
-	c14n/exc-c14n and slightly modified test script to handle
-	these test cases
-	* c14n.c: fixed bugs for complicated nodes set (namespace
-	without node and others from merlin-c14n-two.tar.gz)
-	* include/libxml/xpathInternals.h win32/dsp/libxml2.def.src
-	win32/libxml2.def.src: "opened" xmlXPathNodeSetFreeNs() function
-	for xmlsec performance patch
-	* xpath.c: fixed self::node() for namespaces and attributes
-
-Mon Jun 03 00:04:21 2002 Chema Celorio <chema at ximian.com>
-
-	* tree.h: added xmlDocFormatDump which is just as xmlDocDump
-	  but with the format parameter
-	* tree.c: made xmlDocDump a wrapper arround xmlDocFormatDump
-
-Fri May 31 12:16:48 2002  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* Makefile.am: updated c14n tests suite
-	* c14n.c: performance improvement for previous c14n patch
-
-Fri May 31 11:47:12 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: another peroformance patch from Peter Jacobi, that
-	  time on parsing attribute values.
-
-Thu May 30 23:34:27 2002  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* Makefile.am result/c14n/* test/c14n/*: C14N tests integrated
-	into LibXML2 test suite
-
-Thu May 30 21:23:06 2002  Aleksey Sanin  <aleksey at aleksey.com>
-
-	* c14n.c: propagating xpath ancesstors node fix to c14n
-	plus small performance improvement to reduce number of
-	mallocs
-	* xpath.c: fixed ancestors axis processing for namespace nodes
-
-Wed May 29 10:21:39 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c parser.c tree.c include/libxml/tree.h: performance patch from
-	  Peter Jacobi
-
-Mon May 27 23:18:33 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.22
-
-Mon May 27 16:44:04 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c win32/libxml2.def.src win32/dsp/libxml2.def.src
-	  include/libxml/HTMLparser.h: fixing #79334 making htmlParseDocument
-	  a public entry point.
-	* doc/*: rebuilt the API and docs
-
-Mon May 27 14:16:28 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: patch from Richard Jinks to fix a problem introduced
-	  in the previous patch and pointed by Norm
-
-Fri May 24 13:10:22 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in: fixing bug #81112
-
-Fri May 24 13:03:24 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* uri.c: fixing bug #82848
-
-Fri May 24 09:54:49 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* result/catalogs/mycatalog.full: Aleksey's commit changed the
-	  output of one catalog test
-
-Fri 24 May 2002 12:17:45 AM PDT Aleksey Sanin <aleksey at aleksey.com>
-
-	* global.data globals.c tree.c include/libxml/globals.h 
-	win32/libxml2.def.src win32/dsp/libxml2.def.src: changed
-	default value for global parameter xmlIndentTreeOutput to 1 and
-	introduced new global parameter xmlTreeIndentString (the string
-	used to do one-level indent) with default value "  " (as it was
-	in tree.c)
-
-Thu May 23 13:55:57 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: Merijn Broeren pointed out a problem when compiling
-	  with trio and schemas.
-
-Wed May 22 11:57:49 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: patch from Richard Jinks to fix the problem raised in
-	  http://mail.gnome.org/archives/xml/2002-April/msg00246.htm
-
-Wed May 22 08:38:19 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemas.c: a bit of work on import.
-	* xmlschemastypes.c: Charles Bozeman provided a compare function
-	  for date/time types so min/max facet restrictions should work,
-	  indeterminate comparisons return an error instead of equal.
-	* test/schemas/date_0* result/schemas/date_0_0: specific test
-	  from Charles Bozeman too
-
-Sat May 18 09:54:12 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.3 doc/buildDocBookCatalog: apply a couple of patches
-	  from Christian Cornelssen fixing the man pages and the Catalog
-	  building script.
-	* xmlschemas.c include/libxml/schemasInternals.h: nothing new yet
-	  next step is <xs:import> I now have a reasonable understanding
-	  of how it works.
-
-Thu May 16 10:43:26 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: applied a small buffer performance patch from Gary Pennington
-
-Wed May 15 00:25:34 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/libxml2.def.src: exported xmlXPathNodeSetAddNs()
-
-Tue May 14 13:00:48 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: fixing an XPath function evalutation bug pointed out
-	  by Alexey Efimov where the context was lost when evaluating
-	  the function arguments
-
-Mon 13 May 2002 11:37:39 PM PDT Aleksey Sanin <aleksey at aleksey.com>
-
-	* xpath.c include/libxml/xpathInternals.h: maked xmlXPathNodeSetAddNs() 
-	  function public for XMLSec performance optimizations
-
-Mon May 13 12:32:22 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml2class.txt : fixed a problem
-	  with the HTML parser pointed by Gary Benson
-	* python/tests/Makefile.am python/tests/pushSAXhtml.py: sdding the
-	  example
-
-Thu 09 May 2002 11:19:00 AM PDT Aleksey Sanin <aleksey at aleksey.com>
-	* parser.c: fixed bug #81159 (memory growth in SAX)
-	
-Tue 07 May 2002 09:20:21 AM PDT Aleksey Sanin <aleksey at aleksey.com>
-	* xpath.c: fixed bug #78858 (the real fix)
-
-Sat 04 May 2002 11:56:31 PM PDT Aleksey Sanin <aleksey at aleksey.com>
-	* xpath.c: fixed bug #78858 (quick and durty fix to hide the problem)
-	
-Sun May  5 08:57:08 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: modified xmlNodeSetBase to allow changing the
-	  base of a document.
-
-Fri May  3 09:20:41 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemastypes.c: patch Charles Bozeman for validation of
-	  all the date, time, and duration types
-	* test/schemas/dur_0* result/schemas/dur_0*: associated tests
-	* configure.in: fixed an error pointed by an user
-	* xml2-config.in: fixed an error pointed by an user
-
-Wed 01 May 2002 11:29:27 AM PDT Aleksey Sanin <aleksey at aleksey.com>
-
-	* include/libxml/xmlIO.h win32/dsp/libxml2.def.src
-	win32/libxml2.def.src xmlIO.c: exported default
-	'file:', 'http:' and 'ftp:' protocols input handlers 
-	and maked protocols comparisson case insensitive
-
-Tue Apr 30 16:29:05 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: Neven Has detected a typo
-
-Tue Apr 30 08:48:11 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* AUTHORS HACKING: added Aleksey Sanin <aleksey at aleksey.com>
-	  as one of the persons allowed to commit directly to the
-	  module.
-
-Mon Apr 29 17:48:26 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: preparing 2.4.21
-	* valid.c: raised a too low limit
-	* doc/*: rebuilt the docs 
-
-Wed Apr 24 13:41:03 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* test/XPath/expr/floats test/XPath/expr/functions
-	  result/XPath/expr/floats result/XPath/expr/functions
-	  xpath.c: another XPath conformance patch from Richard Jinks
-
-Tue Apr 23 19:50:40 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemas.c: fixed validation of attribute groups.
-	* test/schemas result/schemas: added an example from the primer
-
-Tue Apr 23 09:11:37 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am xmlschemas.c xmlschemastypes.c: more work on Schemas
-	* test/schemas result/schemas: updated the test list
-
-Mon Apr 22 17:59:14 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* TODO: updated a bit
-	* parser.c: made a comment more specific
-	* xmlregexp.c xmlschemas.c xmlschemastypes.c: more work on the
-	  Schemas conformance.
-	* test/schemas result/schemas: updated the test list
-
-Sat Apr 20 19:36:39 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlregexp.c xmlschemas.c include/libxml/xmlautomata.h:
-	  implementing xs:all with minOccurs = 0
-	* tes/schemas/* result/schemas/*: added more tests covering
-	  xs:all
-
-Sat Apr 20 09:22:50 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlregexp.c: first implementation of the all particle, this
-	  may need to be revisited for case where not all transitions
-	  must be crossed.
-
-Fri Apr 19 18:26:04 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: another entity processing update from Markus Henke
-
-Fri Apr 19 17:14:24 CEST 2002 Bjorn Reese <breese at users.sourceforge.net>
-
-	* trionan.c: fixed crash on OSF/1
-
-Fri Apr 19 09:00:56 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemas.c: more Schemas work
-	* test/schemas/* result/schemas/*: added more tests coming
-	  from the spec.
-
-Thu Apr 18 23:00:02 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* c14n.c: patch from Aleksey Sanin reflecting a change in the
-	  ExcC14N specification
-
-Thu Apr 18 18:38:30 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: patch from Markus Henke, fix for recursive entities.
-
-Thu Apr 18 17:49:24 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: fix a problem with string() on a document node.
-
-Thu Apr 18 16:40:42 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am xmlschemas.c: more Schemas work
-	* test/schemas/* result/schemas/*: added more tests coming
-	  from the spec.
-
-Thu Apr 18 13:52:52 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c: fixed & serialization bug introduced in 2.4.20
-	* result/HTML/*: this changes a few things in the results
-
-Wed Apr 17 20:34:37 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* include/libxml/tree.h: eliminated 'declaration different than
-	 prototype' warning
-	* include/win32config.h: "resolved" conflicts with errno.h
-
-Wed Apr 17 18:26:07 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlregexp.c xmlschemas.c include/libxml/xmlautomata.h: more work
-	  on the automata interfaces and debug of counted choices
-	* test/schemas/* result/schemas/*: added a number of tests
-
-Wed Apr 17 11:03:03 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlschemas.c xmlschemastypes.c include/libxml/xmlschemas.h:
-	  a bit of work on Schemas
-	* testSchemas.c: try to make it more useful
-	* test/schemas/* result/schemas/* Makefile.am: changed the
-	  Schemas regression test procedure, started adding a few samples
-
-Tue Apr 16 19:52:01 CEST 2002 Igor Zlatkovic <izlatkovic at stud.fh-frankfurt.de>
-
-	* include/libxml/encoding.h: Patch for the Borland C++ builder
-	* include/libxml/tree.h: Patch for the Borland C++ builder
-	* threads.c: Patch for the Borland C++ builder
-	* win32/bcb5: New directory for the Borland C++ builder
-	 project files       
-
-Tue Apr 16 19:46:55 CEST 2002 Igor Zlatkovic <izlatkovic at stud.fh-frankfurt.de>
-
-	* win32/Makefile.msvc: Update for XML Schema support
-	* win32/configure.js: Update for XML Schema support
-	* win32/libxml2.def.src: Update for XML Schema support
-
-Tue Apr 16 17:46:43 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am TODO_SCHEMAS configure.in genUnicode.py testAutomata.c
-	 testRegexp.c testSchemas.c xmlregexp.c xmlschemas.c xmlschemastypes.c
-	 xmlunicode.c include/libxml/Makefile.am
-	 include/libxml/schemasInternals.h include/libxml/xmlautomata.h
-	 include/libxml/xmlregexp.h include/libxml/xmlschemas.h
-	 include/libxml/xmlschemastypes.h include/libxml/xmlunicode.h
-	 include/libxml/xmlversion.h.in : merged the current state of
-	 XML Schemas implementation, it is not configured in by default,
-	 a specific --schemas configure option has been added.
-	* test/automata test/regexp test/schemas Makefile.am
-	  result/automata result/regexp result/schemas:
-	  merged automata/regexp/schemas regression tests
-
-Tue Apr 16 09:48:44 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: Gary found a compile time problem, fixes #78823
-
-Mon Apr 15 19:11:36 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: release of 2.4.20
-	* doc/*: updated and rebuilt the docs
-
-Mon Apr 15 14:55:53 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am: patch from Cristian Gafton to build on
-	  Red Hat 6.2, should also fix #75779
-
-Mon Apr 15 12:14:49 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: first part of fixing #78729
-
-Sun Apr 14 23:44:58 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c uri.c: fixing bug #78662 i.e. add proper
-	  escaping of URI when saving HTML files.
-	* result/HTML/*: this impacted some tests
-
-Sun Apr 14 14:55:15 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: trying to fix #77441
-
-Fri Apr 12 23:02:16 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/xmlIO.h: Hallski complained it could not be
-	  included by itself.
-
-Thu Apr 11 10:23:36 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: applied an IEEE flag patch for OSF/1 #77825
-
-Wed Apr 10 23:31:34 CEST 2002 Igor Zlatkovic <igor at stud.fh-frankfurt.de>
-
-	* win32/configure.js: patch from Nilo for the c14n option
-	* win32/Makefile.msvc: fixed libxml2.def generation with threads
-
-Wed Apr 10 21:24:16 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c include/libxml/xmlwin32version.h.in: Silvan Minghetti
-	  pointed erroneous use of LIBXML_THREADS_ENABLED instead of
-	   LIBXML_THREAD_ENABLED
-
-Wed Apr 10 18:12:52 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: another patch from Richard Jinks for substring conformance
-	* test/XPath/expr/floats test/XPath/expr/strings
-	  result/XPath/expr/floats result/XPath/expr/strings: update of the
-	  test suite to check those.
-
-Wed Apr 10 13:29:49 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: patch from Richard Jinks for .x float parsing.
-
-Tue Apr  9 18:09:31 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: patch from Markus Henke when an encoding ain't recognized
-
-Tue Apr  9 15:47:14 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.m4: got a report that #include <string.h> was needed
-
-Tue Apr  9 11:51:25 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: applied a fix from Anthony Jones for -o /--output
-
-Tue Apr  2 20:27:11 MST 2002 John Fleck <jfleck at inkstain.net>
-
-	* doc/example.html: fixing typo
-
-Mon Apr  1 10:02:57 CEST 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: fixed a bug in the nodeset to boolean comparison code
-	  pointed out by Melvyn Sopacua.
-
-Fri Mar 29 23:41:53 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.m4: Frédéric Crozat gave a patch related to the change
-	  of Include paths breaking the libxml.m4
-
-Fri Mar 29 18:25:54 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: Fix bug #76927 forgot to save some context
-	  when evaluating binary expressions
-
-Thu Mar 28 19:22:48 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: fixed configure for MPE/iX from Markus Henke
-	* xmlmemory.c: fixed initialization problems
-	* xpath.c: another set of patches from Richard Jinks this
-	  fixes "make XPathtests" on linux
-
-Wed Mar 27 17:09:43 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* trionan.c trionan.h xpath.c: more patches from Richard Jinks
-	* test/XPath/expr/compare test/XPath/expr/equality
-	  test/XPath/expr/floats test/XPath/expr/functions
-	  test/XPath/expr/strings result/XPath/expr/compare
-	  result/XPath/expr/equality result/XPath/expr/floats
-	  result/XPath/expr/functions result/XPath/expr/strings: Updated
-	  tests though they show a divergence on Linux
-
-Wed Mar 27 10:06:53 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c trionan.c: previous commit also included patches
-	  from Richard Jinks on some IEEE support corner case
-
-Wed Mar 27 10:03:11 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* AUTHORS HACKING: Added Igor Zlatkovic as official maintainer
-	* python/Makefile.am python/tests/Makefile.am: Albert Chin pointed
-	  that $(datadir) should be used for docs
-
-Tue Mar 26 13:43:16 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: Thomas Steinborn pointed out #76404 that libxml2
-	  could leak filedescriptors
-
-Tue Mar 26 08:55:53 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in nanohttp.c: applied patch from Allan Clark for
-	  UnixWare/OpenServer
-
-Mon Mar 25 17:45:44 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.19
-	* doc/*: rebuilt the docs
-
-Mon Mar 25 17:34:06 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* nanohttp.c: fixing #76043, got fed up with non-portability
-	  of that piece of code.
-
-Mon Mar 25 13:08:21 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c SAX.c: Never commit without running "make tests" :-(
-	  fix a couple of stupidities in the previous commit
-	* result/*: a few changes in some attribute order result of previous
-	  commit.
-
-Mon Mar 25 11:46:05 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c SAX.c: fixed bug #76168, attribute redeclared in
-	  the internal subset should not raise duplicate ID errors,
-	  also there was a small bug in conjunction to namespace
-	  declarations defaulted and xml:xxx attributes DTD definitions.
-	  
-Fri Mar 22 15:13:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: Richard Jinks also raised some rounding problems
-	  this tries to fix them
-
-Fri Mar 22 13:22:09 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: Richard Jinks spotted an incoherent memory allocation
-	  behaviour in xmlXPathCastToString()
-
-Thu Mar 21 14:25:29 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* encoding.c: fixed a bug in the ISO-Latin 1 to UTF8 encoder
-	  raised by Morus Walter
-
-Thu Mar 21 14:07:13 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlcatalog.c include/libxml/xmlversion.h.in: applied 2 fixups
-	  from Igor
-
-Thu Mar 21 13:30:06 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: fixing #75619, related to a problem when trying
-	  to evaluate condition when the current node set resulting
-	  from that sub-step evaluation is empty. Also fixes 2 potential
-	  problem with previous-sibling and next-siblings axis.
-
-Thu Mar 21 09:03:59 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* c14n.c: patch from Mark Vakoc to build C14N if DocBook and
-	  HTML support is not configured in.
-
-Wed Mar 20 22:42:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c error.c parser.c parserInternals.c tree.c xmlIO.c
-	  include/libxml/tree.h: dohh I really didn't intended to commit
-	  this test version :-(
-
-Wed Mar 20 20:20:57 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* testSAX.c: I wanted to see the real speed at the SAX interface
-	  after a little too many Ximianer started complaining about the
-	  parser speed.
-	  added a --quiet option:
-	  paphio:~/XML -> ls -l db100000.xml 
-	  -rw-rw-r--    1 veillard www      20182040 Mar 20 10:30 db100000.xml
-	  paphio:~/XML -> time ./testSAX --quiet db100000.xml 
-	  3200006 callbacks generated
-	  real	0m1.270s
-	  Which means 16MBytes/s and 3Mcallback/s
-
-Tue Mar 19 19:33:57 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: valgrind spotted another error that time when running
-	  on libxslt regression tests
-
-Tue Mar 19 15:24:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: adding "make valgrind" running the full regression
-	  tests (except python ones) under Valgrind (using valgrind -q
-	  which was kindly added by the author).
-	* valid.c: stupid bug pinpointed by Valgrind, the regression tests
-	  passes cleanly now except an obcure floating point initialization
-	  raised in log10() in one XPath regression test ???
-	* tree.c: edited some comments to close #75244
-
-Tue Mar 19 12:15:20 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: pretty insane thing, the xmlXPathFormatNumber()
-	  was not serializing 1 as "1" if LC_ALL=sv_SE :-( and in the
-	  context of ScrollKeeper, made sure that if the number is
-	  an integer, the serialization follows the description at
-	  http://www.w3.org/TR/xpath#section-String-Functions
-
-Mon Mar 18 19:18:13 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.18
-	* doc/*: updated and rebuilt the web site
-	* *.c libxml.h: implement the new IN_LIBXML scheme discussed with
-	  the Windows and Cygwin maintainers.
-	* parser.c: humm, changed the way the SAX parser work when
-	  xmlSubstituteEntitiesDefault(1) is set, it will then 
-	  do the entity registration and loading by itself in case the
-	  user provided SAX getEntity() returns NULL.
-	* testSAX.c: added --noent to test the behaviour.
-
-Mon Mar 18 12:44:23 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Wilfried Teiken provided a hackish but working
-	  way to get context reported back on entities when parsing
-	  with SAX and without breaking the DOM build.
-
-Sun Mar 17 11:31:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* c14n.c: applied a new patch from Aleksey Sanin
-	* doc/site.xsl doc/xml.html doc/*.html: updated the documentation
-	  to reference Aleksey implementation of XML digital Signatures
-
-Sat Mar 16 23:01:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: small fix to avoid potential problem due to
-	  ordering of freeing data
-	* python/Makefile.am: people were complaining about 
-	  the generated file in python dir not being built
-
-Fri Mar 15 23:21:40 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in python/Makefile.am python/tests/Makefile.am
-	  python/generator.py python/libxml.c python/types.c: Cleanup
-	  of the python Makefiles based on Jacob and James feedback,
-	  fixed the spec file accordingly, fixed the number of warning
-	  that passing my pedantic CFLAGS was generating. Conclusion
-	  is that Python includes are real crap.
-
-Fri Mar 15 19:41:25 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure,in: it was reported quite a few times that
-	  xml2-config --cflags should not output
-	  -I$includeprefix/libxml2/libxml because libxml2 header names
-	  clashes with existing names like list.h from C++ stl.
-	  Includes should be #include<libxml/xxx.h> so ...
-
-Fri Mar 15 10:41:50 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* c14n.c: another patch from Aleksey Sanin
-
-Fri Mar 15 08:55:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* c14n.c: applied patch from Aleksey Sanin fixing a problem in the
-	  canonicalization algorithm
-	* doc/xml.html doc/index.html: added the C14N references on the 
-	  index page.
-
-2002-03-13  jacob berkman  <jacob at ximian.com>
-
-	* python/Makefile.am: remove LDADD and CFLAGS as this is broken
-	usage, redundant, and gcc specific
-
-Wed Mar 13 11:00:59 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: speedup some node selection operations, this can
-	  have a significant impact on DocBook Norm's stylesheets
-	* nanohttp.c: someone reported that SOCKLEN_T may not be defined
-	  make sure it's always the case
-	* debugXML.c: distinguish CDATA and comments in ls operations
-
-Tue Mar 12 19:45:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/*.h: Heiko W. Rupp fixed a lot of comments
-	  to generate better API descriptions etc...
-
-Mon Mar 11 10:10:30 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* c14n.c: Fixing #74186, made sure all boolean expressions
-	  get fully parenthesized, ran indent on the output
-	* configure.in HTMLtree.c SAX.c c14n.c debugXML.c tree.c xpointer.c
-	  include/libxml/tree.h: also #74186 related, removed the
-	  --with-buffers option, and all the preprocessor conditional
-	  sections that were resulting from it.
-
-Sun Mar 10 17:47:58 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: applied patch from Dodji Seketeli fixing an
-	  uninitailized variable in xmlValidGetValidElements()
-
-Sat Mar  9 15:10:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* c14n.c: fixed a few comments
-	* doc/*.html doc/*/*.html: regenerated the docs and added
-	  the C14N API
-	* doc/api.xsl doc/gnome-xml.sgml: fixups and added IDs
-
-Sat Mar  9 11:16:11 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* check-xml-test-suite.py: fix to adapt varaiations in the
-	  bindings
-	* configure.in python/setup.py python/setup.py.in: fixed to
-	  have the version of the python scripts automatically updated
-
-Fri Mar  8 16:45:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: fixed a bug newly introduced and pointed by Uwe Fechner
-	  in xmlCopyProp()
-
-Fri Mar  8 15:49:10 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.17 release
-	* doc/*: updated and rebuilt the docs
-	* xpath.c: fixed a comment
-	* python/libxml.c: fixed a possible reentrancy problem
-
-Thu Mar  7 23:19:28 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c python/tests/Makefile.am python/tests/attribs.py:
-	  fixed xmlHasNsProp() bugs for defaulted from DTD attribs,
-	  added a specific regression test
-	* python/generator.py: xmlHasNsProp() and xmlHasProp() shall
-	  not raise exceptions when failing to find the attribute.
-
-Thu Mar  7 16:11:35 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in xmllint.c: owen pointed out a problem with the
-	  ftme fix, gettimeofday() was not detected by configure and
-	  the ftime header wasn't included, dohhh
-
-Thu Mar  7 12:19:36 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in xmllint.c: trying to fix #71457 for timing
-	  precision when gettimeofday() is not availble but ftime() is
-
-Thu Mar  7 11:24:02 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in doc/Makefile.am: Fixed #73408 missing images
-	  are now copied on install and part of the -devel RPM
-
-Thu Mar  7 09:34:16 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: trying to avoid bug #72150 which was apparently
-	  caused by a gcc bug (or a processor problem) as detailed
-	  at http://veillard.com/gcc.bug
-
-Thu Mar  7 01:02:37 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c python/tests/Makefile.am python/tests/cutnpaste.py:
-	  fixed xmlReconciliateNs(), added a Python test/example for
-	  inter-document cut'n paste
-	* python/libxml.py: fixed node.doc on document nodes and added
-	  xpathEval() onto node objects
-
-Wed Mar  6 22:38:03 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c: fixed some htmlSetMetaEncoding() problems
-	* python/libxml.c python/tests/Makefile.am python/tests/serialize.py:
-	  fixup and integrated tests for the serialization stuff
-
-Wed Mar  6 19:40:57 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am libxml.3 libxml.4 libxml.spec.in: Fixed bug #72570
-	  moved the libxml man page to section 3
-
-Wed Mar  6 18:34:07 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: fix bug #72490
-	* python/libxml.c python/libxml.py: added methods serialize()
-	  and saveTo() to all node elements.
-
-Tue Mar  5 21:27:03 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: closed #73430, don't read from an input source
-	  which indicated an end-of-file or an error.
-
-Tue Mar  5 16:33:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: make sure SAX endDocument is always called as
-	  this could result in a Python memory leak otherwise (it's
-	  used to decrement ref-counting)
-	* python/generator.py python/libxml.c python/libxml.py
-	  python/libxml2-python-api.xml python/libxml2class.txt
-	  python/tests/error.py python/tests/xpath.py: implemented
-	  the suggestions made by Gary Benson and extended the tests
-	  to match it.
-
-Tue Mar  5 10:35:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py: applied patch fixing #73450
-
-Mon Mar  4 17:59:29 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: fixing #61290 "namespace nodes have no parent"
-	  long standing divergence from the XPath REC. NodeSets
-	  simply hold a copy of namespace nodes and those node ->next
-	  points to the parent (which may not be the node carrying the
-	  definition).
-	* include/libxml/xpath.h: flagged but didn't added a possible
-	  speedup
-	* DOCBparser.c HTMLparser.c: removed some warnings from push
-	  parser due to new state being added.
-	* tree.c: new fix from Boris Erdmann
-	* configure.in c14n.c include/libxml/c14n.h testC14N.c: added
-	  the XML Canonalization support from Aleksey Sanin
-
-Sun Mar  3 15:12:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: patch from Boris Erdmann fixing some namespace odities
-	  with xmlCopyNode()
-
-Sat Mar  2 10:33:04 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: fix bug #72706 when loading a NULL entity
-
-Fri Mar  1 17:14:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: Fixed #72346, about handling of xmlns:foo="", this could
-	  actually change in a future XML Namespace revision.
-
-Fri Mar  1 17:12:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/types.c python/tests/Makefile.am python/tests/xpathret.py:
-	  added the possibility of returning nodesets from XPath extension
-	  functions written in Python
-
-Fri Mar  1 13:56:12 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/*: commiting some Python bindings work done while travelling
-
-Fri Mar  1 10:11:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: close #72663 and #72658, don't memdump unless compiled
-	  explicitely with memory debugging switched on
-
-Sat Feb 23 11:08:09 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml.c python/libxml2-python-api.xml
-	  python/libxml2class.txt python/libxml_wrap.h python/types.c:
-	  Added wrapper for the xmlURIPtr type, provided accessors, fixed
-	  the accessor generator for strings
-	* python/tests/Makefile.am python/tests/tstURI.py: added a specific
-	  regression test.
-
-Fri Feb 22 23:44:57 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/README python/generator.py python/libxml.c python/setup.py:
-	  added the 'usual' setup.py to allow building a libxml2-python
-	  module based on the same code. The initialization is however
-	  different the 2 .so files fo libxml2 and libxslt are identical and
-	  they entry point initialize both libraries. this is done to avoid
-	  some possible nasty problem since the Python don't merge the maps
-	  of all shared modules.
-
-Wed Feb 20 23:16:08 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: fixed a push/encoding bug reported by Michael
-	  on librsvg
-
-Wed Feb 20 19:54:05 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/parserInternals.h: fixes a misplaced #endif
-
-Wed Feb 20 17:47:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c valid.c: found and fixed a couple of allocation bugs
-
-Wed Feb 20 15:36:03 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/xml.html doc/python.html doc/*: added a Python and binding
-	  page describing the current state of the Python bindings and 
-	  giving pointers to the other languages wrappers.
-
-Wed Feb 20 11:16:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: preparing 2.4.16
-	* doc/* python/libxml2class.txt: updated and rebuilt the docs,
-	  rebuilt the API and web site
-	* xpath.c: fixed #71978 portability bugs
-
-Tue Feb 19 22:49:36 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: oops broke automatic defaulting of namespaces attributes.
-
-Tue Feb 19 22:01:35 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/parserInternals.h parser.c: had to change
-	  2 internal parsing API when processing document content
-	  to check the start and end of element content are defined
-	  in the same entity
-	* valid.c include/libxml/valid.h: attribute normalization can
-	  generate a validity error added xmlValidCtxtNormalizeAttributeValue()
-	  with the context to report it.
-	* SAX.c: fixed the last known bugs, crazy validation constraints
-	  when a document is standalone seems correctly handled. There
-	  is a couple of open issues left which need consideration especially
-	  PE93 on external unparsed entities and standalone status. 
-	  Ran 1819 tests: 1817 suceeded, 2 failed and 0 generated an error in 8.26 s.
-	  The 2 tests left failing are actually in error. Cleanup done.
-
-Tue Feb 19 15:17:02 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: implemented E59 spaces in CDATA does not match the
-	  nonterminal S
-
-Tue Feb 19 14:44:53 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c parser.c valid.c: more validation test fixups
-	* check-xml-test-suite.py: added duration info for the tests
-
-Mon Feb 18 23:25:08 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c valid.c: a couple of errors were reported but not
-	  saved back as such in the parsing context. Down to 1% failure rate
-	  Ran 1819 tests: 1801 suceeded, 18 failed and 0 generated an error
-
-Mon Feb 18 20:16:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlInternald.c: isExtender was missing a char 
-	* parser.c include/libxml/parser.h: % are acceptable in the
-	  internal subset if within a PUBLIC ID
-
-Mon Feb 18 19:27:32 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c parserInternals.c valid.c: more work on the conformance
-	  suite. Took the step to finally block documents with encoding
-	  errors. It's a fatal error per the spec, people should have fixed
-	  their documents by now.
-
-Mon Feb 18 15:30:14 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* check-xml-test-suite.py: fixed the test script after some discussion
-	  on the semantic of TYPE="error"
-	* Makefile.am: added the script to the distrib
-
-Mon Feb 18 12:17:41 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c entities.c: fixed a couple of conformances issues deep
-	  into the validation code (standalone and undeclared Notations)
-
-Mon Feb 18 00:17:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: fixed #71741 supid typo an a bug about encoding parsing
-	  stayed there for years !
-
-Mon Feb 18 00:06:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c SAX.c: fixed #71740 NotationDecl with a required field
-	  missing
-
-Sun Feb 17 23:45:40 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* check-xml-test-suite.py: improved the behaviour a bit as
-	  well as the logs
-	* parser.c valid.c SAX.c: fixed a few more bugs 
-	  "Ran 1819 tests: 1778 suceeded, 41 failed, and 0 generated an error"
-
-Sun Feb 17 20:41:37 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* check-xml-test-suite.py: python script to run regression tests
-	  against the XML Test suite of W3C/OASis
-	* SAX.c: fixed a validation bug
-	* parser.c: fixed 3 errors pointed by the test suite
-	* doc/buildDocBookCatalog: fixed a typo pointed by drake
-	* python/Makefile.am: fixed a dependendy
-
-Fri Feb 15 21:47:13 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlmemory.c: avoid a warning bug #71594
-
-Wed Feb 13 22:13:33 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlmemory.c: Jesse Perry provided a patch to remove a few
-	  warning on alpha/Tru64
-
-Wed Feb 13 14:30:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/entities.h: fixing a comment
-	* valid.c: fixing some troubles with validity check on namespaces
-	* result/VC/NS3 test/VC/NS3: added a specific regression test
-
-Wed Feb 13 14:05:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: Fixing #71342 serializing '\n' in attribute values
-	* result/noent/att3 result/att3 test/att3: added a specific
-	  test.
-
-Tue Feb 12 14:45:32 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml.c: couple of bug fixes
-
-Mon Feb 11 19:41:29 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/*.py: removed tabs and used spaces.
-
-Mon Feb 11 19:25:44 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: preparing 2.4.15
-	* doc/news.html doc/xml.html doc/xmlio.html: rebuilt some docs
-
-Mon Feb 11 14:53:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/xmlcatalog_man.xml: trying to close Red Hat bug #58707
-	  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=58707
-
-Mon Feb 11 09:53:02 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/encoding.h include/libxml/entities.h
-	  include/libxml/globals.h include/libxml/parser.h
-	  include/libxml/threads.h include/libxml/tree.h
-	  include/libxml/xmlmemory.h: trying to fix the include mess
-
-Mon Feb 11 08:53:33 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/xmlmemory.h: reverted part of the previous
-	  attempt to provide #69655, this was breaking the build.
-
-Sun Feb 10 14:13:34 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c Makefile.am build_glob.py configure.in debugXML.c
-	  globals.c parser.c threads.c tree.c valid.c xmlmemory.c
-	  xpath.c xpointer.c include/libxml/globals.h include/libxml/parser.h
-	  include/libxml/parserInternals.h include/libxml/tree.h
-	  include/libxml/xmlmemory.h include/libxml/xpathInternals.h:
-	  Tentatively fixed #69655 , make compiling with -Wredundant-decls
-	  clean.
-        * python/libxml.c: fixed a warning.
-
-Sun Feb 10 12:02:59 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c valid.c xinclude.c: fix #68882, cleanup the XInclude
-	  copying of node, merge back IDs in the target document.
-	* result/XInclude/docids.xml test/XInclude/docs/docids.xml
-	  test/XInclude/ents/ids.xml: test case
-	* result/VC/ElementValid4: output changed due to a typo fix
-
-Sat Feb  9 23:15:04 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am: seems some version of automake didn't
-	  generate the dependencies right as Jacob found out. Add
-	  an extra dependency rule.
-
-Sat Feb  9 18:59:23 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parserInternals.c valid.c: Justin Fletcher found some parts
-	  of the code needing cleanup
-	* libxml.spec.in python/Makefile.am python/generator.py
-	  python/libxml.c python/libxml.py: Fixed the python Makefiles
-	  corrected a bug showing up on ia64, changed the name of the
-	  python internal module too
-
-Fri Feb  8 15:19:28 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: applied patch from Andris Pavenis for binary
-	  name suffixes
-
-Fri Feb  8 14:43:17 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c win32/win32config.h: fixing #68748
-
-Fri Feb  8 14:37:05 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: fixing #70166
-
-Fri Feb  8 14:31:24 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: fixing #70077
-
-Fri Feb  8 14:24:02 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Copyright Makefile.am README configure.in libxml.spec.in:
-	  Changed to the MIT Licence
-	* doc/FAQ.html doc/catalog.html doc/intro.html doc/xml.html
-	  doc/xmlio.html: updated the doc accordingly
-	* include/libxml/xmlwin32version.h configure.in: preparing
-	  2.4.14 release
-	* python/generator.py python/libxml.c python/libxml2-python-api.xml
-	  python/libxml2class.txt python/libxml_wrap.h python/types.c:
-	  fixed the const xmlChar * wrapper and generator, XPath extension
-	  functions now use the context as first argument
-	* python/tests/tstxpath.py python/tests/xpath.py
-	  python/tests/xpathext.py: Updated the tests accordingly
-	* tree.c: fixed bug #70067
-
-Thu Feb  7 17:33:58 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: cleanup
-	* debugXML.c: always use stdout if output is NULL
-	* xmlIO.c: don't close filedescriptors passed to outputBuffers
-	* python/Makefile.am python/generator.py python/libxml2class.txt
-	  python/libxml_wrap.h python/types.c: augmented the number of bindings
-	  handling FILE * and XPath contexts
-	* python/tests/Makefile.am: avoid a stupid problem due to the
-	  use of TEST.
-
-Wed Feb  6 23:37:07 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: fixed stupid bug #70738 found by alfons hoogervorst
-
-Wed Feb  6 17:04:51 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/TODO python/libxml.c: cleanup the extension function lookup
-	* xmlmemory.c include/libxml/xmlmemory.h: always compile the list
-
-Tue Feb  5 17:33:30 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in python/Makefile.am: do not install outside
-	  of prefix
-
-Mon Feb  4 15:05:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/TODO python/libxml.c: started adding SAX interfaces
-	* python/tests/Makefile.am python/tests/pushSAX.py: added a basic
-	  SAX test
-
-Mon Feb  4 01:12:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: hardened the addChild function
-	* python/generator.py python/libxml.c python/libxml2-python-api.xml
-	  python/libxml2class.txt python/libxml_wrap.h python/TODO:
-	  added accessors needed for xmlNode, a bit more testing and
-	  extension of interfaces
-	* python/tests/Makefile.am python/tests/build.py: added a test
-	  build from scratch/save/load/check
-
-Sun Feb  3 21:10:39 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parserInternals.c: change a small bit in the way valididy
-	  error messages get initialized
-	* python/TODO python/libxml.c python/libxml2-python-api.xml
-	  python/libxml2class.txt python/libxml_wrap.h python/types.c:
-	  added some memory debugging to track leaks at the libxml2 level
-	* python/tests/*.py: changed all tests to check for leaks,
-	  there is just one left in XPath extension registrations.
-
-Sun Feb  3 17:50:46 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/TODO python/generator.py python/libxml2-python-api.xml
-	  python/libxml2class.txt: more accessor classes for the parser
-	  context, allow to switch on and check validity
-	* python/tests/Makefile.am python/tests/error.py
-	  python/tests/invalid.xml python/tests/valid.xml
-	  python/tests/validate.py: attded more test and and added error.py
-	  which I forgot to commit in the last step
-
-Sun Feb  3 16:03:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am python/types.c: cleanup
-	* python/libxml.c python/libxml.py python/libxml_wrap.h
-	  python/generator.py python/libxml2-python-api.xml 
-	  python/libxml2class.txt: added class for parser context, added
-	  first cut for push mode support. Added a framework to generate
-	  accessors functions.
-	* python/tests/Makefile.am python/tests/push.py: added a push
-	  test
-
-Sun Feb  3 00:17:26 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am python/TODO python/libxml.py: fixed a small
-	  bug a bit of cleanup.
-
-Sat Feb  2 22:47:10 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am python/libxml.c python/libxml2-python-api.xml
-	  python/libxml2class.txt: adding error redirections and preformat
-	  to a python handler
-	* python/tests/Makefile.am python/tests/*.py: cleanup made all
-	  tests self checking
-
-Sat Feb  2 13:18:54 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/libxml.c python/libxml.py: fixed a stupid bug when renaming
-	  a function
-
-Sat Feb  2 11:25:51 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in python/Makefile.am python/TODO python/generator.py
-	  python/libxml.c python/libxml2-python-api.xml
-	  python/libxml2class.txt: Progressing through the TODOs, class
-	  description output, extra XML API, RPM now builds the wrappers
-	  for all python installed versions
-
-Sat Feb  2 10:13:52 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in libxml.spec.in python/Makefile.am python/TODO
-	  python/generator.py python/libxml2class.txt: added more informations
-	  in the libxml2-python package including docs. Slightly changed
-	  the class hierarchy
-	* python/tests/*: added basic regression tests infrastructure too
-
-Fri Feb  1 23:11:58 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in libxml.spec.in example/Makefile.am python/Makefile.am:
-	  added libxml2-python as part of the packages installed
-
-Fri Feb  1 18:48:19 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am python/generator.py python/libxml.c
-	  python/libxml.py: more work, now able to extend the
-	  XPath interpreter with functions written in python.
-
-Fri Feb  1 10:28:51 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am: Jacob sent a patch to allow building from
-	  tarfile.
-
-Fri Feb  1 00:40:48 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/Makefile.am python/libxml.c configure.in Makefile.am:
-	  inserted the python wrappers build, I hope this won't be too
-	  unportable
-
-Thu Jan 31 21:27:37 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: minor optimization
-	* python/generator.py python/libxml.c python/libxml.py
-	  python/libxml_wrap.h: more work on the python bindings,
-	  they now support XPath and there is no evident leak
-
-Thu Jan 31 00:48:06 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml.c python/libxml.py:
-	  more work on the python bindings generator.
-
-Wed Jan 30 21:51:26 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml.c python/libxml_wrap.h:
-	  more work on the python bindings.
-
-Wed Jan 30 17:35:33 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* python/generator.py python/libxml.c python/libxml.py
-	  python/libxml_wrap.h: commited early version of a python binding
-	  for private use only ATM
-
-Sat Jan 26 22:41:13 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* entities.c tree.c include/libxml/entities.h: applied patch
-	  from Anthony Jones to implement copy of DTD subtree too. Had
-	  just to keep 2 function private which really ought to become
-	  public ones.
-
-Fri Jan 25 15:14:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: added pointers to the web pages in the usage()
-
-Thu Jan 24 17:04:04 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: more fixes from Petr Kozelka for attribute handling
-	  in the tree API to align the semantic with DOM.
-
-Thu Jan 24 16:00:53 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c tree.c entities.c: another set of patches from
-	  Anthony Jones for copy operations cleanup and robustness
-
-Wed Jan 23 18:53:55 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/APIchunk*.html doc/parsedecl.py doc/api.xsl: generated
-	  an alphabetic index based on comments content
-	* doc/*: rebuilt the web site with the new references
-
-Wed Jan 23 15:14:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parserInternals.h: Greg Sjaardema suggested to use an
-	  eponential buffer groth policy in xmlParserAddNodeInfo()
-
-Wed Jan 23 13:32:40 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/api.xsl doc/APIconstructors.html doc/APIfiles.html
-	  doc/APIfunctions.html doc/APIsymbols.html doc/libxml2-refs.xml
-	  doc/parsedecl.py doc/Makefile.am: updated the python extractor
-	  to generate cross-references, and added/updated the stylesheets
-	  to generate and link API indexes. The generic keyword index
-	  is not done yet.
-	* doc/*.html: regenerated all the usual docs too
-
-Tue Jan 22 23:11:26 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c: added an xpath function to the shell for T. V. Raman
-
-Tue Jan 22 22:42:23 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c: patch from Anthony Jones to catch NULL nodes in
-	  debug routines.
-
-Tue Jan 22 22:38:42 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: apply an patch from Petr Kozelka for unlink and replace 
-	  support of attribute nodes
-
-Tue Jan 22 19:12:06 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/libxml2-api.xml doc/parsedecl.py: Build a new version
-	  hopefully near complete and fully documented of the API in XML
-	* HTMLtree.c SAX.c debugXML.c error.c globals.c parser.c tree.c
-	 xmlIO.c xmlmemory.c include/libxml/catalog.h include/libxml/hash.h
-	 include/libxml/list.h include/libxml/parser.h include/libxml/tree.h
-	 include/libxml/parserInternals.h include/libxml/valid.hi
-	 include/libxml/xmlIO.h include/libxml/xmlerror.hi
-	 include/libxml/xmlmemory.h include/libxml/xmlversion.h.ini
-	 include/libxml/xpath.h include/libxml/xpathInternals.h:
-	  Cleaned up the doc comments a lot in the process, the interface
-	  coverage is now 100%
-
-Tue Jan 22 00:12:58 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/libxml2-api.xml doc/parsedecl.py: improved the script to
-	  extracts comments from the gtk-doc DocBook output (a bit
-	  convoluted but seems to work).
-
-Mon Jan 21 18:29:19 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am doc/Makefile.am doc/libxml2-api.xml doc/parsedecl.py:
-	  added an XML description of the API, moved the script generating
-	  it here. Added a "make api" target
-
-Mon Jan 21 14:34:37 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: Adam Lounds pointed out a bug in xmlSearchNs()
-	  
-Mon Jan 21 09:55:21 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c include/libxml/xpathInternals.h: the change made to
-	  xmlXPathFuncLookupFunc was incompatible roll it back
-
-Sun Jan 20 23:03:41 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: cleanup patch from Anthony Jones
-	* doc/Makefile.am: fix the headers to avoid in make scan
-	* parserInternals.c xpath.c include/libxml/*.h: cleanup of the
-	  includes, * vs Ptr and general cleanup
-	* parsedecl.py: first version of a script to extract the
-	  module interfaces, the goal will be to provide .decl or XML
-	  specification of the interfaces to build wrappers.
-
-Sun Jan 20 13:38:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/xmlcatalog_man.xml xmlcatalog.c: Fixed bug #68830, xmlcatalog
-	  now provides return codes in case of errors
-
-Sat Jan 19 16:36:21 CET 2002 Bjorn Reese <breese at users.sourceforge.net>
-
-	* trio.h trio.c triodef.h triop.h trionan.h trionan.c Makefile.am:
-	  Upgraded to trio baseline 1.6
-	* strio.h strio.c: Replaced by triostr.h and triostr.c
-
-Fri Jan 18 17:22:50 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* globals.c xmlIO.c xmlcatalog.c: removed the last occurences
-	  of strdup usage in the code
-
-Fri Jan 18 12:47:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c error.c: Keith Isdale complained rightly that 
-	  xmlInitParser() did not preserve value set by xmlSetGenericErrorFunc
-
-Thu Jan 17 09:44:44 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: fixed the funxtion to set the xml: attributes
-	* debugXML.c: added "setbase" to test it.
-
-Wed Jan 16 16:36:08 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: update xmlNodeSetContent() and xmlNodeSetContentLen()
-	  to allow updating an attribute content
-
-Tue Jan 15 18:09:23 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.h: try to avoid problems when compiling on Windows
-
-Mon Jan 14 18:56:25 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* hash.c: patch from Anthony Jones for hash.c allocation size
-	* Makefile.am: trying to work around Yet Another Libtool Madness
-	  and build the 2.4.13 release finally ...
-
-Mon Jan 14 18:27:19 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: updated to 2.4.13
-	* doc/* : update of the documentation
-
-Mon Jan 14 17:53:41 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c tree.c: some cleanup after an unsuccessful attempt
-	  at fixing #61290 :-(
-
-Sun Jan 13 21:30:54 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: fixed xmlSaveFormatFileEnc() when encoding == NULL
-	  Fixes bug #67229
-
-Sun Jan 13 17:14:06 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: trying to avoid troubles when a subtree is copied
-	  and coalesced in part with the target tree. Should fix 
-	  bug #67407
-
-Sun Jan 13 16:37:15 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: fixed validation of attributes content of type
-	  NAME NAMES NMTOKEN and NMTOKENS to accept internationalized
-	  values, very old bug. Fixes #67671
-
-Sun Jan 13 15:07:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c include/libxml/parserInternals.h tree.c: integrated
-	  a couple of fixes and a new API function xmlSetEntityReferenceFunc()
-	  from Keith Isdale and dedicated to xsldbg the XSLT debugger.
-
-Sun Jan 13 14:23:21 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* threads.c: applied Serguei Narojnyi's patch to add native
-	  thread support on the Win32 platform
-	* testThreadsWin32.c Makefile.am: added the test program also
-	  from Serguei, Win32 specific
-	* include/win32config.h include/libxml/xmlwin32version.h.in:
-	  added patch from Igor for the Windows thread specific defines.
-
-Wed Jan  9 12:50:39 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* entities.c: Anthony Jones pointed a bug in xmlCopyEntity()
-
-Tue Jan  8 14:23:22 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/*.html doc/site.xsl doc/Makefile: renamed XML.html
-	  output page into XMLinfo.html. Close bug #66951 and
-	  raised by Robert Collins too.
-
-Tue Jan  8 14:13:18 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* encoding.c: Paul Keogh pointed out a possibility of segfault
-	  on repeted xmlAddEncodingAlias() / xmlCleanupEncodingAlias().
-	  Closes bug # 68238
-
-Tue Jan  8 12:48:27 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/*.html: updated the Gdome2 links
-
-Tue Jan  8 11:32:30 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.h: Applied following patches from Robert Collins
-	  and make sure IN_LIBXML is defined when compiling it
-	-------
-	* include/libxml/xmlversion.h.in (LIBXML_DLL_IMPORT): Use on Cygwin
-	  as well as Visual C.
-	* parser.c (XML_DIR_SEP): Don't use '\\' for Cygwin.
-	* parserInternals.c (XML_DIR_SEP): Don't use '\\' for Cygwin.
-	* strio.c (PLATFORM_UNIX): Define for Cygwin.
-	* triodef.h (TRIO_PLATFORM_UNIX): Define for Cygwin.
-	* xmlIO.c (xmlFileOpen): Use unix behaviour for Cygwin.
-	  Use binary mode opens for Cygwin (xmlFileOpenW xmlParserGetDirectory
-	  xmlSysIDExists xmlNoNetExists).
-	* xmllint.c: Don't include winsock2.h for Cygwin.
-
-Mon Jan  7 17:52:48 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Jirka Kosek pointer out a bug in xmlParseTextDecl()
-	  when the version info is not present.
-
-Mon Jan  7 00:03:58 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: Anthony Jones  pointed out a problem in
-	  xmlStringGetNodeList() and provided a fix for it
-
-Sun Jan  6 13:45:49 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: patch from Frank J Franklin to remove a bug in
-	  xmlCreatePushParserCtxt() when the initial buffer passed
-	  is large.
-
-Sat Jan  5 19:24:23 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* win32/*: big cleanup of the Windows/MSVC project files
-	  from Igor Zlatkovic
-
-Wed Jan  2 14:11:35 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* doc/Makefile.am: should fix #67674 and avoid troubles if 
-	  xsltproc is not available or fails in the prefix provided
-
-Tue Jan  1 17:48:56 CET 2002 Daniel Veillard <daniel at veillard.com>
-
-	* xmlmemory.c: one more doc patch from Charlie Bozeman.
-
-Mon Dec 31 17:35:40 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* DOCBparser.c parser.c valid.c include/libxml/parserInternals.h
-	  include/libxml/xmlerror.h include/libxml/xpathInternals.h:
-	  Fixed a few other problems raised by Charlie Bozeman.
-	* result/VC/ElementValid[5-7]: fixed the output
-
-Mon Dec 31 17:13:34 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* *.c include/libxml/*.h doc/html/*: applied 42 documentation
-	  patches from Charlie Bozeman. Regenerated the HTML docs.
-
-Thu Dec 20 14:59:52 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/debugXML.h win32/dsp/libxml2.def.src: fixes
-	  for Windows from Igor
-
-Tue Dec 18 12:13:33 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: applied Justin Fletcher patch for --output or -o
-
-Tue Dec 18 08:52:32 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/libxml2/libxml2.def.src: close #67019
-
-Tue Dec 18 08:08:51 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: applied Justin Fletcher generic timing patch
-	  similar to the one already applied to xsltproc.
-
-Mon Dec 17 16:29:08 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/tree.h tree.c: applied documentation patches
-	  from Charlie Bozeman
-
-Thu Dec 13 21:24:16 MST 2001 John Fleck <jfleck at inkstain.net>
-
-	*doc/xmllint.xml, xmllint.1 - document --dropdtd
-	
-Thu Dec 13 23:19:50 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: fix the xmlStrdup() used in the previous patch.
-	* valid.c: added --dropdtd
-	* tree.c: fixed xmlUnlinkNode so it also removes the references
-	  from the document if the node is a DTD
-
-Thu Dec 13 15:54:35 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c valid.c: cleanup some static declarations
-
-Thu Dec 13 15:23:04 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: removed another strdup()
-	* doc/FAQ: removed the HP/UX entry
-
-Thu Dec 13 09:44:58 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: fix bug #66816 when validating.
-	* xmllint.c: don't use sys/time.h if configure did not found it
-
-Mon Dec 10 21:39:55 MST 2001 John Fleck <jfleck at inkstain.net>
-
-	* docs/xmllint.1, xmllint.xml, xmlcatalog.1, xmlcatalog_man.html,
-	xmlcatalog_man.xml
-
-Mon Dec 10 22:06:16 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/xmlmemory.h: Hietaniemi Jarkko pointed out that
-	  xmlInitMemory() was declared twice
-
-Sun Dec  9 14:59:23 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* globals.c: do not reference strdup() !
-	* configure.in libxml-2.0.pc.in: trying to fix the libs
-	  of the various config extraction modules
-
-Fri Dec  7 15:21:33 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in : preparing 2.4.12
-	* doc/* : updated and rebuilt the docs
-
-Fri Dec  7 12:32:00 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* uri.c: closed bug #66159
-	* testURI.c: added --escape option
-	* configure.in: some cleanup for xml2-config --cflags
-
-Thu Dec  6 15:31:30 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* globals.c testThreads.c: removed some misplaced includes
-	  of xmlversion.h
-
-Thu Dec  6 09:06:08 EST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* threads.c: patch from Gary Pennington fixing a possible
-	  problem at initialization time.
-
-Wed Dec  5 13:01:37 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in libxml.h parser.c testThreads.c macos/: integrated
-	  Eric Lavigne contribution to build libxml2 on MacOS using
-	  CodeWarrior.
-
-Tue Dec  4 14:13:44 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: applied Geert Kloosterman's patch to fix
-	  --repeat --timing output
-
-Thu Nov 29 17:10:22 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: Robin Berjon <robin at knowscape.com> found a case
-	  where non-wellformed XML declaractions were not detected.
-
-Wed Nov 28 15:41:40 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpointer.c: fixed a compilation bug pointed by Danny Jamshy
-
-Wed Nov 28 10:09:51 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: as robert pointed again, xmlInputCallbackInitialized
-	  gets reset by xmlCleanupInputCallbacks() and this makes the
-	  function useless. Same for output.
-
-Tue Nov 27 17:22:36 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: robert pointed out a loop error in callback cleanups
-
-Mon Nov 26 16:56:00 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c debugXML.c include/libxml/tree.h include/libxml/debugXML.h:
-	  moved xmlGetLineNo() and xmlGetNodePath() into the main tree module,
-	  they are not really tied to debugging
-
-Mon Nov 26 11:31:36 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: preparing 2.4.11
-	* xmllint.c: better --catalogs description
-
-Sun Nov 25 11:34:24 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: fixed a couple of problems in xmlSetProp()
-
-Thu Nov 22 19:19:10 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c tree.c xmlIO.c xmlmemory.c: some cleanups when chasing
-	  unappropriate stdout output.
-
-Thu Nov 22 13:58:14 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/tree.h: Fixed a couple of macro errors pointed out
-	  by Denis Beurive, closes #65111
-
-Tue Nov 20 10:34:01 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: in case of content model validity error, don't
-	  print it if validity warnings were not requested.
-
-Tue Nov 20 09:30:02 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* nanoftp.c: applied a couple of patches from Brian D Ripley.
-	* parserInternals.c: removed the last exit() call. Print an
-	  unmaskable error on stderr instead (library mismatch detection)
-
-Sat Nov 17 17:16:51 MST 2001 John Fleck <jfleck at inkstain.net>
-
-	* doc/xmllint.xml, doc/xmllint.1 - update xmllint man page with
-	shell instructions from Heiko Rupp
-
-Thu Nov 15 14:53:42 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: use the URL notation file:// for default catalog paths
-
-Wed Nov 14 16:03:02 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/tree.h: better comments for _private fields
-	* tree.c: removed a problem when copying an entity reference.
-
-Tue Nov 13 16:23:04 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* vms/*: updated instructions and diffs from John A Fotheringham
-
-Mon Nov 12 23:43:22 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/xmlerror.h: avoid an include problem if
-	  #include <libxml/xmlerror.h> happens first in code
-	  seems to be the case in KDE libs
-
-Mon Nov 12 22:32:41 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/dsp/* include/libxml/xmlwin32version.h.in: update
-	  from Igor for Windows
-
-Mon Nov 12 10:19:41 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: Gary Pennington pointed out a missing prefix
-
-Sat Nov 10 12:55:42 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: preparing 2.4.10
-	* doc/*: upgraded and rebuilt the docs
-
-Sat Nov 10 12:33:38 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: fix comment in scripts element parsing.
-	* result/HTML/doc3*: updated the results.
-
-Sat Nov 10 11:18:18 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* uri.c: another URI bug fix #63336, using Joel Young patch.
-
-Sat Nov 10 11:07:26 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c include/libxml/debugXML.h: add xmlGetNodePath()
-	  a cleaned up version of the Pwd shell string generation.
-
-Fri Nov  9 00:34:13 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c include/libxml/tree.h: trying to fix namespaces +
-	  validation problems for good, closing #63619 in the process
-	* result/valid/dia.xml test/valid/dia.xml: the Dia test was
-	  wrong in this respect, fixed it.
-
-Thu Nov  8 18:31:40 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: Morus Walter patch to allow --format and --encode
-
-Thu Nov  8 14:52:18 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c: Stefan Kost provided an help command for the shell
-
-Wed Nov  7 14:32:55 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c: Heiko Rupp pointed that the shell would crash
-	  on empty nodesets returns.
-
-Wed Nov  7 13:52:36 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: Weiqi Gao pointed out that xmlcatalog
-	  migh need the history libraries
-
-Tue Nov  6 23:49:09 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c test/HTML/lt.html result/HTML/lt.html*:
-	  handle the case of < in quoted attributes, Bastian Kleineidam
-
-Tue Nov  6 16:21:33 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in include/libxml/xmlwin32version.h: releasing 2.4.9
-	  fixing catalog breakages
-	* Makefile.am catalog.c result/catalogs/catal 
-	  result/catalogs/mycatalog.* test/catalogs/catal*:
-	  fixed more problems in catalog support, added more regression tests
-	  for both XML and SGML catalog handling
-
-Mon Nov  5 20:26:41 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c: applied an improvement to xmlGetLineNo() from
-	  Keith Isdale
-
-Mon Nov  5 15:20:16 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: dohhhh XML catalog add and remove ops were broken too.
-	  Side effect of the progressive catalog loading
-
-Mon Nov  5 12:40:54 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: confexecdir and confexec_DATA were defined twice
-	  pointed out by Karl Eichwalder
-	  
-Sun Nov  4 23:18:34 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmlcatalog.c: avoid unlink() and use remove() instead.
-
-Sun Nov  4 23:12:38 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.spec.in: cleanup
-	* include/libxml/xmlwin32version.h: updated with 2.4.8
-
-Sun Nov  4 21:17:24 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* encoding.c global.data globals.c testThreads.c: fix bug #63752
-	  of compiling libxml with a non standard set of options
-
-Sun Nov  4 13:11:41 MST 2001 John Fleck <jfleck at inkstain.net
-
-	* doc/xmllint.xml, xmllint.1 - updating xmllint man page to
-	document --sgml option, fixing gnome bugzilla #63382
-
-Sun Nov  4 20:56:53 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/catalog.h catalog.c: Fixed SGML catalogs
-	  breakage of 2.4.7, added a couple of really needed APIs
-	  like xmlCatalogIsEmpty() and xmlNewCatalog()
-	* xmlcatalog.c: updated --sgml --noout to be a suitable replacement
-	  for install-catalog
-	* configure.in: preparing 2.4.8
-
-Thu Nov  1 15:29:31 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c tree.c include/libxml/HTMLtree.h
-	  include/libxml/tree.h include/libxml/xmlIO.h: more include
-	  cleanups, export cleanly one html output + format function.
-
-Thu Nov  1 14:12:12 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: removed initGenericErrorDefaultFunc call from
-	  xmlInitParser() since it could destroy previous calls to
-	  xsltSetGenericErrorFunc() effects
-
-Thu Nov  1 09:37:13 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* debugXML.c include/libxml/debugXML.h: bool can be a reserved
-	  keyword.
-
-Wed Oct 31 18:50:08 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: cleanup
-	* threads.c: cleanup too
-	* xmlIO.c include/libxml/xmlIO.h: added xmlNoNetExternalEntityLoader()
-	  from xsltproc
-	* include/libxml/tree.h include/libxml/parser.h: trying to break a
-	  dependency loop.
-
-Tue Oct 30 18:38:53 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: Justin Fletcher pointed out that xmlParseXMLCatalog
-	  was not used anymore !
-
-Tue Oct 30 13:33:13 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.7
-	* Makefile.am doc/Makefile.am: switched to the latest xmllint
-	  manual page from John
-	* doc/*: updated the doc and rebuilt the generated pages
-
-Tue Oct 30 11:31:19 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: closing bug #62711, the library should never
-	  close stdin or stdout.
-
-Tue Oct 30 10:46:12 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* uri.c: second pass at fixing #63336, using Joel Young
-	  final patch. looks okay.
-
-Tue Oct 30 00:56:05 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* uri.c include/libxml/uri.h: trying to clear #63336
-	  allowing the escaping routine to parse unconformant
-	  URI-References.
-
-Mon Oct 29 19:09:46 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* vms/readme.vms vms/build_libxml.com nanoftp.c 
-	  include/libxml/xmlversion.h.in: a few VMS updates from
-	  John A Fotheringham
-	* include/libxml/xmlIO.h xmlIO.c: added xmlCleanupInputCallbacks()
-	  and xmlCleanupOutputCallbacks() for the Perl binding people.
-
-Mon Oct 29 12:44:17 CET 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c globals.c DOCBparser.c HTMLparser.c error.c:
-	  apply fixes to close #63271 and avoid segfaults when
-	  the error routine gets callbed before xmlInitParser()
-	  get called.
-	* nanoftp.c error.c: Applied patches from Justin Fletcher
-	  correcting some xmlGenericError misuses.
-
-Sat Oct 27 14:04:45 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	*doc/xmllint.xml, doc/xmllint.1
-	New and improved man page for xmllint - .xml is the original, .1
-	is the generated man page
-
-Wed Oct 24 14:34:25 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* doc/site.xsl doc/*.html doc/Makefile.am: now autogenerate
-	  the web site from the main HTML document.
-
-Tue Oct 23 14:32:04 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: fixed an erroneous validation bug when PE refs
-	  occurs in external parsed entities referenced from the
-	  internals subset
-	* test/valid/index.xml test/valid/dtds/nitf-2-5.dtd
-	  test/valid/dtds/NewsMLv1.0.dtd result/valid/index.xml*:
-	  added the associated testcase, it's a nice one.
-	* HTMLparser.c: generate the DTD node as HTML still ...
-	* HTMLtree.c: fixed errors in Set/GetMetaEncoding 
-
-Mon Oct 22 14:20:17 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: fixed a bug in htmlNewDoc()
-
-Mon Oct 22 11:32:36 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* test/threads/*: added entities testing to the Thread test
-	* testThreads.c: make the test reasonable
-	* DOCBparser.c: fix the DTD public and system ID
-	* xmllint.c: added --sgml for SGML DocBook importing
-	* Makefile.am: added Docbtests target
-
-Fri Oct 19 11:47:13 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* nanoftp.c: use only "anonymous@" string for anonymous passwds
-	* testThreads.c: removed bogus include
-
-Thu Oct 18 16:56:23 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c valid.c result/valid/rss.xml result/valid/rss.xml.err:
-	  fixed a very serious (looping) validation bug
-
-Wed Oct 17 11:56:25 EDT 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/globals.h include/libxml/threads.h threads.c
-	  testThreads.c: far more testing, cleaning up bugs
-	* *.c : make sure globals.h is always included.
-
-Wed Oct 17 17:41:41 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c: try to get rid of parser loops for good.
-
-Wed Oct 17 13:29:02 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: fixed some bugs in CFLAGS passing.
-	* test/threads Makefile.am testThreads.c: added a specific
-	  threaded test case (really nasty, guaranteed).
-
-Tue Oct 16 23:01:49 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: serious cleanup on the management of the
-	  XML catalog tree, more tests done, especially with
-	  the catalog PI.
-
-Tue Oct 16 08:43:43 EDT 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: avoid a problem in catalog cleanup on SMP if
-	  catalogs were not initialized.
-
-Tue Oct 16 14:33:19 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c xpath.c: trying to cleanup the not thread safe
-	  parts of the library.
-
-Mon Oct 15 14:30:11 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/globals.h configure.in global.data: make
-	  the allocation be per-thread a configure option
-	* encoding.c include/libxml/parser.h: fixed compilation
-	  errors
-
-Mon Oct 15 12:45:03 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/parser.h: Norm reported that a few lines
-	  added were breaking libxslt compile, removed them for now
-
-Sun Oct 14 05:55:01 EDT 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c parserInternals.c threads.c: debugged and fixed
-	  initialization problems which were giving troubles on SMP
-	  boxes.
-
-Sat Oct 13 16:17:13 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/Makefile.am: missing globals.h
-
-Sat Oct 13 14:15:00 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* globals.c: added a couple of standard includes.
-
-Sat Oct 13 11:08:20 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/SAX.h include/libxml/globals.h include/libxml/parser.h
-	  include/libxml/parserInternals.h include/libxml/tree.h
-	  include/libxml/xmlerror.h HTMLparser.c SAX.c error.c globals.c
-	  nanoftp.c nanohttp.c parser.c parserInternals.c testDocbook.c
-	  testHTML.c testSAX.c tree.c uri.c xlink.c xmlmemory.c:
-	  Applied the last patches from Gary, cleanup, activated threading
-	  all user accessible global variables are now handled in globals.[ch]
-	  Still a bit rought but make tests passes with either 
-	  --with-threads defined at configure time or not.
-	* Makefile.am example/Makefile.am: added globals.[ch] and threads
-	  linking options
-
-Fri Oct 12 19:25:55 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am include/libxml/Makefile.am
-	  include/libxml/globals.h globals.c  include/libxml/threads.h
-	  threads.c build_glob.py global.data xmlcatalog.c acconfig.h
-	  configure.in: started integrating the core of the thread support
-	  not activated yet but half integrated. The code should still
-	  compile and work anyway.
-
-Fri Oct 12 00:53:03 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLtree.c catalog.c debugXML.c entities.c nanoftp.c
-	  parser.c valid.c xmlmemory.c xpath.c xpointer.c: started
-	  integrating the non-controversial parts of Gary Pennington
-	  multithread patches
-	* catalog.c: corrected a small bug introduced
-
-Thu Oct 11 20:58:15 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c include/libxml/catalog.h: very serious cleanup,
-	  isolating unportable code and as much as possible the accesses
-	  to the global shared catalog. May need more testing !
-
-Thu Oct 11 11:10:31 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/debugXML.h debugXML.c tree.c: integrating
-	  Keith Isdale patches for the XSLT debugger interfaces. Some
-	  cleanup
-
-Thu Oct 11 08:44:01 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/Makefile.mingw: update from Tobias Peters for 2.4.5
-	* DOCBparser.c: generate line nubers in elements
-
-Wed Oct 10 11:35:45 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing 2.4.6 release
-	* doc/xml.html doc/html/*: updated and rebuilt the docs
-	* include/libxml/*.h *.c: fixed a number of teh/the widht/width typos
-
-Mon Oct  8 20:38:27 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	* doc/xmlcatalog_man.xml, xmlcatalog.1, xmlcatalog_man.html
-	adding documentation for DV's supercatalog support
-
-Mon Oct  8 17:00:16 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/catalog.h catalog.c xmlcatalog.c: adding SGML
-	  super catalog support adding one API and one flag --sgml to
-	  xmlcatalog
-
-Sun Oct  7 16:43:57 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	* doc/xmlcatalog_man.xml, xmlcatalog.1
-	One more crack at
-	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=54392 
-	
-
-Sun Oct  7 18:47:02 CEST 2001 Thomas Broyer <tbroyer at ltgt.net>
-
-	* xpath.c: implemented xmlXPathObjectCopy for external objects
-	* include/libxml/xpathInternals.h: added xmlXPathStackIsExternal
-
-Sat Oct  6 16:25:52 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	*doc/xmlcatalog_man.xml, xmlcatalog_man.html, xmlcatalog.1
-	finishing up fix to
-	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=54392, making
-	the xmlcatalog man page display more elegantly
-
-Sat Oct  6 15:27:12 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: closing bug #61832
-	* HTMLparser.c: removed a warning
-
-Sat Oct  6 15:07:14 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: fixing #61673 part I, do not loose doc information
-	  when copying result value trees.
-
-Sat Oct  6 11:58:58 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: trying to harden the XPath interpreter
-
-Fri Oct  5 20:37:51 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	* doc/xmlcatalog.1 updated using a new stylesheet to address, in
-	part, https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=54392
-
-Fri Oct  5 23:35:00 HKT 2001 William Brack <wbrack at mmm.com.hk>
-
-	* HTMLparser: repaired another loop problem
-
-Fri Oct  5 11:16:21 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* uri.c: applied fix from Mathias Hasselmann about a bug in URI
-	  parsing.
-	* xpath.c: fix bug #61291 the default XML namespace node is
-	  missing from the namespace axis.
-	* tree.c: refuse to create namespaces nodes with prefix "xml"
-
-Thu Oct  4 16:47:44 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: ouch a non-defined namespace could lead to a crash,
-	  fixed #61215
-
-Thu Oct  4 16:24:26 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parserInternals.c: closed bug #61054
-
-Wed Oct  3 15:19:04 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/Makefile.am: closing #60708
-
-Tue Oct  2 15:52:05 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/dsp/libxml2.def.src include/libxml/parser.h parser.c:
-	  adding xmlSAXParseFileWithData following Marco Stipek suggestion
-
-Tue Oct  2 11:27:58 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: close bug #61550 when xml: wasn't considered a namespace
-
-Tue Oct  2 11:18:32 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/dsp/libxml2.def.src: Igor Zlatkovic patches
-	* DOCBparser.c HTMLparser.c parser.c: fixed typos
-
-Mon Oct  1 09:34:51 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: Justin Fletcher provided cleaup code in case
-	  HAVE_STAT is not defined
-	* include/win32config.h: Igor Zlatkovic suggested to have
-	  HAVE_STAT defined there
-
-Sat Sep 29 00:15:00 HKT 2001 William Brack <wbrack at mmm.com.hk>
-
-	* catalog.c - fixed typing error reported by M. Barros
-
-Sun Sep 23 21:02:39 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	* xmllint.c - fixing typo
-
-Sat Sep 22 10:00:00 HKT 2001 William Brack <wbrack at mmm.com.hk>
-
-	* HTMLparser.c: small enhancement to prevent loop on
-	  unrecognizable data
-
-Fri Sep 21 11:45:53 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parserInternals.c: applying patch from bug #60757 this
-	  should close it
-
-Thu Sep 20 15:54:29 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c xmlcatalog.c: removed a couple of warning
-	* xpath.c: try to solve the linking problem on platforms
-	  needing trio to compile
-
-Wed Sep 19 10:01:37 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am libxml.spec.in: backing up non-documented changes
-	  commited without review or aproval by Jens Finke <jens at gnome.org>
-	* HACKING: made 100% clear that no commit should be done directly
-
-Mon Sep 17 18:52:37 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: Joe Orton provided a patch fixing a problem
-	  when iconv is specified to be in a non-standard directory
-	  but wasn't exported in xml2-config --cflags
-
-Fri Sep 14 19:32:43 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: let's ship 2.4.5 before getting too much
-	  troubles with 2.4.4 errors.
-
-Fri Sep 14 12:26:58 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* encoding.c entities.c: do not output hexadecimal charrefs
-	  when serializing HTML since some version of Netscape can't
-	  grok it, generate decimal ones.
-	* result/HTML/doc3.htm: output changed due to previous test
-	* parserInternals.c: repair xmlKeepBlanksDefault() broken in 2.4.4
-
-Thu Sep 13 13:34:27 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* libxml-2.0.pc.in: dohh generated the wrong include path :-(
-	* doc/Makefile.am libxml.spec.in: re-dohh forgot the new manpage :-(
-
-Wed Sep 12 22:14:55 CEST 2001 Daniel Veillard <daniel at veillard.com>
-        Released 2.4.4
-
-	* config.h.in configure.in libxml.spec.in include/libxml/Makefile.am
-	  libxml-2.0.pc.in: moved includes to includedir/libxml2/libxml,
-	  updated the configuration scripts systems accordingly
-
-Wed Sep 12 20:49:32 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* configure.in: preparing for 2.4.4
-	* doc/xml.html doc/html/*: updated and rebuilt the docs
-
-Wed Sep 12 16:58:16 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/dsp/libxml2.def.src: tried to incorporate comments
-	  from bug #59220
-
-Tue Sep 11 11:25:36 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c result/noent/wml.xml: fixed bug #59981 related
-	  to handling of '&' in attributes when entities are substitued
-
-Mon Sep 10 22:14:42 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.h include/libxml/xmlversion.h.in
-	  include/libxml/xmlwin32version.h include/libxml/xmlwin32version.h.in:
-	  Tried to close bug #60131
-
-Mon Sep 10 20:46:03 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: fixed a bug in the HTML parser introduced Sep  9
-
-Mon Sep 10 20:13:09 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: fixing bug #59946 on xmlns=""
-
-Mon Sep 10 16:39:42 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/xmlerror.h SAX.c: fixing bug 59732, simple
-	  but allocates a new error code.
-
-Sun Sep  9 10:33:15 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: John Fleck fixed typos in the options output
-	* parser.c SAX.c: fix ignorable white space SAX selection
-
-Sat Sep  8 11:43:53 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* entities.c: Steve Underwood found the possibility of an
-	  ininite loop in case of error.
-
-Fri Sep  7 11:35:00 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am: Need $(ICONV_LIBS) in libxml2_la_LIBADD
-
-Wed Sep  5 17:47:43 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* parser.c: warn if version is not 1.0 but it's not
-	  strictly speaking an error after analyzing the spec
-
-Mon Sep  3 10:07:03 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	*doc/catalog.html - add link to the html version of the
-	man page, other linguistic cleanups
-
-Mon Sep  3 09:10:08 MDT 2001 John Fleck <jfleck at inkstain.net>
-
-	* doc/xmlcatalog_man.xml, xmlcatalog_man.html, xmlcatalog.1
-	adding documentation for xmlcatalog. Note: xmlcatalog.1, the man
-	file, has not yet been included in the build.
-
-Sat Sep  1 18:17:47 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: removed a duplicate affectation Justin Fletcher
-
-Fri Aug 31 22:02:10 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: Armin Sander pointed a possible text coalescing 
-	  problem, completed his patch.
-
-Fri Aug 31 18:30:28 CEST 2001 Bjorn Reese <breese at users.sourceforge.net>
-
-	* trionan.c: Fixed const and volatile re-definition problem
-	
-Fri Aug 31 16:51:28 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.4 parser.c: doc updates from Heiko Rupp
-	* parserInternals.c: 2 sanity checks from Heiko Rupp
-
-Tue Aug 28 22:38:45 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* tree.c: applied patch from Armin Sander to make some pointers
-	  const in xmlCopyNode()
-	* include/libxml/tree.h: added fix to the header
-
-Mon Aug 27 16:24:47 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: hum, restrict the integer usage gcc bug workaround
-	  to only gcc compilers so that other architecture don't get
-	  penalized by this limitation.
-	* include/libxml/xpath.h: small typo fix from Heiko W. Rupp
-
-Sun Aug 26 20:45:04 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* valid.c: fixed a Windows compiler warning (Chris Poblete)
-	* xpath.c: fix for mod when dividend is 0 (Chris Poblete)
-
-Sat Aug 25 15:30:17 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/catalog.h catalog.c xmlcatalog.c: added a 
-	  --convert option to xmlcatalog to convert SGML ones to
-	  the XML syntax.
-	* xmllint.c: small cleanup for $SGML_CATALOG_FILES support.
-
-        2.4.3 got released at that point
-Thu Aug 23 23:16:32 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c xmlIO.c: started some serious testing and fixed
-	  a few bug and optmization needs.
-
-Thu Aug 23 17:26:58 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am configure.in include/libxml/xmlwin32version.h:
-	  preparing for a 2.4.3 release even if it may not be ready yet
-	* catalog.c parser.c xmlIO.c include/libxml/catalog.h: redirected
-	  all file parsing lookup to go through the entity resolver, add
-	  to add an API to bypass it (needed to load catalogs themselves),
-	  some cleanup on the catalog code too.
-	* nanoftp.c: small cleanup
-	* doc/catalog.html: small update
-
-Thu Aug 23 12:22:26 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: fixed bugi #59406 in SGML catalog parsing reported by
-	  Jun Kuriyama
-	  
-Thu Aug 23 02:51:29 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* doc/catalog.html: finished the catalog documentation
-
-Thu Aug 23 01:38:42 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* doc/catalog.html doc/xml.html: added documentation about
-	  Catalog support, misses an API description 
-	* doc/html/*: reextracted the API pages
-
-Wed Aug 22 18:27:47 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/catalog.h catalog.c xmlIO.c HTMLparser.c:
-	  Added the part about section 7.2 on URI resolution,
-	  fixed a side effect in the HTML parser, look complete
-	  and ready to rock except the URI/SystemID part!
-
-Wed Aug 22 16:27:03 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/catalog.h include/libxml/parser.h
-	  include/libxml/xmlerror.h catalog.c parser.c parserInternals.c
-	  xmlIO.c: added support and APIs needed for the catalog PI
-	* include/libxml/xmlIO.h: cleanup
-
-Wed Aug 22 02:03:31 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c parser.c xmlIO.c xmlcatalog.c xmllint.c 
-	  include/libxml/catalog.h: starts to look okay, really
-	  plugged the new framework, cleaned a lot of stuff,
-	  added some APIs, except the PI's support missing this
-	  should be mostly complete
-	* result/catalogs/* test/catalogs/*: added new test, enriched
-	  the existing one with URN ID tests
-
-Tue Aug 21 14:56:18 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* catalog.c: fixed nextCatalog
-	* result/catalogs/docbook test/catalogs/*: started adding
-	  a small regression test
-
-Tue Aug 21 12:52:38 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am catalog.c xmlcatalog.c include/libxml/catalog.h:
-	  more work on the XML catalog support.
-	* parser.c include/libxml/parser.h: small cleanup seems using
-	  list as a public parameter name can give portability troubles
-	* trionan.c trionan.h xpath.c include/libxml/trionan.h
-	  include/libxml/xpath.h include/libxml/Makefile.am: removed
-	  trionan from the libxml API, added xmlXPathIsInf and xmlXPathIsNaN
-	  wrappers
-
-Tue Aug 21 11:18:45 CEST 2001 Bjorn Reese <breese at users.sourceforge.net>
-
-	* Makefile.am trio.c triodef.h trionan.c xpath.c
-	  include/libxml/Makefile.am include/libxml/trionan.h:
-	  Re-worked Not-A-Number and Infinity support.
-	* xmlcatalog.c: added readline include files
-
-Mon Aug 20 02:04:13 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* Makefile.am xmlcatalog.c libxml.spec.in: renaming 
-	  testCatalog as xmlcatalog, making it an installed app
-	  adding a shell, and preparing it to be a /etc/xml/catalog
-	  management tool, though not ready yet
-	* catalog.c include/libxml/catalog.h: adding support for
-	  XML Catalogs http://www.oasis-open.org/committees/entity/
-	  not finished, there is some interesting tradeoffs and a
-	  few open questions left.
-
-Sun Aug 19 14:59:56 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: fixed a line formatting problem
-
-Fri Aug 17 11:35:31 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: removed a couple of unused variable (Albert Chin)
-
-Fri Aug 17 01:25:21 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* HTMLparser.c HTMLtree.c include/libxml/HTMLparser.h:
-	  trying to fix some troubles w.r.t. function returning
-	  const xxxPtr.
-
-Thu Aug 16 21:33:20 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/dsp/libxml2.def.src: another set of symbols conditionally
-	  defined
-
-Thu Aug 16 21:31:14 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpointer.c: removed unused var
-
-Thu Aug 16 18:26:40 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* testXPath.c: another small cleanup closing bug #59110
-
-Thu Aug 16 17:59:18 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* win32/dsp/libxml2.def.src: small cleanup closing bug
-	  #59108
-
-Wed Aug 15 22:46:01 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* example/gjobread.c: add xmlCleanupParser() before leaving
-
-Wed Aug 15 14:57:08 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* config.h.in configure.in include/libxml/xmlwin32version.h:
-	  released 2.4.2
-
-Wed Aug 15 13:56:22 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* include/libxml/valid.h debugXML.c valid.c: deprecate
-	  the non-boundchecking Sprintf functions, add Snprintf
-	  this should close bug #57984
-
-Wed Aug 15 10:46:07 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmlIO.c: xmlOutputBufferCreateFilename() didn't unescaped
-	  URIs before doing the lookups (pointed by Mark Vakoc)
-
-Tue Aug 14 18:37:23 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: serious changes on Result Value Trees and NodeSets
-	  w.r.t. deallocation and collect operations. Probably not
-	  100% clean (merge of allocated trees smells like a problem).
-	  Seems sufficient to close #58943
-
-Tue Aug 14 16:12:00 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xmllint.c: adding a --format option
-
-Tue Aug 14 14:16:24 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: count() was broken on Result Value Tree
-	* xmlIO.c: fixed file:/// accesses on _WIN32
-
-Mon Aug 13 13:22:53 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* libxml.m4: s/LIBXML_VERSION_NUMBER/LIBXML_VERSION/ seems the
-	  macro was renamed, this should close bug #58683
-
-Mon Aug 13 12:33:40 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: small fix fixing bug #58539 reported by coolo, in
-	  entity substitution mode text at the end of the entity might
-	  be added due to text coalescing.
-	* nanoftp.c parser.c: small cleanup
-
-Wed Aug  8 22:57:05 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-        * HACKING: added John Fleck right to commit in the doc subdir
-
-Tue Aug  7 03:05:58 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c testXPath.c valid.c xmllint.c include/libxml/valid.h:
-	  allow to inherit attributes from the DTD directly in the
-	  tree, this is needed for XPath and can be a useful feature.
-	  Inherited namespaces are always provided at the tree level now
-	* test/defattr* result/defattr* result/noent/defattr*: added a couple
-	  of tests for this feature (XSLT being the prime user).
-
-Fri Aug  3 14:02:20 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* DOCBparser.c Makefile.am nanohttp.c parser.c testHTML.c
-	  testSAX.c xmlIO.c xmllint.c include/win32config.h
-	  include/libxml/xmlversion.h.in include/libxml/xmlwin32version.h
-	  include/libxml/xmlwin32version.h.in win32/README.MSDev
-	  win32/dsp/*: applied Win32 Facelift No.2 patches from 
-	  Igor Zlatkovic for Windows/MSC
-
-Wed Aug  1 23:21:06 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* SAX.c: unparsedEntityDecl() the URI computation of the
-	  entity wasn't done breaking XSLT unparsed-entity-uri()
-
-Wed Aug  1 17:44:57 CEST 2001 Daniel Veillard <daniel at veillard.com>
-
-	* xpath.c: fixed a bug when walking the descendants and
-	  the current node has no children
-	* debugXML.c: show up when a text node is supposed to not be escaped
-
-Wed Aug  1 01:33:35 CEST 2001 Thomas Broyer <tbroyer at ltgt.net>
-
-	* xpath.c: fixed a bug in xmlXPathNodeTrailingSorted (for now it
-	  worked like the set:leading() function)
-	* include/libxml/xpathInternals.h: added xmlXPathNodeSetContains
-
-Tue Jul 31 18:24:34 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* nanohttp.c: protected an use of EAGAIN, Brian Stafford
-
-Tue Jul 31 17:48:44 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/libxml/xmlIO.h: apply change to close #58141 
-	* win32/libxml2/*: update of the MSC projects from Igor  Zlatkovic
-
-Tue Jul 31 17:09:31 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: when the internal subset uses a PE, then the
-	  included entity can use conditional sections.
-
-Mon Jul 30 12:58:39 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c include/libxml/xpath.h: fixed a serious memory problen
-	  when walking the namespace axis showing up in
-	  libxst/tests/general/bug-12
-	* xmlmemory.c: added the possibility to trace a given block
-	  defined by its address
-
-Sun Jul 29 07:18:53 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: don't override existing encoding specified before
-	  starting xmlParseDocument()
-
-Sat Jul 28 13:33:10 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/libxml/xmlwin32version.h: reinserted, needed for
-	  Windows users of CVS
-
-2001-07-27  Darin Adler  <darin at bentspoon.com>
-
-	* encoding.c: (xmlIconvWrapper): Add cast to fix warning.
-	* testCatalog.c: Add include of <libxml/parser.h>.
-
-2001-07-27  Darin Adler  <darin at bentspoon.com>
-
-	* include/libxml/.cvsignore:
-	* include/libxml/xmlwin32version.h:
-	Remove this file from CVS because it's generated.
-
-Fri Jul 27 10:03:56 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c include/libxml/parser.h: applied const patches from
-	  Tom Moog #58002
-
-Thu Jul 26 18:55:52 CEST 2001 Thomas Broyer <tbroyer at ltgt.net>
-
-	* xpath.c include/libxml/xpath{,Internals}.h: added a function
-	  lookup framework
-
-Fri Jul 27 01:50:20 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed xmlCopyNode() for documents
-
-Thu Jul 26 12:40:35 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixed bugs #58073 reported by Greg Shtilman
-
-Thu Jul 26 11:38:37 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixes bug #57652 reported by Morus Walter
-
-Thu Jul 26 10:24:34 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* nanohttp.c: John Kroll provided a small fix to xmlNanoHTTPSave
-
-Thu Jul 26 07:16:04 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c parserInternals.c: fixed the xmlLineNumbersDefault()
-	  errors, lesson don't add new functions at 1am before a release
-	* xpath.c: integrated fix from Bjorn to avoid divide by zero
-	  from XPath initialization when possible.
-
-Tue Jul 24 15:39:11 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* result/scripts/base*: removing history/readline changed
-	  this slightly
-	* include/libxml/parser.h SAX.c parser.c parserInternals.c
-	  xmllint.c: make element content line number generation
-	  optionnal to avoid breaking old apps added interface to switch
-
-Tue Jul 24 15:06:58 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: get rid of the readline and libhistory
-	  dependencies by default, release 2.4.1 with IA64 fix
-	* nanohttp.c tree.c xmlIO.c include/libxml/nanohttp.h
-	  include/libxml/tree.h include/libxml/xmlIO.h: incorporated
-	  John Kroll fixes to allow saving to HTTP via PUT (or
-	  POST of needed).
-	* doc/html/*.html: regenerated the docs
-
-Sun Jul 22 05:56:16 CEST 2001 Thomas Broyer <tbroyer at ltgt.net>
-
-	* hash.c include/libxml/hash.h: added xmlHashScannerFull,
-	  xmlHashScanFull and xmlHashScannFull3 to get passed the
-	  three keys as arguments to the callback function
-
-Thu Jul 19 15:29:26 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in Makefile.am: removed libxml softlink for good
-	* include/libxml/*.h *.c doc/Makefile.am: cleanup to get
-	  100% coverage by gtk-doc
-
-Tue Jul 17 17:36:46 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlmemory.c include/libxml/xmlmemory.h: debugging on IA64,
-	  fixed serious troubles due to size_t vs. int mismatch
-
-Tue Jul 17 16:04:36 EDT 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* SAX.c xmlIO.c: cleaned up some warning on the Alpha
-
-Mon Jul 16 06:32:44 CEST 2001 Thomas Broyer <tbroyer at ltgt.net>
-
-	* include/libxml/xpath{,Internals}.h xpath.c: added a more
-	  convenient extension API for value and context managing
-	  Now handles external objects through xmlXPathPopExternal,
-	  xmlXPathWrapExternal and xmlXPathReturnExternal.
-	  Added functions for sets operations (intersection, etc.)
-
-Mon Jul 16 20:05:27 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/libxml/parserInternals.h include/libxml/HTMLparser.h
-	  xmlIO.c tree.c parserInternals.c entities.c encoding.c
-	  HTMLparser.c: cleanup of global variables, marking some
-	  const or private.
-
-Mon Jul 16 00:17:15 CEST 2001 Thomas Broyer <tbroyer at ltgt.net>
-
-	* include/libxml/xpath.h: exported xmlXPath{NAN,PINF,NINF}
-	  fixed xmlXPathNodeSetItem when passing index=0
-
-Sun Jul 15 17:58:44 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/libxml/xmlwin32version.h.in: added xmlCheckVersion()
-
-Sat Jul 14 19:31:21 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmllint.c: fixed compilation under Cygwin #57503
-	* TODO: update
-
-2001-07-13  Peter Williams  <peterw at ximian.com>
-
-	* config.h.in: add #undef HAVE_DLFCN_H
-
-	* example/Makefile.am (INCLUDES): Compile fix when srcdir !=
-	builddir.
-
-Fri Jul 13 11:09:56 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* win32/libxml2/libxml2.def.src: added a couple of exported entries
-	  raised by #57348 and #57381
-
-Thu Jul 12 21:20:17 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* DOCBparser.c HTMLparser.c HTMLtree.c SAX.c debugXML.c parser.c
-	  tree.c xpointer.c: store the line numbder in element->content,
-	  may break some software, need a configuration mechanism
-
-2001-07-10  Darin Adler  <darin at bentspoon.com>
-
-	* .cvsignore:
-	* example/.cvsignore:
-	* include/.cvsignore:
-	* include/libxml/.cvsignore:
-	Various things that are generated and should be ignored.
-
-Tue Jul 10 17:47:09 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in include/libxml/xmlwin32version.h: release of 2.4.0
-	* doc/xml.html doc/html/*:  updated the docs
-
-Mon Jul  9 22:06:53 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* valid.c: fixed "Internal: MIXED struct bad" when #CDATA elements
-	  validation occured on content with element child
-
-Mon Jul  9 17:59:08 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: fixed XML Base computation which was broken
-	* debugXML.c: added a base function to the shell
-	* Makefile.am result/scripts/* test/scripts/*: added scripts
-	  based regression tests, and adding 2 XML Base tests
-
-Mon Jul  9 12:31:05 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* tree.c: set properties doc and call xmlSetListDoc for properties
-	  content when grafting them in a different tree.
-	* aclocal.m4: remove from CVS
-
-Sun Jul  8 23:09:07 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* win32/libxml2/libxml2.def.src: added some missing entry point
-	  for XPath (Mark Vakoc)
-
-Sun Jul  8 20:34:35 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlIO.c: fixed an old bug raised by Bernhard Zwisch, the I/O
-	  layer should URI-Unescape before trying to open resources.
-
-Sun Jul  8 16:26:00 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fix the name() bug for elements in the default 
-	  namespace reported by Charlie Bozeman
-
-Sun Jul  8 15:11:05 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* SAX.c parser.c testXPath.c xpath.c: trying to fix #56948, this
-	  led to an XPath fix, improvements of SAX initialization, and
-	  an added option --nocdata to testXPath
-
-Sat Jul  7 21:09:55 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/libxml-doc.el: Felix Natter provided anew version working
-	  with XEmacs too
-
-Sat Jul  7 02:16:00 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/libxml/xpath.h: small cleanup
-	* doc/xml.html: update
-
-Fri Jul  6 01:40:23 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am configure.in include/libxml/xmlwin32version.h:
-	  released 2.3.14
-
-Fri Jul  6 00:47:41 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/html/*: rebuilt the docs for the release
-	* doc/xml.html: added 2.3.14 release.
-
-Thu Jul  5 22:01:31 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: a bug reported by Stephan Kulow empty nodesets
-	  were not equal to empty strings
-
-Thu Jul  5 00:52:25 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* SAX.c: fixed a URI-Reference computation problem when validating
-	* xmlIO.c: small cleanup
-
-Thu Jul  5 00:04:58 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: improved the description of a couple of interfaces
-	  upon Larry Stamper suggestion
-
-Wed Jul  4 21:42:24 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* SAX.c entities.c parser.c: changed completely the way entities
-	  are handled when running the parser in entity substitution mode.
-	  This fixes a bug reported by Stephan Kulow and nearly divides
-	  by 3 the amount of memory required by libxslt to load and process
-	  DocBook TDG.
-
-Wed Jul  4 18:02:58 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* HTMLparser.c: fixing a too early root closing problem raised
-	  byt Prashanth Naidu
-
-Wed Jul  4 01:42:01 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed a missing copy in xmlXPathVariableLookupNS() 
-	  raised by Mark Vakoc.
-
-Tue Jul  3 18:35:48 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* example/Makefile.am: fixed the include path to add srcdir/include
-	* Makefile.am configure.in: fix from Albert Chin for iconv detection
-	  and some cleanup
-
-Tue Jul  3 10:12:03 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c include/libxml/xpath.h include/libxml/xpathInternals.h:
-	  lot of optimization work, results in significant improvements
-	  when handling really complex XPath queries. Add a small optimizer
-	  for unions, improve [n] and [last()], avoid some costly ops.
-
-Fri Jun 29 23:26:54 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/libxml/parser.h parser.c: xmlStrstr args are both const
-	* xpath.c: small cleanup
-	* xmlGetNsList: reformated, fixed problems if used on Entities
-
-Thu Jun 28 18:19:44 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/xml.html: added 1.8.14 and 2.3.13 releases
-
-Thu Jun 28 18:16:28 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in include/libxml/xmlwin32version.h: released 2.3.13
-	* Makefile.am example/Makefile.am: workaround automake generating
-	  erroneous deps
-
-Thu Jun 28 15:08:22 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/win32config.h: bug #56801 Yon Derek provided a patch
-	  to the windows config file.
-
-Thu Jun 28 14:51:44 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpointer.c include/win32config.h win32/libxml2/libxml2.def.src
-	  libxml.h : Yon Derek provided a set of changes to compile from
-	  CVS on Windows/MSC
-
-Thu Jun 28 14:11:28 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* parser.c: fixed UTF8 BOM support in push mode
-	* test/utf8bom.xml result/utf8bom.xml result/noent/utf8bom.xml:
-	  added a specific testcase
-
-Wed Jun 27 18:33:13 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* Makefile.am: added --push regression tests
-	* parserInternals.c: the XML parser segfaulted in --push mode
-
-Wed Jun 27 13:09:51 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: moved the symlinks detection within a CVS
-	  check, this is not portable and will be removed soon.
-	* xpath.c: small cleanup/speedup
-
-Tue Jun 26 18:05:26 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in doc/xml.html include/libxml/xmlwin32version.h:
-	  release of 2.3.12
-	* parser.c: make an error message if unknow entities in all cases
-
-Tue Jun 26 09:46:29 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* uri.c: fixed 2 uri normalization bugs on '//' reduction
-
-Mon Jun 25 18:06:23 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/libxml/Makefile.am: Laszlo Peter pointed out that
-	  includes were installed in the wrong dir
-
-Mon Jun 25 17:07:37 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/html.xml: warn against sending code to exhibit bugs.
-
-Sun Jun 24 23:31:56 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: patch to xmlXPathFormatNumber for the optimizer on
-	  Tru64 from Thomas Leitner
-
-Sun Jun 24 14:05:54 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* AUTHORS: added William and Bjorn
-	* include/libxml/*.h *.c README doc/*.html etc.: changed old email to
-	  daniel at veillard.com hopefully I won't have to do this again
-	* doc/Makefile.am doc/html/*.html: cleanup makefile, checked that
-	  docs can be rebuilt cleanly now
-	* include/libxml/xml*version.h*: removed include/libxml/xmlversion.h
-	  from CVs it's generated, added include/libxml/xmlwin32version.h
-	  also generated but which should change far less frequently.
-	* catalog.c nanoftp.c: made sure to include libxml.h not
-	  libxml/xmlversion.h directly
-	* include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h
-	  when compiling on WIN32 and MSC
-
-Sat Jun 23 23:54:12 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* include/Makefile.am include/libxml/Makefile.am configure.in:
-	  fixed make distcheck and rebuilding the rpms
-
-Sat Jun 23 20:50:53 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: should finish the migration of exported includes
-	  into a real include/libxml in CVS, at least for CVS users.
-	* removed the exported headers, added in include/libxml (as well
-	  as xmlversion.h.in).
-
-Sat Jun 23 20:37:19 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: fixed the way to detect symlink
-
-Sat Jun 23 20:30:11 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* configure.in: updated, include/libxml is now a real CVS dir
-
-Sat Jun 23 19:36:31 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/libxml-doc.el: a new version of libxml-doc.el. This new
-	  version works with both libxml1 and libxml2 (it autodetects
-	  the prefix of the html-files) from Felix Natter.
-	* doc/xml.html: updated doc accordingly
-
-Sat Jun 23 18:30:28 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xpath.c: fixed the bug generating a template loop in libxslt
-	  when using docbook-xsl-1.4, * should filter out document nodes
-	* HACKING: added William
-	* TODO: updated
-
-Fri Jun 22 18:02:37 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* doc/FAQ.html: added a warning about gcc-3.0
-	* doc/xml.html: added reference to gdome2 and removed a confusing
-	  sentence
-
-Fri Jun 22 17:02:16 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
-	* xmlversion.h: okay this is a generated file, but Windows
-	  users need it and they can't generate it, and I want CVS
-	  Windows users ...
-	* win32/libxml2/libxml2_so.dsp: Windows project file for 
-	  the shared lib version of libxml2
-	* win32/libxml2/libxml2.def.src: bug #56527 set of exported
-	  resources needed for libxslt/xsltproc by Yon Derek
-
-Fri Jun 22 16:39:36 CEST 2001 Bjorn Reese <breese at users.sourceforge.net>
-
-	* trio.c: MSVC fix (provided by Igor Zlatkovic)
-	
-Fri Jun 22 12:42:16 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-
 	* include/win32config.h: another small fix for ATTRIBUTE_UNUSED
 
 Fri Jun 22 12:42:16 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
@@ -18109,7 +10599,7 @@
 
 	* error.c: Workaround for non-preserving variadic list.
 	* trio.c trio.h triop.h strio.c strio.h: Upgraded to trio baseline 1.4
-	
+
 Sat Jun  2 06:12:33 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
 
 	* doc/xml.html: added 2.3.10 release
@@ -18631,7 +11121,7 @@
 	  prefix lookup.
 	* parserInternals.c: fixed the bug reported by Morus Walter
 	  due to an off by one typo in xmlStringCurrentChar()
-	
+
 Thu Apr 12 17:41:09 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
 
 	* HTMLparser.c result/HTML/*: revamped the way the HTML
@@ -18724,7 +11214,6 @@
 	  xinclude.c xmlIO.c xpath.c xpointer.c: removed the MEM_CLEANUP
 	  usage.
 
-
 Tue Mar 27 02:30:23 CEST 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
 
 	* error.c: applied the context output patch of the error
@@ -18750,7 +11239,7 @@
 	* configure.in: removed -ansi flag from the pedantic set
 
 Sat Mar 24 17:45:36 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
-        Huge cleanup, I switched to compile with
+	Huge cleanup, I switched to compile with
 	-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit
 	-Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat
 	-Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow
@@ -19182,15 +11671,15 @@
 
 Wed Jan 24 20:27:28 COT 2001 Alejandro Forero <bachue at bachue.com>
 
-        * xmlIO.c (xmlFileOpen, xmlFileOpenW): Removed unnecesary checks.
+	* xmlIO.c (xmlFileOpen, xmlFileOpenW): Removed unnecesary checks.
 
-        * xmlIO.c (xmlCheckFilename): Function added to know whether a given
-          filename points to a valid file (not a directory).
-        * xmlIO.c (xmlFileOpen, xmlFileOpenW, xmlGzfileOpen, xmlGzfileOpenW):
-          Added calls to xmlCheckFilenameDir.
+	* xmlIO.c (xmlCheckFilename): Function added to know whether a given
+	  filename points to a valid file (not a directory).
+	* xmlIO.c (xmlFileOpen, xmlFileOpenW, xmlGzfileOpen, xmlGzfileOpenW):
+	  Added calls to xmlCheckFilenameDir.
 
-        * xmlIO.c (xmlGzfileOpen, xmlGzfileOpenW, xmlFdOpen, xmlFdOpenW): Pass
-          `path' (rather than `filename') as the parameter to gzopen and open.
+	* xmlIO.c (xmlGzfileOpen, xmlGzfileOpenW, xmlFdOpen, xmlFdOpenW): Pass
+	  `path' (rather than `filename') as the parameter to gzopen and open.
 
 Tue Jan 23 16:26:30 CET 2001 Daniel Veillard <Daniel.Veillard at imag.fr>
 
@@ -19509,7 +11998,7 @@
 	  xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
 	  to reset the error handling routine and its argument
 	  (by default it's equivalent to respectively fprintf and stderr.
-        * all the c files: all wild accesses to stderr or stdout within
+	* all the c files: all wild accesses to stderr or stdout within
 	  the library have been replaced to calls to the handler.
 
 Wed Oct 25 15:27:19 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
@@ -19565,7 +12054,7 @@
 
 Sun Oct 15 22:28:32 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
 
-        * Release of 2.2.5
+	* Release of 2.2.5
 	* xpointer.c: range() range-inside and other helper functions
 	* parserInternals.c: fixed perf problem raised by rolf at pointsman.de
 
@@ -19600,7 +12089,7 @@
 	  support for SCRIPT and STYLE with help from Bjorn Reese
 	* test/HTML/* result/HTML/*: added simple testcase and updated
 	  the existing ones.
-	  
+
 Fri Oct 13 18:24:31 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
 
 	* xpath.c xpointer.c: XPointer reorder of ranges start/end and
@@ -19732,7 +12221,7 @@
 	* xpath.[ch] debugXML.c testXPath.c: fixed the XPath evaluation
 	  engine, should be far more stable, incorporated a new version of
 	  preceding/following axis, need testing
-        * uri.c: fixed file:///c:/a/b/c problem
+	* uri.c: fixed file:///c:/a/b/c problem
 	* test/XPath/tests/idsimple: augmented the XPath tests
 
 Sun Oct  1 22:33:00 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
@@ -20062,7 +12551,7 @@
 	  when using in memory parsing. Need some cleanup.
 	* xmllint.c configure.in: added a --memory flag to test memory
 	  parsing
-	
+
 Fri Jul 21 17:09:57 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
 
 	* nanohttp.c: fixed socklen_t replacement to unsigned int
@@ -20175,7 +12664,6 @@
 	* doc/gjobread.c : applied Todd Dukes <tdukes at ibmoto.com> patch
 	  for 2.x support and also fixed includes
 
-
 Wed May  3 14:21:25 CEST 2000 Daniel Veillard <Daniel.Veillard at w3.org>
 
 	* encoding.[ch], xmlIO.[ch], parser.c, configure.in : revamped
@@ -20269,7 +12757,7 @@
 	* xmllint.c Makefile.am libxml.spec.in : renamed tester.c to xmllint.c
 	  and added xmllint to the installed programs
 	* uri.h: added xmlFreeURI()
-	  
+
 Fri Mar 24 14:35:21 CET 2000 Daniel Veillard <Daniel.Veillard at w3.org>
 
 	* uri.c uri.h: finished the escaping handling, the base support
@@ -20602,7 +13090,7 @@
 	  Carl Nygard <cnygard at bellatlantic.net>
 	* tester.c: added --postvalid, cleaning of the code
 	* tree.[ch]: added xmlDocGetRootElement()
-	  
+
 Tue Dec 14 20:30:34 PST 1999 Ramiro Estrugo <ramiro at eazel.com>
 
 	* SAX.h, tree.h : changed 'namespace' to 'nameSpace' to workaround
@@ -20628,8 +13116,7 @@
 	  that output is closer to next version.
 	* doc/* : regenerated the documentation, it is now hosted at
 	  http://xmlsoft.org/ (same bits I just bought the domain :-)
-	
-	
+
 Fri Dec  3 13:46:32 CET 1999 Daniel Veillard <Daniel.Veillard at w3.org>
 
 	* SAX.h, SAX.c, makefile.am: added SAX.h mostly useful for the
@@ -20710,7 +13197,7 @@
 
 	* parser.c: closed bug #2784 a one line fix, but worth pushing
 	            a new release out
-        * HTMLparser.c: fixed auto-close bugs on list items, zeroing
+	* HTMLparser.c: fixed auto-close bugs on list items, zeroing
 	            some structures, comments before and after the
 		    main element, and other nastyness
 	* HTMLtree.c tree.c: accomodate the extended HTML supported	    
@@ -20890,8 +13377,8 @@
 
 Tue Jul 27 21:43:00 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
 
-        * xpath.[ch] : improvements and debug of the XPath implementation
-        * parser.c, HTMLparser.c : modified the parsers to be progressive
+	* xpath.[ch] : improvements and debug of the XPath implementation
+	* parser.c, HTMLparser.c : modified the parsers to be progressive
 	* tree.[ch] : extended the Buffer promitives
 	* xmlIO.[ch] : added basic I/O routines providing progressive
 	  parsing and ready for I18N conversion plugins
@@ -20935,8 +13422,8 @@
 
 Sat Jul 10 14:19:11 CEST 1999 Tomasz K³oczko  <kloczek at pld.org.pl>
 
-        * doc/Makefile.am:
-        - fix which allow "make install DESTDIR=</install/prefix>".
+	* doc/Makefile.am:
+	- fix which allow "make install DESTDIR=</install/prefix>".
 
 Fri Jul  9 12:10:24 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
 
@@ -20947,7 +13434,7 @@
 
 	* HTMLparser.[ch], HTMLtree.[ch]: more work for HTML parsing and
 	  output.
-        * Makefile.am, test/HTML/*, result/HTML/*: added HTMLtests targetestHTMLt
+	* Makefile.am, test/HTML/*, result/HTML/*: added HTMLtests targetestHTMLt
 
 Wed Jul  7 00:25:42 CEST 1999 Daniel Veillard <Daniel.Veillard at w3.org>
 
@@ -21221,11 +13708,11 @@
 
 Tue Oct 27 01:15:39 EST 1998 Daniel Veillard <Daniel.Veillard at w3.org>
 
-        * parser.[ch] SAX.c tree.[ch]: large amount of changes to improve
-          entity support and provide an internal representation close to
-          DOM one (entity ref nodes, and attribute value as tree). I tried
-          to preserve the interface but this will surely break some apps
-          (I have to change rpm2html/rpmfind for example). I had to change
+	* parser.[ch] SAX.c tree.[ch]: large amount of changes to improve
+	  entity support and provide an internal representation close to
+	  DOM one (entity ref nodes, and attribute value as tree). I tried
+	  to preserve the interface but this will surely break some apps
+	  (I have to change rpm2html/rpmfind for example). I had to change
 	  two interfaces, and the generated tree is somewhat different.
 	* doc/* : started documenting the XML library, the tree and
 	  DOM/Corba. This is a first step.
@@ -21277,7 +13764,7 @@
 
 Thu Oct  1 16:22:37 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
 
-        * autogen.sh : applied patch from Frederic Devernay <devernay at istar.fr>
+	* autogen.sh : applied patch from Frederic Devernay <devernay at istar.fr>
 	  to autoupdate libtool and automake conf files.
 
 1998-09-30  Miguel de Icaza  <miguel at nuclecu.unam.mx>
@@ -21285,7 +13772,6 @@
 	* Makefile.am: Use '?' to separate the sed
 	commands as ',' is used when people pass -Wl,something.
 
-
 Thu Sep 24 15:13:29 EDT 1998 Daniel Veillard <Daniel.Veillard at w3.org>
 
 	* tree.c, tree.h: added a per-document compression interface.
@@ -21332,7 +13818,7 @@
 
 Sun Jul 26 00:17:51 EDT 1998  Daniel Veillard <Daniel.Veillard at w3.org>
 
-        * configure.in: added test for CPP
+	* configure.in: added test for CPP
 	* AUTHORS, Changelog: the original ones didn't get commited but the
 	    glib ones instead, fixed.
 	* Makefile.am: corrected an error in library naming

Modified: packages/libxml2/trunk/HTMLparser.c
===================================================================
--- packages/libxml2/trunk/HTMLparser.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/HTMLparser.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -463,16 +463,27 @@
 /* Definitions and a couple of vars for HTML Elements */
 
 #define FONTSTYLE "tt", "i", "b", "u", "s", "strike", "big", "small"
+#define NB_FONTSTYLE 8
 #define PHRASE "em", "strong", "dfn", "code", "samp", "kbd", "var", "cite", "abbr", "acronym"
+#define NB_PHRASE 10
 #define SPECIAL "a", "img", "applet", "object", "font", "basefont", "br", "script", "map", "q", "sub", "sup", "span", "bdo", "iframe"
+#define NB_SPECIAL 15
 #define INLINE PCDATA FONTSTYLE PHRASE SPECIAL FORMCTRL
-#define BLOCK HEADING LIST "pre", "p", "dl", "div", "center", "noscript", "noframes", "blockquote", "form", "isindex", "hr", "table", "fieldset", "address"
+#define NB_INLINE NB_PCDATA + NB_FONTSTYLE + NB_PHRASE + NB_SPECIAL + NB_FORMCTRL
+#define BLOCK HEADING, LIST "pre", "p", "dl", "div", "center", "noscript", "noframes", "blockquote", "form", "isindex", "hr", "table", "fieldset", "address"
+#define NB_BLOCK NB_HEADING + NB_LIST + 14
 #define FORMCTRL "input", "select", "textarea", "label", "button"
+#define NB_FORMCTRL 5
 #define PCDATA
+#define NB_PCDATA 0
 #define HEADING "h1", "h2", "h3", "h4", "h5", "h6"
+#define NB_HEADING 6
 #define LIST "ul", "ol", "dir", "menu"
+#define NB_LIST 4
 #define MODIFIER
+#define NB_MODIFIER 0
 #define FLOW BLOCK,INLINE
+#define NB_FLOW NB_BLOCK + NB_INLINE
 #define EMPTY NULL
 
 
@@ -487,11 +498,17 @@
 /* ... and for HTML Attributes */
 
 #define COREATTRS "id", "class", "style", "title"
+#define NB_COREATTRS 4
 #define I18N "lang", "dir"
+#define NB_I18N 2
 #define EVENTS "onclick", "ondblclick", "onmousedown", "onmouseup", "onmouseover", "onmouseout", "onkeypress", "onkeydown", "onkeyup"
+#define NB_EVENTS 9
 #define ATTRS COREATTRS,I18N,EVENTS
+#define NB_ATTRS NB_NB_COREATTRS + NB_I18N + NB_EVENTS
 #define CELLHALIGN "align", "char", "charoff"
+#define NB_CELLHALIGN 3
 #define CELLVALIGN "valign"
+#define NB_CELLVALIGN 1
 
 static const char* html_attrs[] = { ATTRS, NULL } ;
 static const char* core_i18n_attrs[] = { COREATTRS, I18N, NULL } ;
@@ -1686,12 +1703,15 @@
  * Macro used to grow the current buffer.
  */
 #define growBuffer(buffer) {						\
+    xmlChar *tmp;							\
     buffer##_size *= 2;							\
-    buffer = (xmlChar *) xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
-    if (buffer == NULL) {						\
+    tmp = (xmlChar *) xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
+    if (tmp == NULL) {						\
 	htmlErrMemory(ctxt, "growing buffer\n");			\
+	xmlFree(buffer);						\
 	return(NULL);							\
     }									\
+    buffer = tmp;							\
 }
 
 /**
@@ -2832,13 +2852,17 @@
            ((cur != '>') ||
 	    (r != '-') || (q != '-'))) {
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
+	        xmlFree(buf);
 	        htmlErrMemory(ctxt, "growing buffer failed\n");
 		ctxt->instate = state;
 		return;
 	    }
+	    buf = tmp;
 	}
 	COPY_BUF(ql,buf,len,q);
 	q = r;

Modified: packages/libxml2/trunk/HTMLtree.c
===================================================================
--- packages/libxml2/trunk/HTMLtree.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/HTMLtree.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -170,7 +170,7 @@
 
     if (encoding != NULL) {
 	snprintf(newcontent, sizeof(newcontent), "text/html; charset=%s",
-                encoding);
+                (char *)encoding);
 	newcontent[sizeof(newcontent) - 1] = 0;
     }
 

Modified: packages/libxml2/trunk/Makefile.am
===================================================================
--- packages/libxml2/trunk/Makefile.am	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/Makefile.am	2004-10-13 10:26:58 UTC (rev 274)
@@ -1,8 +1,8 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = include . doc example @PYTHON_SUBDIR@
+SUBDIRS = include . doc example xstc @PYTHON_SUBDIR@
 
-DIST_SUBDIRS = include . doc example python
+DIST_SUBDIRS = include . doc example python xstc
 
 INCLUDES = -I$(top_builddir)/include -I at srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ 
 
@@ -970,6 +970,7 @@
 	    echo "## It is normal to see 6 errors reported" ; \
 	    $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
 	  fi)
+	@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
 
 cleanup:
 	-@(find . -name .\#\* -exec rm {} \;)
@@ -1005,6 +1006,7 @@
 
 confexecdir=$(libdir)
 confexec_DATA = xml2Conf.sh
+CVS_EXTRA_DIST=
 EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
              libxml.m4 Copyright check-xml-test-suite.py \
 	     check-relaxng-test-suite.py check-relaxng-test-suite2.py \

Modified: packages/libxml2/trunk/Makefile.in
===================================================================
--- packages/libxml2/trunk/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -370,6 +370,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -377,6 +378,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@
@@ -424,8 +426,8 @@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-SUBDIRS = include . doc example @PYTHON_SUBDIR@
-DIST_SUBDIRS = include . doc example python
+SUBDIRS = include . doc example xstc @PYTHON_SUBDIR@
+DIST_SUBDIRS = include . doc example python xstc
 INCLUDES = -I$(top_builddir)/include -I at srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ 
 bin_SCRIPTS = xml2-config
 lib_LTLIBRARIES = libxml2.la
@@ -509,6 +511,7 @@
 CLEANFILES = xml2Conf.sh
 confexecdir = $(libdir)
 confexec_DATA = xml2Conf.sh
+CVS_EXTRA_DIST = 
 EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
              libxml.m4 Copyright check-xml-test-suite.py \
 	     check-relaxng-test-suite.py check-relaxng-test-suite2.py \
@@ -2199,6 +2202,7 @@
 	    echo "## It is normal to see 6 errors reported" ; \
 	    $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
 	  fi)
+	@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
 
 cleanup:
 	-@(find . -name .\#\* -exec rm {} \;)

Modified: packages/libxml2/trunk/TODO
===================================================================
--- packages/libxml2/trunk/TODO	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/TODO	2004-10-13 10:26:58 UTC (rev 274)
@@ -5,7 +5,7 @@
            TODO for the XML parser and stuff:
 	   ==================================
 
-      $Id: TODO,v 1.42 2003/10/28 21:31:43 veillard Exp $
+      $Id: TODO,v 1.43 2004/09/26 14:42:56 veillard Exp $
 
     this tend to be outdated :-\ ...
 
@@ -19,55 +19,6 @@
 
 TODO:
 =====
-
-- E20
-[17:21:38] <PGrosso> DV, you have an action to Check what your parser does on E20. Have you done this?
-[17:22:42] <PGrosso> DV, ref: http://www.w3.org/XML/xml-V10-2e-errata#E20
-[17:39:07] <DV> paphio:~/XML -> cat tst.xml
-[17:39:07] <DV> <!DOCTYPE test [
-[17:39:07] <DV> <!ELEMENT test EMPTY>
-[17:39:07] <DV> <!ATTLIST test attr1 NMTOKENS #IMPLIED>
-[17:39:07] <DV> <!ATTLIST test attr2 NMTOKENS #IMPLIED>
-[17:39:07] <DV> <!ATTLIST test attr3 NMTOKENS #IMPLIED>
-[17:39:07] <DV> ]>
-[17:39:07] <DV> <test
-[17:39:07] <DV>    attr1=" a b "
-[17:39:07] <DV>    attr2=" a&#x20;b "
-[17:39:07] <DV>    attr3=" a&#x9;b "
-[17:39:07] <DV>    />
-[17:39:07] <DV> paphio:~/XML -> xmllint --valid tst.xml
-[17:39:07] <DV> <?xml version="1.0"?>
-[17:39:07] <DV> <!DOCTYPE test [
-[17:39:07] <DV> <!ELEMENT test EMPTY>
-[17:39:07] <DV> <!ATTLIST test attr1 NMTOKENS #IMPLIED>
-[17:39:07] <DV> <!ATTLIST test attr2 NMTOKENS #IMPLIED>
-[17:39:07] <DV> <!ATTLIST test attr3 NMTOKENS #IMPLIED>
-[17:39:07] <DV> ]>
-[17:39:07] <DV> <test attr1="a b" attr2="a b" attr3="a&#9;b"/>
-[17:39:07] <DV> paphio:~/XML ->
-[17:39:16] <DV> I think it's okay
-[17:40:28] <PGrosso> DV, so you're saying that your parser implements E20 correctly, right?
-[17:40:48] <DV> assuming I understood E20 point correctly, yes
-[17:41:15] <DV> and that's because I'm unsure taht I pasted the est document and result
-[17:41:25] <DV> s/ est/ test/
-[17:48:56] <richard> does your parser say that document is invalid?
-[17:49:03] <DV> richard: did I understood it ?
-[17:49:11] <DV> richard: no it considers it valid
-[17:49:16] <richard> that document is invalid
-[17:49:47] <DV> ah , well it's unclear 
-[17:50:03] <richard> the normalized value is a-tab-b, which you are correctly serializing as a&#9;b, but it is invalid
-[17:50:11] <DV> richard: okay
-[17:50:23] <DV> that should be really easy to fix
-[17:50:39] <richard> the validity check should require a single space between tokens
-[17:51:03] <DV> no leading and no trailing either
-[17:51:07] <richard> right
-[17:51:18] <DV> which makes sense
-[17:52:42] <richard> a&#32;b is valid, because it turns into a-space-b anyway without any normalization
-[17:54:31] <DV> okay that's attr2 attr2=" a&#x20;b "
-[17:54:44] * DV tends to still think in hexa
-[17:55:59] <DV> richard: and attr2="a&#x20; b" would lead to a validity error too then, if I understand correctly
-[17:56:37] <richard> attr2 is valid
-[17:57:11] <richard> the normalized value is a space b
 - XInclude at the SAX level (libSRVG)
 - fix the C code prototype to bring back doc/libxml-undocumented.txt
   to a reasonable level

Modified: packages/libxml2/trunk/acconfig.h
===================================================================
--- packages/libxml2/trunk/acconfig.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/acconfig.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -6,7 +6,6 @@
 #undef HAVE_ISNAN
 #undef HAVE_LIBHISTORY
 #undef HAVE_LIBREADLINE
-#undef SOCKLEN_T
 #undef HAVE_LIBPTHREAD
 #undef HAVE_PTHREAD_H
 

Modified: packages/libxml2/trunk/check-xinclude-test-suite.py
===================================================================
--- packages/libxml2/trunk/check-xinclude-test-suite.py	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/check-xinclude-test-suite.py	2004-10-13 10:26:58 UTC (rev 274)
@@ -82,6 +82,8 @@
 	return -1
 
     expected = None
+    outputfile = None
+    diff = None
     if type != 'error':
 	output = test.xpathEval('string(output)')
 	if output == 'No output file.':
@@ -98,6 +100,7 @@
 		try:
 		    f = open(output)
 		    expected = f.read()
+		    outputfile = output
 		except:
 		    print "Result for %s unreadable: %s" % (id, output)
 
@@ -112,6 +115,8 @@
 	    result = doc.serialize()
 	    if result != expected:
 	        print "Result for %s differs" % (id)
+		open("xinclude.res", "w").write(result)
+		diff = os.popen("diff %s xinclude.res" % outputfile).read()
 
 	doc.freeDoc()
     else:
@@ -157,6 +162,9 @@
 	    log.write("   ----\n%s   ----\n" % (error_msg))
 	    error_msg = ''
 	log.write("\n")
+    if diff != None:
+        log.write("diff from test %s:\n" %(id))
+	log.write("   -----------\n%s\n   -----------\n" % (diff));
 
     return 0
 	    

Modified: packages/libxml2/trunk/config.h.in
===================================================================
--- packages/libxml2/trunk/config.h.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/config.h.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -7,7 +7,6 @@
 #undef HAVE_ISNAN
 #undef HAVE_LIBHISTORY
 #undef HAVE_LIBREADLINE
-#undef SOCKLEN_T
 #undef HAVE_LIBPTHREAD
 #undef HAVE_PTHREAD_H
 

Modified: packages/libxml2/trunk/configure
===================================================================
--- packages/libxml2/trunk/configure	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/configure	2004-10-13 10:26:58 UTC (rev 274)
@@ -391,9 +391,9 @@
 
 
 
-tagnames=${tagnames+${tagnames},}CXX
+tagnames=`echo "$tagnames,CXX" | sed 's/^,//'`
 
-tagnames=${tagnames+${tagnames},}F77
+tagnames=`echo "$tagnames,F77" | sed 's/^,//'`
 
 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
@@ -463,7 +463,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBXML_MAJOR_VERSION LIBXML_MINOR_VERSION LIBXML_MICRO_VERSION LIBXML_VERSION LIBXML_VERSION_INFO LIBXML_VERSION_NUMBER LIBXML_VERSION_EXTRA INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP RM MV TAR PERL EGREP U ANSI2KNR LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT Z_CFLAGS Z_LIBS HTML_DIR PYTHON WITH_PYTHON_TRUE WITH_PYTHON_FALSE pythondir PYTHON_SUBDIR STATIC_BINARIES WITH_TRIO_SOURCES_TRUE WITH_TRIO_SOURCES_FALSE WITH_TRIO THREAD_LIBS WITH_THREADS THREAD_CFLAGS TEST_THREADS THREADS_W32 WITH_OUTPUT WITH_TREE WITH_FTP FTP_OBJ WITH_HTTP HTTP_OBJ WITH_LEGACY WITH_READER READER_TEST WITH_PATTERN PATTERN_TEST WITH_WRITER WITH_SAX1 TEST_SAX WITH_PUSH TEST_PUSH WITH_HTML HTML_OBJ TEST_HTML TEST_PHTML WITH_VALID TEST_VALID TEST_VTIME WITH_CATALOG CATALOG_OBJ TEST_CATALOG WITH_DOCB DOCB_OBJ WITH_XPATH XPATH_OBJ TEST_XPATH WITH_XPTR XPTR_OBJ TEST_XPTR WITH_C14N C14N_OBJ TEST_C14N WITH_XINCLUDE XINCLUDE_OBJ TEST_XINCLUDE WITH_ICONV WITH_ISO8859X WITH_SCHEMAS TEST_SCHEMAS WITH_REGEXPS TEST_REGEXPS WITH_DEBUG DEBUG_OBJ TEST_DEBUG WITH_MEM_DEBUG WIN32_EXTRA_LIBADD WIN32_EXTRA_LDFLAGS CYGWIN_EXTRA_LDFLAGS CYGWIN_EXTRA_PYTHON_LIBADD XML_CFLAGS XML_LIBDIR XML_LIBS XML_LIBTOOLLIBS ICONV_LIBS XML_INCLUDEDIR HAVE_ISNAN HAVE_ISINF PYTHON_VERSION PYTHON_INCLUDES PYTHON_SITE_PACKAGES M_LIBS RDL_LIBS RELDATE PYTHON_TESTS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBXML_MAJOR_VERSION LIBXML_MINOR_VERSION LIBXML_MICRO_VERSION LIBXML_VERSION LIBXML_VERSION_INFO LIBXML_VERSION_NUMBER LIBXML_VERSION_EXTRA INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP RM MV TAR PERL XMLLINT XSLTPROC EGREP U ANSI2KNR LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL Z_CFLAGS Z_LIBS HTML_DIR PYTHON WITH_PYTHON_TRUE WITH_PYTHON_FALSE pythondir PYTHON_SUBDIR STATIC_BINARIES WITH_TRIO_SOURCES_TRUE WITH_TRIO_SOURCES_FALSE WITH_TRIO THREAD_LIBS WITH_THREADS THREAD_CFLAGS TEST_THREADS THREADS_W32 WITH_OUTPUT WITH_TREE WITH_FTP FTP_OBJ WITH_HTTP HTTP_OBJ WITH_LEGACY WITH_READER READER_TEST WITH_PATTERN PATTERN_TEST WITH_WRITER WITH_SAX1 TEST_SAX WITH_PUSH TEST_PUSH WITH_HTML HTML_OBJ TEST_HTML TEST_PHTML WITH_VALID TEST_VALID TEST_VTIME WITH_CATALOG CATALOG_OBJ TEST_CATALOG WITH_DOCB DOCB_OBJ WITH_XPATH XPATH_OBJ TEST_XPATH WITH_XPTR XPTR_OBJ TEST_XPTR WITH_C14N C14N_OBJ TEST_C14N WITH_XINCLUDE XINCLUDE_OBJ TEST_XINCLUDE WITH_ICONV WITH_ISO8859X WITH_SCHEMAS TEST_SCHEMAS WITH_REGEXPS TEST_REGEXPS WITH_DEBUG DEBUG_OBJ TEST_DEBUG WITH_MEM_DEBUG WIN32_EXTRA_LIBADD WIN32_EXTRA_LDFLAGS CYGWIN_EXTRA_LDFLAGS CYGWIN_EXTRA_PYTHON_LIBADD XML_CFLAGS XML_LIBDIR XML_LIBS XML_LIBTOOLLIBS ICONV_LIBS XML_INCLUDEDIR HAVE_ISNAN HAVE_ISINF PYTHON_VERSION PYTHON_INCLUDES PYTHON_SITE_PACKAGES M_LIBS RDL_LIBS RELDATE PYTHON_TESTS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1032,8 +1032,6 @@
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
  --enable-ipv6=yes/no enables compilation of IPv6 code
 
 Optional Packages:
@@ -1186,7 +1184,7 @@
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi
-    cd "$ac_popdir"
+    cd $ac_popdir
   done
 fi
 
@@ -1617,7 +1615,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=13
+LIBXML_MICRO_VERSION=14
 LIBXML_MICRO_VERSION_SUFFIX=
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
@@ -1793,7 +1791,7 @@
 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
 fi
 
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+if mkdir -p -- . 2>/dev/null; then
   # Keeping the `.' argument allows $(mkdir_p) to be used without
   # argument.  Indeed, we sometimes output rules like
   #   $(mkdir_p) $(somedir)
@@ -1806,7 +1804,7 @@
   # recognize any option.  It will interpret all options as
   # directories to create, and then abort because `.' already
   # exists.
-  for d in ./-p ./--version;
+  for d in ./-p ./--;
   do
     test -d $d && rmdir $d
   done
@@ -2611,7 +2609,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2669,7 +2668,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2785,7 +2785,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2839,7 +2840,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2884,7 +2886,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2928,7 +2931,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3073,9 +3077,7 @@
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      : > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
@@ -3103,14 +3105,9 @@
        grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+      # (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored.
+      if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
         am_cv_CC_dependencies_compiler_type=$depmode
         break
       fi
@@ -3614,7 +3611,87 @@
 echo "${ECHO_T}no" >&6
 fi
 
+# Extract the first word of "xmllint", so it can be a program name with args.
+set dummy xmllint; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XMLLINT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XMLLINT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XMLLINT="$XMLLINT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
+  test -z "$ac_cv_path_XMLLINT" && ac_cv_path_XMLLINT="/usr/bin/xsltproc"
+  ;;
+esac
+fi
+XMLLINT=$ac_cv_path_XMLLINT
+
+if test -n "$XMLLINT"; then
+  echo "$as_me:$LINENO: result: $XMLLINT" >&5
+echo "${ECHO_T}$XMLLINT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+# Extract the first word of "xsltproc", so it can be a program name with args.
+set dummy xsltproc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XSLTPROC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XSLTPROC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="/usr/bin/xsltproc"
+  ;;
+esac
+fi
+XSLTPROC=$ac_cv_path_XSLTPROC
+
+if test -n "$XSLTPROC"; then
+  echo "$as_me:$LINENO: result: $XSLTPROC" >&5
+echo "${ECHO_T}$XSLTPROC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
 echo "$as_me:$LINENO: checking for function prototypes" >&5
 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6
 if test "$ac_cv_prog_cc_stdc" != no; then
@@ -3685,7 +3762,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3855,7 +3933,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3930,7 +4009,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4205,7 +4285,7 @@
     # Accept absolute paths.
     [\\/]* | ?:[\\/]*)
       re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
+      # Canonicalize the path of ld
       ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
 	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
@@ -4395,24 +4475,28 @@
   lt_cv_file_magic_test_file=/shlib/libc.so
   ;;
 
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
+cygwin* | mingw* | pw32*)
+  # win32_libid is a shell function defined in ltmain.sh
   lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
+  lt_cv_file_magic_cmd='win32_libid'
   ;;
 
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
 darwin* | rhapsody*)
+  # this will be overwritten by pass_all, but leave it in just in case
+  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  case "$host_os" in
+  rhapsody* | darwin1.[012])
+    lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System`
+    ;;
+  *) # Darwin 1.3 on
+    lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
+    ;;
+  esac
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu)
+freebsd*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -4451,21 +4535,39 @@
   ;;
 
 irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
+  case $host_os in
+  irix5* | nonstopux*)
+    # this will be overridden with pass_all, but let us keep it just in case
+    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+    ;;
+  *)
+    case $LD in
+    *-32|*"-32 ") libmagic=32-bit;;
+    *-n32|*"-n32 ") libmagic=N32;;
+    *-64|*"-64 ") libmagic=64-bit;;
+    *) libmagic=never-match;;
+    esac
+    # this will be overridden with pass_all, but let us keep it just in case
+    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
+    ;;
   esac
+  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
   lt_cv_deplibs_check_method=pass_all
   ;;
 
 # This must be Linux ELF.
 linux*)
-  lt_cv_deplibs_check_method=pass_all
+  case $host_cpu in
+  alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh* | x86_64*)
+    lt_cv_deplibs_check_method=pass_all ;;
+  *)
+    # glibc up to 2.1.1 does not perform some relocations on ARM
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
+  esac
+  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   ;;
 
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -4479,7 +4581,7 @@
   lt_cv_file_magic_test_file=/usr/lib/libnls.so
   ;;
 
-nto-qnx*)
+nto-qnx)
   lt_cv_deplibs_check_method=unknown
   ;;
 
@@ -4494,6 +4596,9 @@
   ;;
 
 osf3* | osf4* | osf5*)
+  # this will be overridden with pass_all, but let us keep it just in case
+  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+  lt_cv_file_magic_test_file=/shlib/libc.so
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -4503,6 +4608,7 @@
 
 solaris*)
   lt_cv_deplibs_check_method=pass_all
+  lt_cv_file_magic_test_file=/lib/libc.so
   ;;
 
 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
@@ -4581,7 +4687,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4584 "configure"' > conftest.$ac_ext
+  echo '#line 4690 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -4630,7 +4736,7 @@
         x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
-        ppc64-*linux*|powerpc64-*linux*)
+        ppc64-*linux*)
           LD="${LD-ld} -m elf32ppclinux"
           ;;
         s390x-*linux*)
@@ -4701,7 +4807,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5018,7 +5125,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5278,7 +5386,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5336,7 +5445,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5407,7 +5517,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5451,7 +5562,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5525,9 +5637,7 @@
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      : > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
@@ -5555,14 +5665,9 @@
        grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+      # (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored.
+      if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
         am_cv_CXX_dependencies_compiler_type=$depmode
         break
       fi
@@ -5916,7 +6021,7 @@
 
 
 # Provide some information about the compiler.
-echo "$as_me:5919:" \
+echo "$as_me:6024:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -5962,7 +6067,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_f77_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6011,7 +6117,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_f77_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6069,7 +6176,7 @@
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
     i=0
-  teststring="ABCD"
+  testring="ABCD"
 
   case $build_os in
   msdosdjgpp*)
@@ -6098,26 +6205,20 @@
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
  *)
     # If test is not a shell built-in, we'll probably end up computing a
     # maximum length that is only half of the actual maximum length, but
     # we can't tell.
-    while (test "X"`$CONFIG_SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
-	       = "XX$teststring") >/dev/null 2>&1 &&
-	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
+    while (test "X"`$CONFIG_SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \
+	       = "XX$testring") >/dev/null 2>&1 &&
+	    new_result=`expr "X$testring" : ".*" 2>&1` &&
 	    lt_cv_sys_max_cmd_len=$new_result &&
 	    test $i != 17 # 1/2 MB should be enough
     do
       i=`expr $i + 1`
-      teststring=$teststring$teststring
+      testring=$testring$testring
     done
-    teststring=
+    testring=
     # Add a significant safety factor because C++ compilers can tack on massive
     # amounts of additional arguments before passing them to the linker.
     # It appears as though 1/2 is a usable value.
@@ -6929,8 +7030,7 @@
 if test "$GCC" = yes; then
   lt_prog_compiler_no_builtin_flag=' -fno-builtin'
 
-
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6948,11 +7048,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6951: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7051: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6955: \$? = $ac_status" >&5
+   echo "$as_me:7055: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -7095,12 +7195,12 @@
 
     linux*)
       case $CC in
-      icc* | ecc*)
+      icc|ecc)
 	lt_prog_compiler_wl='-Wl,'
 	lt_prog_compiler_pic='-KPIC'
 	lt_prog_compiler_static='-static'
         ;;
-      ccc*)
+      ccc)
         lt_prog_compiler_wl='-Wl,'
         # All Alpha code is PIC.
         lt_prog_compiler_static='-non_shared'
@@ -7162,8 +7262,7 @@
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
 if test "${lt_prog_compiler_pic_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -7181,11 +7280,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7184: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7283: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7188: \$? = $ac_status" >&5
+   echo "$as_me:7287: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -7232,6 +7331,13 @@
    mkdir out
    printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
+   # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+   # that will create temporary files in the current directory regardless of
+   # the output directory.  Thus, making CWD read-only will cause this test
+   # to fail, enabling locking or at least warning the user not to do parallel
+   # builds.
+   chmod -w .
+
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -7241,11 +7347,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7244: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7350: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7248: \$? = $ac_status" >&5
+   echo "$as_me:7354: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -7255,11 +7361,8 @@
      fi
    fi
    chmod u+w .
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
+   $rm conftest* out/*
+   rmdir out
    cd ..
    rmdir conftest
    $rm conftest*
@@ -7418,7 +7521,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -7457,7 +7560,7 @@
       ;;
 
   linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
         tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 	archive_cmds="$tmp_archive_cmds"
       supports_anon_versioning=no
@@ -7476,7 +7579,6 @@
       else
         archive_expsym_cmds="$tmp_archive_cmds"
       fi
-      link_all_deplibs=no
     else
       ld_shlibs=no
     fi
@@ -7633,7 +7735,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7693,7 +7796,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7758,7 +7862,7 @@
       # Tell ltmain to make .lib files, not .a files.
       libext=lib
       # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
+      shrext=".dll"
       # FIXME: Setting linknames here is a bad hack.
       archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
@@ -7770,27 +7874,20 @@
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
+    if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
       archive_cmds_need_lc=no
       case "$host_os" in
       rhapsody* | darwin1.[012])
 	allow_undefined_flag='-undefined suppress'
 	;;
       *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-      	allow_undefined_flag='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
+	test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag='-flat_namespace -undefined suppress'
 	;;
       esac
+      # FIXME: Relying on posixy $() will cause problems for
+      #        cross-compilation, but unfortunately the echo tests do not
+      #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
+      #	       `"' quotes if we put them in here... so don't!
     	lt_int_apple_cc_single_mod=no
     	output_verbose_link_cmd='echo'
     	if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
@@ -7801,21 +7898,19 @@
     	else
         archive_cmds='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       fi
-      module_cmds='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      module_cmds='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
       # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
         if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
           archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         else
           archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         fi
-          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       hardcode_direct=no
       hardcode_automatic=yes
       hardcode_shlibpath_var=unsupported
       whole_archive_flag_spec='-all_load $convenience'
       link_all_deplibs=yes
-    else
-      ld_shlibs=no
     fi
       ;;
 
@@ -7849,7 +7944,7 @@
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd*)
       archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
@@ -7936,7 +8031,7 @@
       link_all_deplibs=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -8209,12 +8304,78 @@
   ;;
 esac
 
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+   test -n "$runpath_var " || \
+   test "X$hardcode_automatic"="Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6
+
+if test "$hardcode_action" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
 echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext=".so"
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -8302,7 +8463,7 @@
 amigaos*)
   library_names_spec='$libname.ixlibrary $libname.a'
   # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
   ;;
 
 beos*)
@@ -8327,7 +8488,7 @@
 
 cygwin* | mingw* | pw32*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_version=no
   need_lib_prefix=no
 
@@ -8349,7 +8510,7 @@
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
       ;;
     mingw*)
       # MinGW DLLs use traditional 'lib' prefix
@@ -8388,16 +8549,17 @@
   version_type=darwin
   need_lib_prefix=no
   need_version=no
+  # FIXME: Relying on posixy $() will cause problems for
+  #        cross-compilation, but unfortunately the echo tests do not
+  #        yet detect zsh echo's removal of \ escapes.
   library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
   fi
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
@@ -8415,18 +8577,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd*)
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
@@ -8475,7 +8625,7 @@
   need_version=no
   case "$host_cpu" in
   ia64*)
-    shrext_cmds='.so'
+    shrext='.so'
     hardcode_into_libs=yes
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
@@ -8490,7 +8640,7 @@
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
    hppa*64*)
-     shrext_cmds='.sl'
+     shrext='.sl'
      hardcode_into_libs=yes
      dynamic_linker="$host_os dld.sl"
      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
@@ -8501,7 +8651,7 @@
      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
      ;;
    *)
-    shrext_cmds='.sl'
+    shrext='.sl'
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
@@ -8570,12 +8720,6 @@
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
   # We used to test for /lib/ld.so.1 and disable shared libraries on
   # powerpc, because MkLinux only supported shared libraries with the
   # GNU dynamic linker.  Since this was broken with cross compilers,
@@ -8583,32 +8727,32 @@
   # people can always --disable-shared, the test was removed, and we
   # assume the GNU/Linux dynamic linker is in use.
   dynamic_linker='GNU/Linux ld.so'
-  ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
+  # Find out which ABI we are using (multilib Linux x86_64 hack).
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 8735 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  *)
+    ;;
+  esac
+  sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+  sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -8618,7 +8762,7 @@
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
     soname_spec='${libname}${release}${shared_ext}$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
@@ -8634,7 +8778,7 @@
   shlibpath_overrides_runpath=yes
   ;;
 
-nto-qnx*)
+nto-qnx)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -8647,7 +8791,7 @@
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -8667,7 +8811,7 @@
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_lib_prefix=no
   library_names_spec='$libname${shared_ext} $libname.a'
   dynamic_linker='OS/2 ld.exe'
@@ -8765,72 +8909,6 @@
 echo "${ECHO_T}$dynamic_linker" >&6
 test "$dynamic_linker" = no && can_build_shared=no
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var " || \
-   test "X$hardcode_automatic"="Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
-
-if test "$hardcode_action" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
-   *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    ;;
-  esac
-fi
-
 if test "x$enable_dlopen" != xyes; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
@@ -8896,7 +8974,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8999,7 +9078,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9064,7 +9144,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9157,7 +9238,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9222,7 +9304,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9288,7 +9371,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9354,7 +9438,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9429,7 +9514,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9432 "configure"
+#line 9517 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9527,7 +9612,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9530 "configure"
+#line 9615 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9652,47 +9737,38 @@
   fi
   ;;
 
-aix4* | aix5*)
+aix4*)
   if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes && enable_static=no
   fi
   ;;
   darwin* | rhapsody*)
-  if test "$GCC" = yes; then
+  if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
     archive_cmds_need_lc=no
     case "$host_os" in
     rhapsody* | darwin1.[012])
       allow_undefined_flag='-undefined suppress'
       ;;
     *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-      	allow_undefined_flag='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
+      test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag='-flat_namespace -undefined suppress'
       ;;
     esac
-    output_verbose_link_cmd='echo'
+    # FIXME: Relying on posixy $() will cause problems for
+    #        cross-compilation, but unfortunately the echo tests do not
+    #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
+    #	       `"' quotes if we put them in here... so don't!
+		output_verbose_link_cmd='echo'
     archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring'
-    module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+    module_cmds='$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
     # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+		  archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+		  module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     hardcode_direct=no
     hardcode_automatic=yes
     hardcode_shlibpath_var=unsupported
     whole_archive_flag_spec='-all_load $convenience'
     link_all_deplibs=yes
-  else
-    ld_shlibs=no
-  fi
+    fi
     ;;
 esac
 echo "$as_me:$LINENO: result: $enable_shared" >&5
@@ -9718,8 +9794,7 @@
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
-    SED SHELL STRIP \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
     deplibs_check_method reload_flag reload_cmds need_locks \
@@ -9897,7 +9972,7 @@
 NM=$lt_NM
 
 # A symbol stripping program
-STRIP=$lt_STRIP
+STRIP=$STRIP
 
 # Used to examine libraries when file_magic_cmd begins "file"
 MAGIC_CMD=$MAGIC_CMD
@@ -9928,7 +10003,7 @@
 libext="$libext"
 
 # Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+shrext='$shrext'
 
 # Executable file suffix (normally "").
 exeext="$exeext"
@@ -10170,10 +10245,7 @@
   # If there is no Makefile yet, we rely on a make rule to execute
   # `config.status --recheck' to rerun these tests and create the
   # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
+  test -f Makefile && make "$ltmain"
 fi
 
 
@@ -10354,7 +10426,7 @@
     # Accept absolute paths.
     [\\/]* | ?:[\\/]*)
       re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
+      # Canonicalize the path of ld
       ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
 	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
@@ -10599,7 +10671,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10660,7 +10733,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10736,54 +10810,41 @@
   ;;
 
   darwin* | rhapsody*)
-  if test "$GXX" = yes; then
+   if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
     archive_cmds_need_lc_CXX=no
     case "$host_os" in
     rhapsody* | darwin1.[012])
       allow_undefined_flag_CXX='-undefined suppress'
       ;;
     *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-      	allow_undefined_flag_CXX='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag_CXX='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag_CXX='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
+      test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag_CXX='-flat_namespace -undefined suppress'
       ;;
     esac
-    lt_int_apple_cc_single_mod=no
-    output_verbose_link_cmd='echo'
-    if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
-      lt_int_apple_cc_single_mod=yes
-    fi
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    else
-      archive_cmds_CXX='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-    fi
-    module_cmds_CXX='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+    	lt_int_apple_cc_single_mod=no
+    	output_verbose_link_cmd='echo'
+    	if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+    	  lt_int_apple_cc_single_mod=yes
+    	fi
+    	if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+    	  archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+    	else
+        archive_cmds_CXX='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+      fi
+      module_cmds_CXX='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
 
     # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-    if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-      archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    else
-      archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+        archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      else
+        archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      fi
+        module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     hardcode_direct_CXX=no
     hardcode_automatic_CXX=yes
     hardcode_shlibpath_var_CXX=unsupported
     whole_archive_flag_spec_CXX='-all_load $convenience'
     link_all_deplibs_CXX=yes
-  else
-    ld_shlibs_CXX=no
-  fi
+   fi
     ;;
 
   dgux*)
@@ -10810,7 +10871,7 @@
   freebsd-elf*)
     archive_cmds_need_lc_CXX=no
     ;;
-  freebsd* | kfreebsd*-gnu)
+  freebsd*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     ld_shlibs_CXX=yes
@@ -10841,7 +10902,7 @@
       # explicitly linking system object files so we need to strip them
       # from the output so that they don't get included in the library
       # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
       ;;
     *)
       if test "$GXX" = yes; then
@@ -11038,7 +11099,7 @@
 	;;
     esac
     ;;
-  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  netbsd*)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -11517,7 +11578,7 @@
 	    ;;
 	esac
 	;;
-      freebsd* | kfreebsd*-gnu)
+      freebsd*)
 	# FreeBSD uses GNU C++
 	;;
       hpux9* | hpux10* | hpux11*)
@@ -11593,7 +11654,7 @@
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      netbsd*)
 	;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
@@ -11685,8 +11746,7 @@
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_CXX"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
 if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -11704,11 +11764,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11707: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11767: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11711: \$? = $ac_status" >&5
+   echo "$as_me:11771: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -11755,6 +11815,13 @@
    mkdir out
    printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
+   # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+   # that will create temporary files in the current directory regardless of
+   # the output directory.  Thus, making CWD read-only will cause this test
+   # to fail, enabling locking or at least warning the user not to do parallel
+   # builds.
+   chmod -w .
+
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -11764,11 +11831,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11767: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11834: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11771: \$? = $ac_status" >&5
+   echo "$as_me:11838: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -11778,11 +11845,8 @@
      fi
    fi
    chmod u+w .
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
+   $rm conftest* out/*
+   rmdir out
    cd ..
    rmdir conftest
    $rm conftest*
@@ -11834,9 +11898,6 @@
   cygwin* | mingw*)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
-  linux*)
-    link_all_deplibs_CXX=no
-  ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
@@ -11913,12 +11974,78 @@
   ;;
 esac
 
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" || \
+   test -n "$runpath_var CXX" || \
+   test "X$hardcode_automatic_CXX"="Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_CXX" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+     test "$hardcode_minus_L_CXX" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6
+
+if test "$hardcode_action_CXX" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
 echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext=".so"
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -12006,7 +12133,7 @@
 amigaos*)
   library_names_spec='$libname.ixlibrary $libname.a'
   # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
   ;;
 
 beos*)
@@ -12031,7 +12158,7 @@
 
 cygwin* | mingw* | pw32*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_version=no
   need_lib_prefix=no
 
@@ -12053,7 +12180,7 @@
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
       ;;
     mingw*)
       # MinGW DLLs use traditional 'lib' prefix
@@ -12092,16 +12219,17 @@
   version_type=darwin
   need_lib_prefix=no
   need_version=no
+  # FIXME: Relying on posixy $() will cause problems for
+  #        cross-compilation, but unfortunately the echo tests do not
+  #        yet detect zsh echo's removal of \ escapes.
   library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
   fi
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
@@ -12119,18 +12247,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd*)
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
@@ -12179,7 +12295,7 @@
   need_version=no
   case "$host_cpu" in
   ia64*)
-    shrext_cmds='.so'
+    shrext='.so'
     hardcode_into_libs=yes
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
@@ -12194,7 +12310,7 @@
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
    hppa*64*)
-     shrext_cmds='.sl'
+     shrext='.sl'
      hardcode_into_libs=yes
      dynamic_linker="$host_os dld.sl"
      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
@@ -12205,7 +12321,7 @@
      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
      ;;
    *)
-    shrext_cmds='.sl'
+    shrext='.sl'
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
@@ -12274,12 +12390,6 @@
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
   # We used to test for /lib/ld.so.1 and disable shared libraries on
   # powerpc, because MkLinux only supported shared libraries with the
   # GNU dynamic linker.  Since this was broken with cross compilers,
@@ -12287,32 +12397,32 @@
   # people can always --disable-shared, the test was removed, and we
   # assume the GNU/Linux dynamic linker is in use.
   dynamic_linker='GNU/Linux ld.so'
-  ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
+  # Find out which ABI we are using (multilib Linux x86_64 hack).
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 12405 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  *)
+    ;;
+  esac
+  sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+  sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -12322,7 +12432,7 @@
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
     soname_spec='${libname}${release}${shared_ext}$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
@@ -12338,7 +12448,7 @@
   shlibpath_overrides_runpath=yes
   ;;
 
-nto-qnx*)
+nto-qnx)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -12351,7 +12461,7 @@
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -12371,7 +12481,7 @@
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_lib_prefix=no
   library_names_spec='$libname${shared_ext} $libname.a'
   dynamic_linker='OS/2 ld.exe'
@@ -12469,72 +12579,6 @@
 echo "${ECHO_T}$dynamic_linker" >&6
 test "$dynamic_linker" = no && can_build_shared=no
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
-   test -n "$runpath_var CXX" || \
-   test "X$hardcode_automatic_CXX"="Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_CXX" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
-     test "$hardcode_minus_L_CXX" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
-
-if test "$hardcode_action_CXX" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
-   *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    ;;
-  esac
-fi
-
 if test "x$enable_dlopen" != xyes; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
@@ -12600,7 +12644,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12703,7 +12748,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12768,7 +12814,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12861,7 +12908,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12926,7 +12974,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12992,7 +13041,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13058,7 +13108,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13133,7 +13184,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13136 "configure"
+#line 13187 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13231,7 +13282,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13234 "configure"
+#line 13285 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13348,8 +13399,7 @@
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
-    SED SHELL STRIP \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
     deplibs_check_method reload_flag reload_cmds need_locks \
@@ -13479,7 +13529,7 @@
 NM=$lt_NM
 
 # A symbol stripping program
-STRIP=$lt_STRIP
+STRIP=$STRIP
 
 # Used to examine libraries when file_magic_cmd begins "file"
 MAGIC_CMD=$MAGIC_CMD
@@ -13510,7 +13560,7 @@
 libext="$libext"
 
 # Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+shrext='$shrext'
 
 # Executable file suffix (normally "").
 exeext="$exeext"
@@ -13727,10 +13777,7 @@
   # If there is no Makefile yet, we rely on a make rule to execute
   # `config.status --recheck' to rerun these tests and create the
   # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
+  test -f Makefile && make "$ltmain"
 fi
 
 
@@ -13832,7 +13879,7 @@
     postinstall_cmds='$RANLIB $lib'
   fi
   ;;
-aix4* | aix5*)
+aix4*)
   test "$enable_shared" = yes && enable_static=no
   ;;
 esac
@@ -13972,12 +14019,12 @@
 
     linux*)
       case $CC in
-      icc* | ecc*)
+      icc|ecc)
 	lt_prog_compiler_wl_F77='-Wl,'
 	lt_prog_compiler_pic_F77='-KPIC'
 	lt_prog_compiler_static_F77='-static'
         ;;
-      ccc*)
+      ccc)
         lt_prog_compiler_wl_F77='-Wl,'
         # All Alpha code is PIC.
         lt_prog_compiler_static_F77='-non_shared'
@@ -14039,8 +14086,7 @@
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_F77"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
 if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -14058,11 +14104,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14061: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14107: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14065: \$? = $ac_status" >&5
+   echo "$as_me:14111: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -14109,6 +14155,13 @@
    mkdir out
    printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
+   # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+   # that will create temporary files in the current directory regardless of
+   # the output directory.  Thus, making CWD read-only will cause this test
+   # to fail, enabling locking or at least warning the user not to do parallel
+   # builds.
+   chmod -w .
+
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -14118,11 +14171,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14121: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14174: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14125: \$? = $ac_status" >&5
+   echo "$as_me:14178: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14132,11 +14185,8 @@
      fi
    fi
    chmod u+w .
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
+   $rm conftest* out/*
+   rmdir out
    cd ..
    rmdir conftest
    $rm conftest*
@@ -14295,7 +14345,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -14334,7 +14384,7 @@
       ;;
 
   linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
         tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 	archive_cmds_F77="$tmp_archive_cmds"
       supports_anon_versioning=no
@@ -14353,7 +14403,6 @@
       else
         archive_expsym_cmds_F77="$tmp_archive_cmds"
       fi
-      link_all_deplibs_F77=no
     else
       ld_shlibs_F77=no
     fi
@@ -14500,7 +14549,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_f77_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14550,7 +14600,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_f77_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14615,7 +14666,7 @@
       # Tell ltmain to make .lib files, not .a files.
       libext=lib
       # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
+      shrext=".dll"
       # FIXME: Setting linknames here is a bad hack.
       archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
@@ -14627,27 +14678,20 @@
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
+    if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
       archive_cmds_need_lc_F77=no
       case "$host_os" in
       rhapsody* | darwin1.[012])
 	allow_undefined_flag_F77='-undefined suppress'
 	;;
       *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-      	allow_undefined_flag_F77='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag_F77='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag_F77='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
+	test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag_F77='-flat_namespace -undefined suppress'
 	;;
       esac
+      # FIXME: Relying on posixy $() will cause problems for
+      #        cross-compilation, but unfortunately the echo tests do not
+      #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
+      #	       `"' quotes if we put them in here... so don't!
     	lt_int_apple_cc_single_mod=no
     	output_verbose_link_cmd='echo'
     	if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
@@ -14658,21 +14702,19 @@
     	else
         archive_cmds_F77='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       fi
-      module_cmds_F77='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      module_cmds_F77='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
       # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
         if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
           archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         else
           archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         fi
-          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       hardcode_direct_F77=no
       hardcode_automatic_F77=yes
       hardcode_shlibpath_var_F77=unsupported
       whole_archive_flag_spec_F77='-all_load $convenience'
       link_all_deplibs_F77=yes
-    else
-      ld_shlibs_F77=no
     fi
       ;;
 
@@ -14706,7 +14748,7 @@
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd*)
       archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec_F77='-R$libdir'
       hardcode_direct_F77=yes
@@ -14793,7 +14835,7 @@
       link_all_deplibs_F77=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -15066,12 +15108,78 @@
   ;;
 esac
 
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_F77=
+if test -n "$hardcode_libdir_flag_spec_F77" || \
+   test -n "$runpath_var F77" || \
+   test "X$hardcode_automatic_F77"="Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_F77" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
+     test "$hardcode_minus_L_F77" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_F77=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_F77=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_F77=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6
+
+if test "$hardcode_action_F77" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
 echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext=".so"
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -15159,7 +15267,7 @@
 amigaos*)
   library_names_spec='$libname.ixlibrary $libname.a'
   # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
   ;;
 
 beos*)
@@ -15184,7 +15292,7 @@
 
 cygwin* | mingw* | pw32*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_version=no
   need_lib_prefix=no
 
@@ -15206,7 +15314,7 @@
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
       ;;
     mingw*)
       # MinGW DLLs use traditional 'lib' prefix
@@ -15245,16 +15353,17 @@
   version_type=darwin
   need_lib_prefix=no
   need_version=no
+  # FIXME: Relying on posixy $() will cause problems for
+  #        cross-compilation, but unfortunately the echo tests do not
+  #        yet detect zsh echo's removal of \ escapes.
   library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
   fi
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
@@ -15272,18 +15381,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd*)
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
@@ -15332,7 +15429,7 @@
   need_version=no
   case "$host_cpu" in
   ia64*)
-    shrext_cmds='.so'
+    shrext='.so'
     hardcode_into_libs=yes
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
@@ -15347,7 +15444,7 @@
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
    hppa*64*)
-     shrext_cmds='.sl'
+     shrext='.sl'
      hardcode_into_libs=yes
      dynamic_linker="$host_os dld.sl"
      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
@@ -15358,7 +15455,7 @@
      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
      ;;
    *)
-    shrext_cmds='.sl'
+    shrext='.sl'
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
@@ -15427,12 +15524,6 @@
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
   # We used to test for /lib/ld.so.1 and disable shared libraries on
   # powerpc, because MkLinux only supported shared libraries with the
   # GNU dynamic linker.  Since this was broken with cross compilers,
@@ -15440,32 +15531,32 @@
   # people can always --disable-shared, the test was removed, and we
   # assume the GNU/Linux dynamic linker is in use.
   dynamic_linker='GNU/Linux ld.so'
-  ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
+  # Find out which ABI we are using (multilib Linux x86_64 hack).
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 15539 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  *)
+    ;;
+  esac
+  sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+  sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -15475,7 +15566,7 @@
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
     soname_spec='${libname}${release}${shared_ext}$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
@@ -15491,7 +15582,7 @@
   shlibpath_overrides_runpath=yes
   ;;
 
-nto-qnx*)
+nto-qnx)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -15504,7 +15595,7 @@
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -15524,7 +15615,7 @@
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_lib_prefix=no
   library_names_spec='$libname${shared_ext} $libname.a'
   dynamic_linker='OS/2 ld.exe'
@@ -15622,74 +15713,7 @@
 echo "${ECHO_T}$dynamic_linker" >&6
 test "$dynamic_linker" = no && can_build_shared=no
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
-   test -n "$runpath_var F77" || \
-   test "X$hardcode_automatic_F77"="Xyes" ; then
 
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_F77" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
-     test "$hardcode_minus_L_F77" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_F77=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_F77=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_F77=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
-
-if test "$hardcode_action_F77" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
-   *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    ;;
-  esac
-fi
-
-
-
 # The else clause should only fire when bootstrapping the
 # libtool distribution, otherwise you forgot to ship ltmain.sh
 # with your package, and you will get complaints that there are
@@ -15703,8 +15727,7 @@
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
-    SED SHELL STRIP \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
     deplibs_check_method reload_flag reload_cmds need_locks \
@@ -15834,7 +15857,7 @@
 NM=$lt_NM
 
 # A symbol stripping program
-STRIP=$lt_STRIP
+STRIP=$STRIP
 
 # Used to examine libraries when file_magic_cmd begins "file"
 MAGIC_CMD=$MAGIC_CMD
@@ -15865,7 +15888,7 @@
 libext="$libext"
 
 # Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+shrext='$shrext'
 
 # Executable file suffix (normally "").
 exeext="$exeext"
@@ -16082,10 +16105,7 @@
   # If there is no Makefile yet, we rely on a make rule to execute
   # `config.status --recheck' to rerun these tests and create the
   # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
+  test -f Makefile && make "$ltmain"
 fi
 
 
@@ -16144,8 +16164,7 @@
 if test "$GCC" = yes; then
   lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
 
-
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16163,11 +16182,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16166: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16185: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16170: \$? = $ac_status" >&5
+   echo "$as_me:16189: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -16310,12 +16329,12 @@
 
     linux*)
       case $CC in
-      icc* | ecc*)
+      icc|ecc)
 	lt_prog_compiler_wl_GCJ='-Wl,'
 	lt_prog_compiler_pic_GCJ='-KPIC'
 	lt_prog_compiler_static_GCJ='-static'
         ;;
-      ccc*)
+      ccc)
         lt_prog_compiler_wl_GCJ='-Wl,'
         # All Alpha code is PIC.
         lt_prog_compiler_static_GCJ='-non_shared'
@@ -16377,8 +16396,7 @@
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
 if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -16396,11 +16414,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16399: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16417: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16403: \$? = $ac_status" >&5
+   echo "$as_me:16421: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -16447,6 +16465,13 @@
    mkdir out
    printf "$lt_simple_compile_test_code" > conftest.$ac_ext
 
+   # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+   # that will create temporary files in the current directory regardless of
+   # the output directory.  Thus, making CWD read-only will cause this test
+   # to fail, enabling locking or at least warning the user not to do parallel
+   # builds.
+   chmod -w .
+
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -16456,11 +16481,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16459: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16484: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16463: \$? = $ac_status" >&5
+   echo "$as_me:16488: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16470,11 +16495,8 @@
      fi
    fi
    chmod u+w .
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
+   $rm conftest* out/*
+   rmdir out
    cd ..
    rmdir conftest
    $rm conftest*
@@ -16633,7 +16655,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -16672,7 +16694,7 @@
       ;;
 
   linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
         tmp_archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 	archive_cmds_GCJ="$tmp_archive_cmds"
       supports_anon_versioning=no
@@ -16691,7 +16713,6 @@
       else
         archive_expsym_cmds_GCJ="$tmp_archive_cmds"
       fi
-      link_all_deplibs_GCJ=no
     else
       ld_shlibs_GCJ=no
     fi
@@ -16848,7 +16869,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16908,7 +16930,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16973,7 +16996,7 @@
       # Tell ltmain to make .lib files, not .a files.
       libext=lib
       # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
+      shrext=".dll"
       # FIXME: Setting linknames here is a bad hack.
       archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
@@ -16985,27 +17008,20 @@
       ;;
 
     darwin* | rhapsody*)
-    if test "$GXX" = yes ; then
+    if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
       archive_cmds_need_lc_GCJ=no
       case "$host_os" in
       rhapsody* | darwin1.[012])
 	allow_undefined_flag_GCJ='-undefined suppress'
 	;;
       *) # Darwin 1.3 on
-      if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-      	allow_undefined_flag_GCJ='-flat_namespace -undefined suppress'
-      else
-        case ${MACOSX_DEPLOYMENT_TARGET} in
-          10.[012])
-            allow_undefined_flag_GCJ='-flat_namespace -undefined suppress'
-            ;;
-          10.*)
-            allow_undefined_flag_GCJ='-undefined dynamic_lookup'
-            ;;
-        esac
-      fi
+	test -z ${LD_TWOLEVEL_NAMESPACE} && allow_undefined_flag_GCJ='-flat_namespace -undefined suppress'
 	;;
       esac
+      # FIXME: Relying on posixy $() will cause problems for
+      #        cross-compilation, but unfortunately the echo tests do not
+      #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
+      #	       `"' quotes if we put them in here... so don't!
     	lt_int_apple_cc_single_mod=no
     	output_verbose_link_cmd='echo'
     	if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
@@ -17016,21 +17032,19 @@
     	else
         archive_cmds_GCJ='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
       fi
-      module_cmds_GCJ='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+      module_cmds_GCJ='$CC -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
       # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
         if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
           archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         else
           archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
         fi
-          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       hardcode_direct_GCJ=no
       hardcode_automatic_GCJ=yes
       hardcode_shlibpath_var_GCJ=unsupported
       whole_archive_flag_spec_GCJ='-all_load $convenience'
       link_all_deplibs_GCJ=yes
-    else
-      ld_shlibs_GCJ=no
     fi
       ;;
 
@@ -17064,7 +17078,7 @@
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu)
+    freebsd*)
       archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec_GCJ='-R$libdir'
       hardcode_direct_GCJ=yes
@@ -17151,7 +17165,7 @@
       link_all_deplibs_GCJ=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -17424,12 +17438,78 @@
   ;;
 esac
 
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+   test -n "$runpath_var GCJ" || \
+   test "X$hardcode_automatic_GCJ"="Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct_GCJ" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+     test "$hardcode_minus_L_GCJ" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_GCJ=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_GCJ=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_GCJ=unsupported
+fi
+echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6
+
+if test "$hardcode_action_GCJ" = relink; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+   darwin*)
+       if test -n "$STRIP" ; then
+         striplib="$STRIP -x"
+         echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+       else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+       ;;
+   *)
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+    ;;
+  esac
+fi
+
 echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext=".so"
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -17517,7 +17597,7 @@
 amigaos*)
   library_names_spec='$libname.ixlibrary $libname.a'
   # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
   ;;
 
 beos*)
@@ -17542,7 +17622,7 @@
 
 cygwin* | mingw* | pw32*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_version=no
   need_lib_prefix=no
 
@@ -17564,7 +17644,7 @@
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
       ;;
     mingw*)
       # MinGW DLLs use traditional 'lib' prefix
@@ -17603,16 +17683,17 @@
   version_type=darwin
   need_lib_prefix=no
   need_version=no
+  # FIXME: Relying on posixy $() will cause problems for
+  #        cross-compilation, but unfortunately the echo tests do not
+  #        yet detect zsh echo's removal of \ escapes.
   library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
+  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+  if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
+  sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
   fi
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
@@ -17630,18 +17711,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd*)
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
@@ -17690,7 +17759,7 @@
   need_version=no
   case "$host_cpu" in
   ia64*)
-    shrext_cmds='.so'
+    shrext='.so'
     hardcode_into_libs=yes
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
@@ -17705,7 +17774,7 @@
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
    hppa*64*)
-     shrext_cmds='.sl'
+     shrext='.sl'
      hardcode_into_libs=yes
      dynamic_linker="$host_os dld.sl"
      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
@@ -17716,7 +17785,7 @@
      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
      ;;
    *)
-    shrext_cmds='.sl'
+    shrext='.sl'
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
@@ -17785,12 +17854,6 @@
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/:,\t/ /g;s/=^=*$//;s/=^= * / /g' /etc/ld.so.conf | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
   # We used to test for /lib/ld.so.1 and disable shared libraries on
   # powerpc, because MkLinux only supported shared libraries with the
   # GNU dynamic linker.  Since this was broken with cross compilers,
@@ -17798,32 +17861,32 @@
   # people can always --disable-shared, the test was removed, and we
   # assume the GNU/Linux dynamic linker is in use.
   dynamic_linker='GNU/Linux ld.so'
-  ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
+  # Find out which ABI we are using (multilib Linux x86_64 hack).
+  libsuff=
+  case "$host_cpu" in
+  x86_64*|s390x*|powerpc64*)
+    echo '#line 17869 "configure"' > conftest.$ac_ext
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+      case `/usr/bin/file conftest.$ac_objext` in
+      *64-bit*)
+        libsuff=64
+        ;;
+      esac
+    fi
+    rm -rf conftest*
+    ;;
+  *)
+    ;;
+  esac
+  sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+  sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -17833,7 +17896,7 @@
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
     soname_spec='${libname}${release}${shared_ext}$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
@@ -17849,7 +17912,7 @@
   shlibpath_overrides_runpath=yes
   ;;
 
-nto-qnx*)
+nto-qnx)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -17862,7 +17925,7 @@
 openbsd*)
   version_type=sunos
   need_lib_prefix=no
-  need_version=yes
+  need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -17882,7 +17945,7 @@
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  shrext=".dll"
   need_lib_prefix=no
   library_names_spec='$libname${shared_ext} $libname.a'
   dynamic_linker='OS/2 ld.exe'
@@ -17980,72 +18043,6 @@
 echo "${ECHO_T}$dynamic_linker" >&6
 test "$dynamic_linker" = no && can_build_shared=no
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
-   test -n "$runpath_var GCJ" || \
-   test "X$hardcode_automatic_GCJ"="Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_GCJ" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
-     test "$hardcode_minus_L_GCJ" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_GCJ=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_GCJ=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_GCJ=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
-
-if test "$hardcode_action_GCJ" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-       else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-       ;;
-   *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    ;;
-  esac
-fi
-
 if test "x$enable_dlopen" != xyes; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
@@ -18111,7 +18108,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18214,7 +18212,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18279,7 +18278,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18372,7 +18372,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18437,7 +18438,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18503,7 +18505,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18569,7 +18572,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18644,7 +18648,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18647 "configure"
+#line 18651 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18742,7 +18746,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18745 "configure"
+#line 18749 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18859,8 +18863,7 @@
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
-    SED SHELL STRIP \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
     deplibs_check_method reload_flag reload_cmds need_locks \
@@ -18990,7 +18993,7 @@
 NM=$lt_NM
 
 # A symbol stripping program
-STRIP=$lt_STRIP
+STRIP=$STRIP
 
 # Used to examine libraries when file_magic_cmd begins "file"
 MAGIC_CMD=$MAGIC_CMD
@@ -19021,7 +19024,7 @@
 libext="$libext"
 
 # Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+shrext='$shrext'
 
 # Executable file suffix (normally "").
 exeext="$exeext"
@@ -19238,10 +19241,7 @@
   # If there is no Makefile yet, we rely on a make rule to execute
   # `config.status --recheck' to rerun these tests and create the
   # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
+  test -f Makefile && make "$ltmain"
 fi
 
 
@@ -19304,8 +19304,7 @@
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \
-    SED SHELL STRIP \
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
     old_striplib striplib file_magic_cmd finish_cmds finish_eval \
     deplibs_check_method reload_flag reload_cmds need_locks \
@@ -19435,7 +19434,7 @@
 NM=$lt_NM
 
 # A symbol stripping program
-STRIP=$lt_STRIP
+STRIP=$STRIP
 
 # Used to examine libraries when file_magic_cmd begins "file"
 MAGIC_CMD=$MAGIC_CMD
@@ -19466,7 +19465,7 @@
 libext="$libext"
 
 # Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
+shrext='$shrext'
 
 # Executable file suffix (normally "").
 exeext="$exeext"
@@ -19683,10 +19682,7 @@
   # If there is no Makefile yet, we rely on a make rule to execute
   # `config.status --recheck' to rerun these tests and create the
   # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
+  test -f Makefile && make "$ltmain"
 fi
 
 
@@ -19757,32 +19753,9 @@
 
 
 
-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
-    # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
-  enableval="$enable_maintainer_mode"
-  USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi;
-  echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+# AM_MAINTAINER_MODE
 
 
-if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-
 # Check whether --with-minimum or --without-minimum was given.
 if test "${with_minimum+set}" = set; then
   withval="$with_minimum"
@@ -19850,7 +19823,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19998,7 +19972,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20095,7 +20070,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20167,7 +20143,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20221,7 +20198,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20292,7 +20270,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20346,7 +20325,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20413,7 +20393,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20579,7 +20560,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20728,7 +20710,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20877,7 +20860,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21026,7 +21010,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21175,7 +21160,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21324,7 +21310,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21473,7 +21460,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21622,7 +21610,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21771,7 +21760,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21920,7 +21910,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22069,7 +22060,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22218,7 +22210,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22367,7 +22360,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22516,7 +22510,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22665,7 +22660,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22814,7 +22810,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22963,7 +22960,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23112,7 +23110,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23258,7 +23257,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23321,7 +23321,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23387,7 +23388,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23453,7 +23455,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23602,7 +23605,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23751,7 +23755,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23900,7 +23905,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24049,7 +24055,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24198,7 +24205,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24344,7 +24352,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24413,7 +24422,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24535,7 +24545,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24604,7 +24615,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24711,7 +24723,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24816,7 +24829,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24920,7 +24934,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25023,7 +25038,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25132,7 +25148,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25232,7 +25249,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25298,7 +25316,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25399,7 +25418,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25465,7 +25485,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25566,7 +25587,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25632,7 +25654,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25672,7 +25695,7 @@
 echo "$as_me:$LINENO: checking for type of socket length (socklen_t)" >&5
 echo $ECHO_N "checking for type of socket length (socklen_t)... $ECHO_C" >&6
 cat > conftest.$ac_ext <<EOF
-#line 25675 "configure"
+#line 25698 "configure"
 #include "confdefs.h"
 
 #include <stddef.h>
@@ -25683,7 +25706,7 @@
 (void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)
 ; return 0; }
 EOF
-if { (eval echo configure:25686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:25709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
   rm -rf conftest*
 
   echo "$as_me:$LINENO: result: socklen_t *" >&5
@@ -25695,7 +25718,7 @@
   rm -rf conftest*
 
   cat > conftest.$ac_ext <<EOF
-#line 25698 "configure"
+#line 25721 "configure"
 #include "confdefs.h"
 
 #include <stddef.h>
@@ -25706,7 +25729,7 @@
 (void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)
 ; return 0; }
 EOF
-if { (eval echo configure:25709: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:25732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
   rm -rf conftest*
 
     echo "$as_me:$LINENO: result: size_t *" >&5
@@ -25718,7 +25741,7 @@
   rm -rf conftest*
 
     cat > conftest.$ac_ext <<EOF
-#line 25721 "configure"
+#line 25744 "configure"
 #include "confdefs.h"
 
 #include <stddef.h>
@@ -25729,7 +25752,7 @@
 (void)getsockopt (1, 1, 1, NULL, (int *)NULL)
 ; return 0; }
 EOF
-if { (eval echo configure:25732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:25755: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
   rm -rf conftest*
 
       echo "$as_me:$LINENO: result: int *" >&5
@@ -25742,7 +25765,7 @@
 
       { echo "$as_me:$LINENO: WARNING: could not determine" >&5
 echo "$as_me: WARNING: could not determine" >&2;}
-      SOCKLEN_T="unsigned int"
+      SOCKLEN_T="int"
 fi
 rm -f conftest*
 fi
@@ -25800,7 +25823,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25897,7 +25921,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25966,7 +25991,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26074,7 +26100,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26143,7 +26170,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26244,7 +26272,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26313,7 +26342,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26646,7 +26676,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26791,7 +26822,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26919,7 +26951,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26981,7 +27014,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27126,7 +27160,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27194,7 +27229,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27339,7 +27375,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27838,7 +27875,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27974,7 +28012,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28032,7 +28071,8 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28255,7 +28295,7 @@
 ln -s Copyright COPYING
 
 # keep on one line for cygwin c.f. #130896
-                                                                                                                                            ac_config_files="$ac_config_files libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py"
+                                                                                                                                                      ac_config_files="$ac_config_files libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py"
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -28368,13 +28408,6 @@
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 if test -z "${WITH_PYTHON_TRUE}" && test -z "${WITH_PYTHON_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"WITH_PYTHON\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -28842,6 +28875,7 @@
   "example/Makefile" ) CONFIG_FILES="$CONFIG_FILES example/Makefile" ;;
   "python/Makefile" ) CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
   "python/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES python/tests/Makefile" ;;
+  "xstc/Makefile" ) CONFIG_FILES="$CONFIG_FILES xstc/Makefile" ;;
   "include/libxml/xmlversion.h" ) CONFIG_FILES="$CONFIG_FILES include/libxml/xmlversion.h" ;;
   "xml2-config" ) CONFIG_FILES="$CONFIG_FILES xml2-config" ;;
   "libxml-2.0.pc" ) CONFIG_FILES="$CONFIG_FILES libxml-2.0.pc" ;;
@@ -28990,6 +29024,8 @@
 s, at MV@,$MV,;t t
 s, at TAR@,$TAR,;t t
 s, at PERL@,$PERL,;t t
+s, at XMLLINT@,$XMLLINT,;t t
+s, at XSLTPROC@,$XSLTPROC,;t t
 s, at EGREP@,$EGREP,;t t
 s, at U@,$U,;t t
 s, at ANSI2KNR@,$ANSI2KNR,;t t
@@ -29016,9 +29052,6 @@
 s, at FFLAGS@,$FFLAGS,;t t
 s, at ac_ct_F77@,$ac_ct_F77,;t t
 s, at LIBTOOL@,$LIBTOOL,;t t
-s, at MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s, at MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s, at MAINT@,$MAINT,;t t
 s, at Z_CFLAGS@,$Z_CFLAGS,;t t
 s, at Z_LIBS@,$Z_LIBS,;t t
 s, at HTML_DIR@,$HTML_DIR,;t t
@@ -29273,6 +29306,11 @@
   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
   esac
 
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
   # Let's still pretend it is `configure' which instantiates (i.e., don't
   # use $as_me), people would be surprised to read:
   #    /* config.h.  Generated by config.status.  */
@@ -29311,12 +29349,6 @@
 	 fi;;
       esac
     done` || { (exit 1); exit 1; }
-
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
@@ -29733,14 +29765,14 @@
   grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
   # Extract the definition of DEP_FILES from the Makefile without
   # running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
   test -z "$DEPDIR" && continue
   # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
+  U=`sed -n -e '/^U = / s///p' < "$mf"`
   test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
   # We invoke sed twice because it is the simplest approach to
   # changing $(DEPDIR) to its actual value in the expansion.
-  for file in `sed -n '
+  for file in `sed -n -e '
     /^DEP_FILES = .*\\\\$/ {
       s/^DEP_FILES = //
       :loop

Modified: packages/libxml2/trunk/configure.in
===================================================================
--- packages/libxml2/trunk/configure.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/configure.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -5,7 +5,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=13
+LIBXML_MICRO_VERSION=14
 LIBXML_MICRO_VERSION_SUFFIX=
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
@@ -40,6 +40,8 @@
 AC_PATH_PROG(MV, mv, /bin/mv)
 AC_PATH_PROG(TAR, tar, /bin/tar)
 AC_PATH_PROG(PERL, perl, /usr/bin/perl)
+AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xsltproc)
+AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
 
 dnl Make sure we have an ANSI compiler
 AM_C_PROTOTYPES
@@ -215,7 +217,7 @@
       AC_MSG_RESULT(int *)
       SOCKLEN_T=int],[
       AC_MSG_WARN(could not determine)
-      SOCKLEN_T="unsigned int"])])])
+      SOCKLEN_T="int"])])])
 AC_DEFINE_UNQUOTED(SOCKLEN_T, $SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
 
 dnl ***********************Checking for availability of IPv6*******************
@@ -1080,6 +1082,6 @@
 ln -s Copyright COPYING
 
 # keep on one line for cygwin c.f. #130896
-AC_OUTPUT(libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py)
+AC_OUTPUT(libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py)
 
 chmod +x xml2-config python/setup.py

Modified: packages/libxml2/trunk/debian/changelog
===================================================================
--- packages/libxml2/trunk/debian/changelog	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/debian/changelog	2004-10-13 10:26:58 UTC (rev 274)
@@ -1,3 +1,9 @@
+libxml2 (2.6.14-1) experimental; urgency=low
+
+  * New upstream release. Closes: #273961.
+
+ -- Mike Hommey <mh at glandium.org>  Wed, 13 Oct 2004 19:23:25 +0900
+
 libxml2 (2.6.13-1) experimental; urgency=low
 
   * New upstream release:

Modified: packages/libxml2/trunk/debugXML.c
===================================================================
--- packages/libxml2/trunk/debugXML.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/debugXML.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -85,13 +85,13 @@
 	return;
     }
     if (dtd->name != NULL)
-	fprintf(output, "DTD(%s)", dtd->name);
+	fprintf(output, "DTD(%s)", (char *)dtd->name);
     else
 	fprintf(output, "DTD");
     if (dtd->ExternalID != NULL)
-	fprintf(output, ", PUBLIC %s", dtd->ExternalID);
+	fprintf(output, ", PUBLIC %s", (char *)dtd->ExternalID);
     if (dtd->SystemID != NULL)
-	fprintf(output, ", SYSTEM %s", dtd->SystemID);
+	fprintf(output, ", SYSTEM %s", (char *)dtd->SystemID);
     fprintf(output, "\n");
     /*
      * Do a bit of checking
@@ -138,11 +138,11 @@
 	return;
     }
     if (attr->name != NULL)
-	fprintf(output, "ATTRDECL(%s)", attr->name);
+	fprintf(output, "ATTRDECL(%s)", (char *)attr->name);
     else
 	fprintf(output, "PBM ATTRDECL noname!!!");
     if (attr->elem != NULL)
-	fprintf(output, " for %s", attr->elem);
+	fprintf(output, " for %s", (char *)attr->elem);
     else
 	fprintf(output, " PBM noelem!!!");
     switch (attr->atype) {
@@ -183,9 +183,9 @@
 
 	for (indx = 0;indx < 5; indx++) {
 	    if (indx != 0)
-		fprintf(output, "|%s", cur->name);
+		fprintf(output, "|%s", (char *)cur->name);
 	    else
-		fprintf(output, " (%s", cur->name);
+		fprintf(output, " (%s", (char *)cur->name);
 	    cur = cur->next;
 	    if (cur == NULL) break;
 	}
@@ -364,15 +364,15 @@
     }
     if (ent->ExternalID) {
         fprintf(output, shift);
-        fprintf(output, " ExternalID=%s\n", ent->ExternalID);
+        fprintf(output, " ExternalID=%s\n", (char *)ent->ExternalID);
     }
     if (ent->SystemID) {
         fprintf(output, shift);
-        fprintf(output, " SystemID=%s\n", ent->SystemID);
+        fprintf(output, " SystemID=%s\n", (char *)ent->SystemID);
     }
     if (ent->URI != NULL) {
         fprintf(output, shift);
-        fprintf(output, " URI=%s\n", ent->URI);
+        fprintf(output, " URI=%s\n", (char *)ent->URI);
     }
     if (ent->content) {
         fprintf(output, shift);
@@ -422,17 +422,18 @@
 	return;
     }
     if (ns->type != XML_NAMESPACE_DECL) {
-        fprintf(output, "invalid namespace node %d\n", ns->type);
+        fprintf(output, "invalid namespace node %d\n", (char *)ns->type);
 	return;
     }
     if (ns->href == NULL) {
 	if (ns->prefix != NULL)
-	    fprintf(output, "incomplete namespace %s href=NULL\n", ns->prefix);
+	    fprintf(output, "incomplete namespace %s href=NULL\n",
+	    	(char *)ns->prefix);
 	else
 	    fprintf(output, "incomplete default namespace href=NULL\n");
     } else {
 	if (ns->prefix != NULL)
-	    fprintf(output, "namespace %s href=", ns->prefix);
+	    fprintf(output, "namespace %s href=", (char *)ns->prefix);
 	else
 	    fprintf(output, "default namespace href=");
 
@@ -481,20 +482,20 @@
 	    fprintf(output, "EXTERNAL_PARAMETER_ENTITY ");
 	    break;
 	default:
-	    fprintf(output, "ENTITY_%d ! ", ent->etype);
+	    fprintf(output, "ENTITY_%d ! ", (char *)ent->etype);
     }
     fprintf(output, "%s\n", ent->name);
     if (ent->ExternalID) {
         fprintf(output, shift);
-        fprintf(output, "ExternalID=%s\n", ent->ExternalID);
+        fprintf(output, "ExternalID=%s\n", (char *)ent->ExternalID);
     }
     if (ent->SystemID) {
         fprintf(output, shift);
-        fprintf(output, "SystemID=%s\n", ent->SystemID);
+        fprintf(output, "SystemID=%s\n", (char *)ent->SystemID);
     }
     if (ent->URI) {
         fprintf(output, shift);
-        fprintf(output, "URI=%s\n", ent->URI);
+        fprintf(output, "URI=%s\n", (char *)ent->URI);
     }
     if (ent->content) {
         fprintf(output, shift);
@@ -627,7 +628,7 @@
             break;
         case XML_ENTITY_REF_NODE:
             fprintf(output, shift);
-            fprintf(output, "ENTITY_REF(%s)\n", node->name);
+            fprintf(output, "ENTITY_REF(%s)\n", (char *)node->name);
             break;
         case XML_ENTITY_NODE:
             fprintf(output, shift);
@@ -635,7 +636,7 @@
             break;
         case XML_PI_NODE:
             fprintf(output, shift);
-            fprintf(output, "PI %s\n", node->name);
+            fprintf(output, "PI %s\n", (char *)node->name);
             break;
         case XML_COMMENT_NODE:
             fprintf(output, shift);
@@ -683,7 +684,7 @@
             return;
         default:
             fprintf(output, shift);
-            fprintf(output, "NODE_%d !!!\n", node->type);
+            fprintf(output, "NODE_%d !!!\n", (char *)node->type);
             return;
     }
     if (node->doc == NULL) {
@@ -845,7 +846,7 @@
             fprintf(output, "Error, NOTATION\n");
             break;
         default:
-            fprintf(output, "NODE_%d\n", doc->type);
+            fprintf(output, "NODE_%d\n", (char *)doc->type);
     }
     if (doc->name != NULL) {
         fprintf(output, "name=");
@@ -916,13 +917,13 @@
         return;
     }
     if (dtd->name != NULL)
-        fprintf(output, "DTD(%s)", dtd->name);
+        fprintf(output, "DTD(%s)", (char *)dtd->name);
     else
         fprintf(output, "DTD");
     if (dtd->ExternalID != NULL)
-        fprintf(output, ", PUBLIC %s", dtd->ExternalID);
+        fprintf(output, ", PUBLIC %s", (char *)dtd->ExternalID);
     if (dtd->SystemID != NULL)
-        fprintf(output, ", SYSTEM %s", dtd->SystemID);
+        fprintf(output, ", SYSTEM %s", (char *)dtd->SystemID);
     fprintf(output, "\n");
     /*
      * Do a bit of checking
@@ -958,7 +959,7 @@
 	fprintf(output, "Entity is NULL");
 	return;
     }
-    fprintf(output, "%s : ", cur->name);
+    fprintf(output, "%s : ", (char *)cur->name);
     switch (cur->etype) {
 	case XML_INTERNAL_GENERAL_ENTITY:
 	    fprintf(output, "INTERNAL GENERAL, ");
@@ -977,17 +978,17 @@
 	    break;
 	default:
 	    fprintf(output, "UNKNOWN TYPE %d",
-		    cur->etype);
+		    (char *)cur->etype);
     }
     if (cur->ExternalID != NULL) 
-	fprintf(output, "ID \"%s\"", cur->ExternalID);
+	fprintf(output, "ID \"%s\"", (char *)cur->ExternalID);
     if (cur->SystemID != NULL)
-	fprintf(output, "SYSTEM \"%s\"", cur->SystemID);
+	fprintf(output, "SYSTEM \"%s\"", (char *)cur->SystemID);
     if (cur->orig != NULL)
-	fprintf(output, "\n orig \"%s\"", cur->orig);
+	fprintf(output, "\n orig \"%s\"", (char *)cur->orig);
     if ((cur->type != XML_ELEMENT_NODE) &&
 	(cur->content != NULL))
-	fprintf(output, "\n content \"%s\"", cur->content);
+	fprintf(output, "\n content \"%s\"", (char *)cur->content);
     fprintf(output, "\n");	
 }
 
@@ -1049,7 +1050,7 @@
             fprintf(output, "Error, NOTATION\n");
             break;
         default:
-            fprintf(output, "NODE_%d\n", doc->type);
+            fprintf(output, "NODE_%d\n", (char *)doc->type);
     }
     if ((doc->intSubset != NULL) && (doc->intSubset->entities != NULL)) {
         xmlEntitiesTablePtr table = (xmlEntitiesTablePtr)
@@ -1245,9 +1246,10 @@
 	    xmlNsPtr ns = (xmlNsPtr) node;
 
 	    if (ns->prefix == NULL)
-		fprintf(output, "default -> %s", ns->href);
+		fprintf(output, "default -> %s", (char *)ns->href);
 	    else
-		fprintf(output, "%s -> %s", ns->prefix, ns->href);
+		fprintf(output, "%s -> %s", (char *)ns->prefix,
+			(char *)ns->href);
 	    break;
 	}
 	default:

Modified: packages/libxml2/trunk/doc/APIchunk0.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk0.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk0.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -59,8 +59,11 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</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-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</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-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 />

Modified: packages/libxml2/trunk/doc/APIchunk1.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk1.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk1.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -147,7 +147,6 @@
 </dd><dt>Changes</dt><dd><a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
 </dd><dt>Char</dt><dd><a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk10.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk10.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk10.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -216,7 +216,8 @@
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</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 />
+</dd><dt>checks</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
 <a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 <a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
@@ -260,6 +261,7 @@
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
 <a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
+</dd><dt>circular</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
 </dd><dt>cleanly</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
 </dd><dt>cleans</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
@@ -437,13 +439,18 @@
 <a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
 </dd><dt>completed</dt><dd><a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-</dd><dt>completely</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
+</dd><dt>completely</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
+<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_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
+</dd><dt>complexType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</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_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>components</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</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 />
 </dd><dt>compress</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
@@ -593,7 +600,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>contained</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
+</dd><dt>contained</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</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-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
@@ -754,10 +762,12 @@
 <a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
 </dd><dt>creates</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
@@ -767,6 +777,7 @@
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
 </dd><dt>cross</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 </dd><dt>crossed</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>cshema</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
 </dd><dt>ctrio</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
 <a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk11.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk11.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk11.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -356,7 +356,8 @@
 <a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
 <a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
 <a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-</dd><dt>did</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>did</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
 </dd><dt>difference</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
 </dd><dt>different</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk12.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk12.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk12.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -302,6 +302,7 @@
 <a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
 </dd><dt>events</dt><dd><a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 </dd><dt>everywhere</dt><dd><a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
 </dd><dt>exact</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
@@ -370,6 +371,7 @@
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
 </dd><dt>extension</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</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_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_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 />

Modified: packages/libxml2/trunk/doc/APIchunk13.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk13.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk13.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -367,7 +367,9 @@
 <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-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</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-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk14.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk14.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk14.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -117,6 +117,7 @@
 <a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
 </dd><dt>gif</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>give</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 </dd><dt>gives</dt><dd><a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
 <a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
 <a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
@@ -147,7 +148,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 </dd><dt>greater-than</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>group</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
+</dd><dt>group</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeGroup">_xmlSchemaAttributeGroup</a><br />
 <a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
@@ -229,6 +231,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a><br />
 </dd><dt>has-same-nodes</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
 </dd><dt>have</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
 <a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
@@ -258,6 +261,7 @@
 <a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
 </dd><dt>header</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk15.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk15.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk15.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -139,6 +139,7 @@
 <a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
 <a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
 </dd><dt>includes</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
@@ -212,6 +213,7 @@
 </dd><dt>indicates</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
 </dd><dt>indicating</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
@@ -268,6 +270,7 @@
 <a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>informations</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
 <a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
@@ -289,6 +292,8 @@
 <a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 <a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 </dd><dt>informative</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
@@ -488,7 +493,8 @@
 </dd><dt>isnan</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>issue</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 </dd><dt>issued</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</dd><dt>item</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
+</dd><dt>item</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk17.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk17.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk17.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -78,7 +78,8 @@
 </dd><dt>mark</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-</dd><dt>marked</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+</dd><dt>marked</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 </dd><dt>marker</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
@@ -129,7 +130,9 @@
 <a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
 </dd><dt>maximal</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 </dd><dt>maximum</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 </dd><dt>means</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
@@ -202,9 +205,12 @@
 </dd><dt>migrate</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 </dd><dt>minimal</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 </dd><dt>minimum</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
 <a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 </dd><dt>minus</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>minute</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>misleading</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
@@ -257,6 +263,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>moreover</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>most</dt><dd><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 </dd><dt>moved</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk18.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk18.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk18.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -38,6 +38,7 @@
 </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 />
+<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk19.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk19.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk19.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -62,7 +62,9 @@
 <a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
 <a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
 </dd><dt>occurences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>occurred</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</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 />
@@ -118,6 +120,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
 </dd><dt>once</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
 <a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 <a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
@@ -140,6 +143,7 @@
 <a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
 <a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
+</dd><dt>ononymous</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 </dd><dt>onto</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
 </dd><dt>opaque</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
@@ -220,6 +224,7 @@
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
 <a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk20.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk20.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk20.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -196,9 +196,12 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</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-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</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 />
 <a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
 <a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
@@ -246,6 +249,7 @@
 <a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
 </dd><dt>precomputed</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
@@ -281,6 +285,7 @@
 </dd><dt>present</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
 <a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
 <a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
@@ -457,6 +462,7 @@
 <a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
 </dd><dt>provides</dt><dd><a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk21.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk21.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk21.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -136,7 +136,8 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 </dd><dt>reader-</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>reading</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
+</dd><dt>reading</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
+<a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
 </dd><dt>ready</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
 </dd><dt>realloc</dt><dd><a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
@@ -243,13 +244,16 @@
 <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
 <a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
 <a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>ref</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
+</dd><dt>ref</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
+<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
 <a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
 <a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
 <a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-</dd><dt>referenced</dt><dd><a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
+</dd><dt>referenced</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeGroup">_xmlSchemaAttributeGroup</a><br />
+<a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>references</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
+</dd><dt>references</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
+<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
 <a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
 <a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
@@ -472,7 +476,8 @@
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
 </dd><dt>resolveEntity</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
 <a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-</dd><dt>resolved</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
+</dd><dt>resolved</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
 </dd><dt>resolver</dt><dd><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
 <a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
 </dd><dt>resources</dt><dd><a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
@@ -484,11 +489,13 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
 </dd><dt>respecting</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
 </dd><dt>response</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 </dd><dt>responsible</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 </dd><dt>restored</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk22.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk22.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk22.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -119,7 +119,9 @@
 </dd><dt>schemas</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</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-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 </dd><dt>scheme</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
 <a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
 <a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
@@ -231,6 +233,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
 </dd><dt>sets</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
@@ -295,7 +298,8 @@
 <a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>simple</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
+</dd><dt>simple</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</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-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
 <a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
@@ -452,7 +456,8 @@
 </dd><dt>specification</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>specifications</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>specify</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
+</dd><dt>specify</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<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#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -495,16 +500,19 @@
 </dd><dt>started</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
 </dd><dt>starting</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 <a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
@@ -699,6 +707,7 @@
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
 <a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
@@ -741,9 +750,13 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
 </dd><dt>succession</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>successive</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>such</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk23.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk23.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk23.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -210,7 +210,9 @@
 </dd><dt>titles</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
 <a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
 </dd><dt>token</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
 <a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
 <a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk24.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk24.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk24.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -67,6 +67,7 @@
 <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-schemasInternals.html#_xmlSchema">_xmlSchema</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 />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
@@ -154,7 +155,6 @@
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
 <a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
 <a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-</dd><dt>updates</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 </dd><dt>upon</dt><dd><a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
 <a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
 </dd><dt>upper</dt><dd><a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk25.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk25.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk25.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -60,7 +60,9 @@
 <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#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</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 />
@@ -154,7 +156,9 @@
 <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#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</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 />
@@ -168,6 +172,7 @@
 </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-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</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 />

Modified: packages/libxml2/trunk/doc/APIchunk26.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk26.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk26.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -48,6 +48,8 @@
 <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-parserInternals.html#xmlParseName">xmlParseName</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</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 />

Modified: packages/libxml2/trunk/doc/APIchunk3.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk3.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk3.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -148,6 +148,7 @@
 <a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk4.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk4.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk4.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -118,6 +118,7 @@
 </dd><dt>Malayalam</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a><br />
 </dd><dt>Maps</dt><dd><a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
 <a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
+</dd><dt>Marks</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
 </dd><dt>Markup</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 </dd><dt>Match</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
@@ -281,6 +282,7 @@
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a><br />
 <a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</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-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk5.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk5.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk5.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -192,6 +192,7 @@
 <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk6.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk6.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk6.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -307,6 +307,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</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-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
 </dd><dt>Script</dt><dd><a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
 </dd><dt>Search</dt><dd><a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
 <a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
@@ -365,6 +366,7 @@
 <a href="html/libxml-xmlsave.html#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveSetEscape">xmlSaveSetEscape</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#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
 <a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
 <a href="html/libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk8.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk8.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk8.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -39,6 +39,9 @@
 </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#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a><br />
@@ -142,6 +145,7 @@
 <a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
 <a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
+</dd><dt>XML-Schema</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 </dd><dt>XMLDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
 </dd><dt>XMLDecl?</dt><dd><a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
 </dd><dt>XMLSchema</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
@@ -249,6 +253,7 @@
 </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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
 </dd><dt>accept</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
 <a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
 </dd><dt>accepted</dt><dd><a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
@@ -281,14 +286,17 @@
 </dd><dt>activated</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
 </dd><dt>activation</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
 </dd><dt>acts</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-</dd><dt>actual</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
+</dd><dt>actual</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
 </dd><dt>actually</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -359,10 +367,12 @@
 </dd><dt>address</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
 </dd><dt>adds</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
@@ -643,10 +653,12 @@
 </dd><dt>assumes</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>assuming</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
+</dd><dt>assure</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 </dd><dt>atomic</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 </dd><dt>attached</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>attr</dt><dd><a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
+</dd><dt>attr</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
 <a href="html/libxml-tree.html#_xmlRef">_xmlRef</a><br />
 </dd><dt>attribute-list</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />

Modified: packages/libxml2/trunk/doc/APIchunk9.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk9.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIchunk9.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -55,6 +55,7 @@
 <a href="html/libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a><br />
 <a href="html/libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
 <a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
 <a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
@@ -160,7 +161,9 @@
 <a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 <a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
 </dd><dt>between</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
@@ -208,6 +211,7 @@
 </dd><dt>boundary</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
 </dd><dt>bracket</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
+</dd><dt>branch</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 </dd><dt>break</dt><dd><a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
 </dd><dt>breaking</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 </dd><dt>breaks</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />

Modified: packages/libxml2/trunk/doc/APIconstructors.html
===================================================================
--- packages/libxml2/trunk/doc/APIconstructors.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIconstructors.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -138,10 +138,12 @@
 </p><h2>Type xmlAutomataStatePtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />

Modified: packages/libxml2/trunk/doc/APIfiles.html
===================================================================
--- packages/libxml2/trunk/doc/APIfiles.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIfiles.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -552,6 +552,7 @@
 </p><h2><a name="nanohttp" id="nanohttp">Module nanohttp</a>:</h2><p><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
@@ -938,6 +939,7 @@
 <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 />
 <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_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</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_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a><br />
@@ -1016,6 +1018,10 @@
 <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_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</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 />
@@ -1025,6 +1031,7 @@
 <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_MARKED">XML_SCHEMAS_TYPE_MARKED</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 />
@@ -1617,11 +1624,13 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
@@ -2005,6 +2014,8 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a><br />
 <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_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</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_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a><br />
@@ -2044,6 +2055,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a><br />
@@ -2082,6 +2094,8 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a><br />
@@ -2118,6 +2132,10 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a><br />
@@ -2181,6 +2199,8 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</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 />
@@ -2222,6 +2242,8 @@
 <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_1">XML_SCHEMAV_CVC_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</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_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a><br />
@@ -2520,6 +2542,7 @@
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a><br />
+<a href="html/libxml-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchema">xmlSchema</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
@@ -2537,10 +2560,14 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</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-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</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#xmlSchemaValidOption">xmlSchemaValidOption</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />

Modified: packages/libxml2/trunk/doc/APIfunctions.html
===================================================================
--- packages/libxml2/trunk/doc/APIfunctions.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIfunctions.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -178,7 +178,9 @@
 <a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
 <a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
@@ -670,7 +672,9 @@
 <a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
 <a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
@@ -738,6 +742,7 @@
 <a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
@@ -861,11 +866,13 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
@@ -873,10 +880,12 @@
 <a href="html/libxml-xmlautomata.html#xmlFreeAutomata">xmlFreeAutomata</a><br />
 </p><h2>Type xmlAutomataStatePtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
@@ -1377,6 +1386,7 @@
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</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-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
@@ -1775,7 +1785,10 @@
 </p><h2>Type xmlSchemaValidCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 </p><h2>Type xmlSchemaValidityErrorFunc:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />

Modified: packages/libxml2/trunk/doc/APIsymbols.html
===================================================================
--- packages/libxml2/trunk/doc/APIsymbols.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/APIsymbols.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -694,6 +694,8 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a><br />
 <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_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</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_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a><br />
@@ -733,6 +735,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a><br />
@@ -771,6 +774,8 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a><br />
@@ -807,6 +812,10 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a><br />
@@ -873,6 +882,7 @@
 <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 />
 <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_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</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_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a><br />
@@ -977,6 +987,10 @@
 <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_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</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 />
@@ -986,6 +1000,7 @@
 <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_MARKED">XML_SCHEMAS_TYPE_MARKED</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 />
@@ -1005,6 +1020,8 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</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 />
@@ -1046,6 +1063,8 @@
 <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_1">XML_SCHEMAV_CVC_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</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_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a><br />
@@ -1111,6 +1130,7 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE_CONTENT">XML_SCHEMA_TYPE_SIMPLE_CONTENT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UNION">XML_SCHEMA_TYPE_UNION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UR">XML_SCHEMA_TYPE_UR</a><br />
+<a href="html/libxml-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a><br />
 <a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
 <a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
 <a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a><br />
@@ -1501,11 +1521,13 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
@@ -1998,6 +2020,7 @@
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
@@ -2442,6 +2465,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</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-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</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 />
@@ -2453,12 +2477,15 @@
 <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#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</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#xmlSchemaValidOption">xmlSchemaValidOption</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#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</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 />

Modified: packages/libxml2/trunk/doc/Makefile.am
===================================================================
--- packages/libxml2/trunk/doc/Makefile.am	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/Makefile.am	2004-10-13 10:26:58 UTC (rev 274)
@@ -33,62 +33,61 @@
 web: $(PAGES)
 
 ../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the elfgcchack.h header" ; \
-	  $(bindir)/xsltproc --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
+	  $(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 );
 
 $(PAGES): xml.html site.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML Web pages from xml.html" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML Web pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout $(PAGES) ; fi );
+	  $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
 
 $(top_srcdir)/NEWS: $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
 
 libxml2.xsa: $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the NEWS file" ; \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
 
 $(APIPAGES): libxml2-api.xml libxml2-refs.xml $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/api.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/api.xsl \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/api.xsl \
 	                     $(top_srcdir)/doc/xml.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML API pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout API*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout API*.html ; fi );
 
 $(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML pages from the XML API" ; \
-	  $(bindir)/xsltproc \
-	  --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the resulting XHTML pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout html/*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
 
 $(WIN32_DIR)/libxml2.def.src: libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc -o $(WIN32_DIR)/libxml2.def.src \
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) -o $(WIN32_DIR)/libxml2.def.src \
 	  --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi )
 
 libxml2-api.xml libxml2-refs.xml: apibuild.py ../include/libxml/*.h ../*.c
 	-(./apibuild.py)
 
 xmllint.1: xmllint.xml
-	-@(xsltproc --nonet xmllint.xml)
+	-@($(XSLTPROC) --nonet xmllint.xml)
 
 xmlcatalog.1: xmlcatalog_man.xml
-	-@(xsltproc --nonet xmlcatalog_man.xml)
+	-@($(XSLTPROC) --nonet xmlcatalog_man.xml)
 
 clean-local:
 	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt

Modified: packages/libxml2/trunk/doc/Makefile.in
===================================================================
--- packages/libxml2/trunk/doc/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -207,6 +207,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -214,6 +215,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@
@@ -643,62 +645,61 @@
 web: $(PAGES)
 
 ../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the elfgcchack.h header" ; \
-	  $(bindir)/xsltproc --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
+	  $(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 );
 
 $(PAGES): xml.html site.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML Web pages from xml.html" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML Web pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout $(PAGES) ; fi );
+	  $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
 
 $(top_srcdir)/NEWS: $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
 
 libxml2.xsa: $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the NEWS file" ; \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
 
 $(APIPAGES): libxml2-api.xml libxml2-refs.xml $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/api.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/api.xsl \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/api.xsl \
 	                     $(top_srcdir)/doc/xml.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML API pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout API*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout API*.html ; fi );
 
 $(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML pages from the XML API" ; \
-	  $(bindir)/xsltproc \
-	  --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the resulting XHTML pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout html/*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
 
 $(WIN32_DIR)/libxml2.def.src: libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc -o $(WIN32_DIR)/libxml2.def.src \
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) -o $(WIN32_DIR)/libxml2.def.src \
 	  --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi )
 
 libxml2-api.xml libxml2-refs.xml: apibuild.py ../include/libxml/*.h ../*.c
 	-(./apibuild.py)
 
 xmllint.1: xmllint.xml
-	-@(xsltproc --nonet xmllint.xml)
+	-@($(XSLTPROC) --nonet xmllint.xml)
 
 xmlcatalog.1: xmlcatalog_man.xml
-	-@(xsltproc --nonet xmlcatalog_man.xml)
+	-@($(XSLTPROC) --nonet xmlcatalog_man.xml)
 
 clean-local:
 	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt

Modified: packages/libxml2/trunk/doc/downloads.html
===================================================================
--- packages/libxml2/trunk/doc/downloads.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/downloads.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -8,7 +8,7 @@
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
 </style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" 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>Downloads</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>Main 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">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</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>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"><p>The latest versions of libxml2 can be found on the <a href="ftp://xmlsoft.org/">xmlsoft.org</a> server ( <a href="http://xmlsoft.org/sources/">HTTP</a>, <a href="ftp://xmlsoft.org/">FTP</a> and rsync are available), there is also
-mirrors (<a href="ftp://speakeasy.rpmfind.net/pub/libxml/">Seattle</a>, <a href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as <a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">source archive</a>
+mirrors (<a href="ftp://ftp.planetmirror.com/pub/xmlsoft/">Australia</a>( <a href="http://xmlsoft.planetmirror.com/">Web</a>), <a href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as <a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">source archive</a>
 , Antonin Sprinzl also provide <a href="ftp://gd.tuwien.ac.at/pub/libxml/">a
 mirror in Austria</a>. (NOTE that you need both the <a href="http://rpmfind.net/linux/RPM/libxml2.html">libxml(2)</a> and <a href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml(2)-devel</a>
 packages installed to compile applications using libxml.)</p><p>You can find all the history of libxml(2) and libxslt releases in the <a href="http://xmlsoft.org/sources/old/">old</a> directory. The precompiled

Modified: packages/libxml2/trunk/doc/examples/Makefile.in
===================================================================
--- packages/libxml2/trunk/doc/examples/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/examples/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -261,6 +261,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -268,6 +269,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/trunk/doc/html/libxml-nanohttp.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-nanohttp.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/html/libxml-nanohttp.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -13,6 +13,7 @@
     </style><title>Module nanohttp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" 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 nanohttp 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-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanoftp.html">nanoftp</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-parser.html">parser</a></th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal HTTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a>		(void)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>		(void * ctx)</pre>
+<pre class="programlisting">int	<a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>	(void * ctx)</pre>
 <pre class="programlisting">const char *	<a href="#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>	(void * ctx)</pre>
 <pre class="programlisting">int	<a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>		(const char * URL, <br />					 const char * filename, <br />					 char ** contentType)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>			(void)</pre>
@@ -33,7 +34,9 @@
 </pre><p>Cleanup the HTTP protocol layer.</p>
 <h3><a name="xmlNanoHTTPClose" id="xmlNanoHTTPClose"></a>Function: xmlNanoHTTPClose</h3><pre class="programlisting">void	xmlNanoHTTPClose		(void * ctx)<br />
 </pre><p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPEncoding" id="xmlNanoHTTPEncoding"></a>Function: xmlNanoHTTPEncoding</h3><pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPContentLength" id="xmlNanoHTTPContentLength"></a>Function: xmlNanoHTTPContentLength</h3><pre class="programlisting">int	xmlNanoHTTPContentLength	(void * ctx)<br />
+</pre><p>Provides the specified content length from the HTTP header.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPEncoding" id="xmlNanoHTTPEncoding"></a>Function: xmlNanoHTTPEncoding</h3><pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br />
 </pre><p>Provides the specified encoding if specified in the HTTP headers.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified encoding or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPFetch" id="xmlNanoHTTPFetch"></a>Function: xmlNanoHTTPFetch</h3><pre class="programlisting">int	xmlNanoHTTPFetch		(const char * URL, <br />					 const char * filename, <br />					 char ** contentType)<br />
 </pre><p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>

Modified: packages/libxml2/trunk/doc/html/libxml-parserInternals.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-parserInternals.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/html/libxml-parserInternals.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -248,11 +248,11 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseMisc" id="xmlParseMisc"></a>Function: xmlParseMisc</h3><pre class="programlisting">void	xmlParseMisc			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseName" id="xmlParseName"></a>Function: xmlParseName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseName		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*</p>
+</pre><p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Name parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlParseNamespace" id="xmlParseNamespace"></a>Function: xmlParseNamespace</h3><pre class="programlisting">void	xmlParseNamespace		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseNmtoken" id="xmlParseNmtoken"></a>Function: xmlParseNmtoken</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (S Nmtoken)*</p>
+</pre><p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Nmtoken parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlParseNotationDecl" id="xmlParseNotationDecl"></a>Function: xmlParseNotationDecl</h3><pre class="programlisting">void	xmlParseNotationDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseNotationType" id="xmlParseNotationType"></a>Function: xmlParseNotationType</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />

Modified: packages/libxml2/trunk/doc/html/libxml-schemasInternals.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-schemasInternals.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/html/libxml-schemasInternals.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -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="#a06060" 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_FIXED">XML_SCHEMAS_ATTR_FIXED</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_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</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_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</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_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</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_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</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_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</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_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</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
+    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" 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_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</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_FIXED">XML_SCHEMAS_ATTR_FIXED</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_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</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_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</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_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</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_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</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_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</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_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</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_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</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_MARKED">XML_SCHEMAS_TYPE_MARKED</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
@@ -50,10 +50,11 @@
 <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>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_MARKED" id="XML_SCHEMAS_ATTRGROUP_MARKED"></a>Macro: XML_SCHEMAS_ATTRGROUP_MARKED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_MARKED</pre><p>Marks the attr group as marked; used for circular checks.</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_FIXED" id="XML_SCHEMAS_ATTR_FIXED"></a>Macro: XML_SCHEMAS_ATTR_FIXED</h3><pre>#define XML_SCHEMAS_ATTR_FIXED</pre><p>the <a href="libxml-SAX.html#attribute">attribute</a> has a fixed value</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_INTERNAL_RESOLVED" id="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</pre><p></p>
+<h3><a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED" id="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</pre><p>this is set when the "type" and "ref" references have been resolved.</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>Used by wildcards. The <a href="libxml-SAX.html#attribute">attribute</a> is prohibited.</p>
@@ -89,6 +90,10 @@
 <h3><a name="XML_SCHEMAS_INCLUDING_CONVERT_NS" id="XML_SCHEMAS_INCLUDING_CONVERT_NS"></a>Macro: XML_SCHEMAS_INCLUDING_CONVERT_NS</h3><pre>#define XML_SCHEMAS_INCLUDING_CONVERT_NS</pre><p>the schema is currently including an other schema with no target namespace.</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 schema 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 schema requires qualified elements</p>
+<h3><a name="XML_SCHEMAS_TYPE_ABSTRACT" id="XML_SCHEMAS_TYPE_ABSTRACT"></a>Macro: XML_SCHEMAS_TYPE_ABSTRACT</h3><pre>#define XML_SCHEMAS_TYPE_ABSTRACT</pre><p>the simple/complexType is abstract.</p>
+<h3><a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT" id="XML_SCHEMAS_TYPE_BLOCK_DEFAULT"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT</pre><p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
+<h3><a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION" id="XML_SCHEMAS_TYPE_BLOCK_EXTENSION"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION</pre><p>the complexType has a 'block' of "extension".</p>
+<h3><a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION" id="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</pre><p></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>
@@ -98,6 +103,7 @@
 <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_MARKED" id="XML_SCHEMAS_TYPE_MARKED"></a>Macro: XML_SCHEMAS_TYPE_MARKED</h3><pre>#define XML_SCHEMAS_TYPE_MARKED</pre><p></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>
@@ -126,6 +132,8 @@
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     int	flags
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal
+    <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl
 }</pre><h3><a name="xmlSchemaAttributeGroup" id="xmlSchemaAttributeGroup">Structure xmlSchemaAttributeGroup</a></h3><pre class="programlisting">Structure xmlSchemaAttributeGroup<br />struct _xmlSchemaAttributeGroup {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaAttribute *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> if in a group ...
@@ -139,6 +147,7 @@
     int	flags
     <a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>	refItem	: The referenced <a href="libxml-SAX.html#attribute">attribute</a> group
 }</pre><h3><a name="xmlSchemaAttributeLink" id="xmlSchemaAttributeLink">Structure xmlSchemaAttributeLink</a></h3><pre class="programlisting">Structure xmlSchemaAttributeLink<br />struct _xmlSchemaAttributeLink {
     struct _xmlSchemaAttributeLink *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> link ...
     struct _xmlSchemaAttribute *	attr	: the linked <a href="libxml-SAX.html#attribute">attribute</a>
@@ -177,6 +186,7 @@
     <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
     <a href="libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal
 }</pre><h3><a name="xmlSchemaFacet" id="xmlSchemaFacet">Structure xmlSchemaFacet</a></h3><pre class="programlisting">Structure xmlSchemaFacet<br />struct _xmlSchemaFacet {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
@@ -224,6 +234,7 @@
     <a href="libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
     <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	contentTypeDef
+    <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
 }</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

Modified: packages/libxml2/trunk/doc/html/libxml-xmlautomata.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlautomata.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/html/libxml-xmlautomata.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -21,11 +21,13 @@
 <pre class="programlisting">int	<a href="#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 int lax)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
+<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)</pre>
 <pre class="programlisting">int	<a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>		(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 int min, <br />					 int max)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 int min, <br />						 int max, <br />						 void * data)</pre>
+<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewState">xmlAutomataNewState</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 void * data)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 void * data)</pre>
@@ -47,7 +49,9 @@
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>lax</tt></i>:</span></td><td>allow to transition if not all all transitions have been activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans" id="xmlAutomataNewCountTrans"></a>Function: xmlAutomataNewCountTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountedTrans" id="xmlAutomataNewCountedTrans"></a>Function: xmlAutomataNewCountedTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans2" id="xmlAutomataNewCountTrans2"></a>Function: xmlAutomataNewCountTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans2	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
+</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountedTrans" id="xmlAutomataNewCountedTrans"></a>Function: xmlAutomataNewCountedTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCounter" id="xmlAutomataNewCounter"></a>Function: xmlAutomataNewCounter</h3><pre class="programlisting">int	xmlAutomataNewCounter		(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 int min, <br />					 int max)<br />
 </pre><p>Create a new counter</p>
@@ -57,7 +61,9 @@
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans" id="xmlAutomataNewOnceTrans"></a>Function: xmlAutomataNewOnceTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 int min, <br />						 int max, <br />						 void * data)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewState" id="xmlAutomataNewState"></a>Function: xmlAutomataNewState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans2" id="xmlAutomataNewOnceTrans2"></a>Function: xmlAutomataNewOnceTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans2	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
+</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewState" id="xmlAutomataNewState"></a>Function: xmlAutomataNewState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
 </pre><p>Create a new disconnected state in the automata</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewTransition" id="xmlAutomataNewTransition"></a>Function: xmlAutomataNewTransition</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 void * data)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>

Modified: packages/libxml2/trunk/doc/html/libxml-xmlerror.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlerror.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/html/libxml-xmlerror.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -524,122 +524,126 @@
     <a name="XML_SCHEMAP_UNKNOWN_UNION_CHILD" id="XML_SCHEMAP_UNKNOWN_UNION_CHILD">XML_SCHEMAP_UNKNOWN_UNION_CHILD</a> = 1754 : 1754
     <a name="XML_SCHEMAP_ELEM_DEFAULT_FIXED" id="XML_SCHEMAP_ELEM_DEFAULT_FIXED">XML_SCHEMAP_ELEM_DEFAULT_FIXED</a> = 1755 : 1755
     <a name="XML_SCHEMAP_REGEXP_INVALID" id="XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a> = 1756 : 1756
-    <a name="XML_SCHEMAP_FAILED_LOAD" id="XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a> = 1757 : 1756
-    <a name="XML_SCHEMAP_NOTHING_TO_PARSE" id="XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a> = 1758 : 1757
-    <a name="XML_SCHEMAP_NOROOT" id="XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a> = 1759 : 1758
-    <a name="XML_SCHEMAP_REDEFINED_GROUP" id="XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a> = 1760 : 1759
-    <a name="XML_SCHEMAP_REDEFINED_TYPE" id="XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a> = 1761 : 1760
-    <a name="XML_SCHEMAP_REDEFINED_ELEMENT" id="XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a> = 1762 : 1761
-    <a name="XML_SCHEMAP_REDEFINED_ATTRGROUP" id="XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a> = 1763 : 1762
-    <a name="XML_SCHEMAP_REDEFINED_ATTR" id="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 : 1763
-    <a name="XML_SCHEMAP_REDEFINED_NOTATION" id="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 : 1764
-    <a name="XML_SCHEMAP_FAILED_PARSE" id="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 : 1765
-    <a name="XML_SCHEMAP_UNKNOWN_PREFIX" id="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 : 1766
-    <a name="XML_SCHEMAP_DEF_AND_PREFIX" id="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 : 1767
-    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" id="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 : 1768
-    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 : 1769
-    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 : 1770
-    <a name="XML_SCHEMAP_NOT_SCHEMA" id="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 : 1771
-    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" id="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 : 1772
-    <a name="XML_SCHEMAP_INVALID_ATTR_USE" id="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 : 1773
-    <a name="XML_SCHEMAP_RECURSIVE" id="XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a> = 1775 : 1774
-    <a name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE" id="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a> = 1776 : 1775
-    <a name="XML_SCHEMAP_INVALID_ATTR_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a> = 1777 : 1776
-    <a name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a> = 1778 : 1777
-    <a name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD" id="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a> = 1779 : 1778
-    <a name="XML_SCHEMAP_INVALID_ATTR_NAME" id="XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a> = 1780 : 1779
-    <a name="XML_SCHEMAP_REF_AND_CONTENT" id="XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a> = 1781 : 1780
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_1" id="XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a> = 1782 : 1781
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_2" id="XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a> = 1783 : 1782
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_3" id="XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a> = 1784 : 1783
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_4" id="XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a> = 1785 : 1784
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_5" id="XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a> = 1786 : 1785
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a> = 1787 : 1786
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a> = 1788 : 1787
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a> = 1789 : 1788
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a> = 1790 : 1789
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a> = 1791 : 1790
-    <a name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER" id="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a> = 1792 : 1791
-    <a name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a> = 1793 : 1792
-    <a name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a> = 1794 : 1793
-    <a name="XML_SCHEMAP_SRC_IMPORT_3_1" id="XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a> = 1795 : 1794
-    <a name="XML_SCHEMAP_SRC_IMPORT_3_2" id="XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a> = 1796 : 1795
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a> = 1797 : 1796
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a> = 1798 : 1797
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a> = 1799 : 1798
-    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_3" id="XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a> = 1800 : 1799
-    <a name="XML_SCHEMAV_NOROOT" id="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1800
-    <a name="XML_SCHEMAV_UNDECLAREDELEM" id="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1801 : 1801
-    <a name="XML_SCHEMAV_NOTTOPLEVEL" id="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1802 : 1802
-    <a name="XML_SCHEMAV_MISSING" id="XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a> = 1803 : 1803
-    <a name="XML_SCHEMAV_WRONGELEM" id="XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a> = 1804 : 1804
-    <a name="XML_SCHEMAV_NOTYPE" id="XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a> = 1805 : 1805
-    <a name="XML_SCHEMAV_NOROLLBACK" id="XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a> = 1806 : 1806
-    <a name="XML_SCHEMAV_ISABSTRACT" id="XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a> = 1807 : 1807
-    <a name="XML_SCHEMAV_NOTEMPTY" id="XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a> = 1808 : 1808
-    <a name="XML_SCHEMAV_ELEMCONT" id="XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a> = 1809 : 1809
-    <a name="XML_SCHEMAV_HAVEDEFAULT" id="XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a> = 1810 : 1810
-    <a name="XML_SCHEMAV_NOTNILLABLE" id="XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a> = 1811 : 1811
-    <a name="XML_SCHEMAV_EXTRACONTENT" id="XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a> = 1812 : 1812
-    <a name="XML_SCHEMAV_INVALIDATTR" id="XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a> = 1813 : 1813
-    <a name="XML_SCHEMAV_INVALIDELEM" id="XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a> = 1814 : 1814
-    <a name="XML_SCHEMAV_NOTDETERMINIST" id="XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a> = 1815 : 1815
-    <a name="XML_SCHEMAV_CONSTRUCT" id="XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a> = 1816 : 1816
-    <a name="XML_SCHEMAV_INTERNAL" id="XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a> = 1817 : 1817
-    <a name="XML_SCHEMAV_NOTSIMPLE" id="XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a> = 1818 : 1818
-    <a name="XML_SCHEMAV_ATTRUNKNOWN" id="XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a> = 1819 : 1819
-    <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_SCHEMAV_CVC_ELT_1" id="XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a> = 1844 : 1844
-    <a name="XML_SCHEMAV_CVC_ELT_2" id="XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a> = 1845 : 1845
-    <a name="XML_SCHEMAV_CVC_ELT_3_1" id="XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a> = 1846
-    <a name="XML_SCHEMAV_CVC_ELT_3_2_1" id="XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a> = 1847
-    <a name="XML_SCHEMAV_CVC_ELT_3_2_2" id="XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a> = 1848
-    <a name="XML_SCHEMAV_CVC_ELT_4_1" id="XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a> = 1849
-    <a name="XML_SCHEMAV_CVC_ELT_4_2" id="XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a> = 1850
-    <a name="XML_SCHEMAV_CVC_ELT_4_3" id="XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a> = 1851
-    <a name="XML_SCHEMAV_CVC_ELT_5_1_1" id="XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a> = 1852
-    <a name="XML_SCHEMAV_CVC_ELT_5_1_2" id="XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a> = 1853
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a> = 1854
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a> = 1855
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a> = 1856
-    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a> = 1857
-    <a name="XML_SCHEMAV_CVC_ELT_6" id="XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a> = 1858
-    <a name="XML_SCHEMAV_CVC_ELT_7" id="XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a> = 1859
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_1" id="XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a> = 1860
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_2" id="XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a> = 1861
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_3" id="XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a> = 1862
-    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_4" id="XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a> = 1863
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a> = 1864
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a> = 1865
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a> = 1866
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a> = 1867
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a> = 1868
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a> = 1869
-    <a name="XML_SCHEMAV_ELEMENT_CONTENT" id="XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a> = 1870 : 1846 non-W3C
-    <a name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING" id="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a> = 1871 : non-W3C
+    <a name="XML_SCHEMAP_FAILED_LOAD" id="XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a> = 1757 : 1757
+    <a name="XML_SCHEMAP_NOTHING_TO_PARSE" id="XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a> = 1758 : 1758
+    <a name="XML_SCHEMAP_NOROOT" id="XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a> = 1759 : 1759
+    <a name="XML_SCHEMAP_REDEFINED_GROUP" id="XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a> = 1760 : 1760
+    <a name="XML_SCHEMAP_REDEFINED_TYPE" id="XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a> = 1761 : 1761
+    <a name="XML_SCHEMAP_REDEFINED_ELEMENT" id="XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a> = 1762 : 1762
+    <a name="XML_SCHEMAP_REDEFINED_ATTRGROUP" id="XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a> = 1763 : 1763
+    <a name="XML_SCHEMAP_REDEFINED_ATTR" id="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 : 1764
+    <a name="XML_SCHEMAP_REDEFINED_NOTATION" id="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 : 1765
+    <a name="XML_SCHEMAP_FAILED_PARSE" id="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 : 1766
+    <a name="XML_SCHEMAP_UNKNOWN_PREFIX" id="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 : 1767
+    <a name="XML_SCHEMAP_DEF_AND_PREFIX" id="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 : 1768
+    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" id="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 : 1769
+    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 : 1770
+    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 : 1771
+    <a name="XML_SCHEMAP_NOT_SCHEMA" id="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 : 1772
+    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" id="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 : 1773
+    <a name="XML_SCHEMAP_INVALID_ATTR_USE" id="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 : 1774
+    <a name="XML_SCHEMAP_RECURSIVE" id="XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a> = 1775 : 1775
+    <a name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE" id="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a> = 1776 : 1776
+    <a name="XML_SCHEMAP_INVALID_ATTR_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a> = 1777 : 1777
+    <a name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a> = 1778 : 1778
+    <a name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD" id="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a> = 1779 : 1779
+    <a name="XML_SCHEMAP_INVALID_ATTR_NAME" id="XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a> = 1780 : 1780
+    <a name="XML_SCHEMAP_REF_AND_CONTENT" id="XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a> = 1781 : 1781
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_1" id="XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a> = 1782 : 1782
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_2" id="XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a> = 1783 : 1783
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_3" id="XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a> = 1784 : 1784
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_4" id="XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a> = 1785 : 1785
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_5" id="XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a> = 1786 : 1786
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a> = 1787 : 1787
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a> = 1788 : 1788
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a> = 1789 : 1789
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a> = 1790 : 1790
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a> = 1791 : 1791
+    <a name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER" id="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a> = 1792 : 1792
+    <a name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a> = 1793 : 1793
+    <a name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a> = 1794 : 1794
+    <a name="XML_SCHEMAP_SRC_IMPORT_3_1" id="XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a> = 1795 : 1795
+    <a name="XML_SCHEMAP_SRC_IMPORT_3_2" id="XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a> = 1796 : 1796
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a> = 1797 : 1797
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a> = 1798 : 1798
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a> = 1799 : 1799
+    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_3" id="XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a> = 1800 : 1800
+    <a name="XML_SCHEMAV_NOROOT" id="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1801
+    <a name="XML_SCHEMAV_UNDECLAREDELEM" id="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1802 : 1802
+    <a name="XML_SCHEMAV_NOTTOPLEVEL" id="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1803 : 1803
+    <a name="XML_SCHEMAV_MISSING" id="XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a> = 1804 : 1804
+    <a name="XML_SCHEMAV_WRONGELEM" id="XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a> = 1805 : 1805
+    <a name="XML_SCHEMAV_NOTYPE" id="XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a> = 1806 : 1806
+    <a name="XML_SCHEMAV_NOROLLBACK" id="XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a> = 1807 : 1807
+    <a name="XML_SCHEMAV_ISABSTRACT" id="XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a> = 1808 : 1808
+    <a name="XML_SCHEMAV_NOTEMPTY" id="XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a> = 1809 : 1809
+    <a name="XML_SCHEMAV_ELEMCONT" id="XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a> = 1810 : 1810
+    <a name="XML_SCHEMAV_HAVEDEFAULT" id="XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a> = 1811 : 1811
+    <a name="XML_SCHEMAV_NOTNILLABLE" id="XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a> = 1812 : 1812
+    <a name="XML_SCHEMAV_EXTRACONTENT" id="XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a> = 1813 : 1813
+    <a name="XML_SCHEMAV_INVALIDATTR" id="XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a> = 1814 : 1814
+    <a name="XML_SCHEMAV_INVALIDELEM" id="XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a> = 1815 : 1815
+    <a name="XML_SCHEMAV_NOTDETERMINIST" id="XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a> = 1816 : 1816
+    <a name="XML_SCHEMAV_CONSTRUCT" id="XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a> = 1817 : 1817
+    <a name="XML_SCHEMAV_INTERNAL" id="XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a> = 1818 : 1818
+    <a name="XML_SCHEMAV_NOTSIMPLE" id="XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a> = 1819 : 1819
+    <a name="XML_SCHEMAV_ATTRUNKNOWN" id="XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a> = 1820 : 1820
+    <a name="XML_SCHEMAV_ATTRINVALID" id="XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a> = 1821 : 1821
+    <a name="XML_SCHEMAV_VALUE" id="XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a> = 1822 : 1822
+    <a name="XML_SCHEMAV_FACET" id="XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a> = 1823 : 1823
+    <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> = 1824 : 1824
+    <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> = 1825 : 1825
+    <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> = 1826 : 1826
+    <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> = 1827 : 1827
+    <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> = 1828 : 1828
+    <a name="XML_SCHEMAV_CVC_FACET_VALID" id="XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a> = 1829 : 1829
+    <a name="XML_SCHEMAV_CVC_LENGTH_VALID" id="XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a> = 1830 : 1830
+    <a name="XML_SCHEMAV_CVC_MINLENGTH_VALID" id="XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a> = 1831 : 1831
+    <a name="XML_SCHEMAV_CVC_MAXLENGTH_VALID" id="XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a> = 1832 : 1832
+    <a name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a> = 1833 : 1833
+    <a name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a> = 1834 : 1834
+    <a name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a> = 1835 : 1835
+    <a name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a> = 1836 : 1836
+    <a name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID" id="XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a> = 1837 : 1837
+    <a name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID" id="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a> = 1838 : 1838
+    <a name="XML_SCHEMAV_CVC_PATTERN_VALID" id="XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a> = 1839 : 1839
+    <a name="XML_SCHEMAV_CVC_ENUMERATION_VALID" id="XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a> = 1840 : 1840
+    <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> = 1841 : 1841
+    <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> = 1842 : 1842
+    <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> = 1843 : 1843
+    <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> = 1844 : 1844
+    <a name="XML_SCHEMAV_CVC_ELT_1" id="XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a> = 1845 : 1845
+    <a name="XML_SCHEMAV_CVC_ELT_2" id="XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a> = 1846 : 1846
+    <a name="XML_SCHEMAV_CVC_ELT_3_1" id="XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a> = 1847 : 1847
+    <a name="XML_SCHEMAV_CVC_ELT_3_2_1" id="XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a> = 1848 : 1848
+    <a name="XML_SCHEMAV_CVC_ELT_3_2_2" id="XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a> = 1849 : 1849
+    <a name="XML_SCHEMAV_CVC_ELT_4_1" id="XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a> = 1850 : 1850
+    <a name="XML_SCHEMAV_CVC_ELT_4_2" id="XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a> = 1851 : 1851
+    <a name="XML_SCHEMAV_CVC_ELT_4_3" id="XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a> = 1852 : 1852
+    <a name="XML_SCHEMAV_CVC_ELT_5_1_1" id="XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a> = 1853 : 1853
+    <a name="XML_SCHEMAV_CVC_ELT_5_1_2" id="XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a> = 1854 : 1854
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a> = 1855 : 1855
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a> = 1856 : 1856
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a> = 1857 : 1857
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a> = 1858 : 1858
+    <a name="XML_SCHEMAV_CVC_ELT_6" id="XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a> = 1859 : 1859
+    <a name="XML_SCHEMAV_CVC_ELT_7" id="XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a> = 1860 : 1860
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_1" id="XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a> = 1861 : 1861
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_2" id="XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a> = 1862 : 1862
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_3" id="XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a> = 1863 : 1863
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_4" id="XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a> = 1864 : 1864
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a> = 1865 : 1865
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a> = 1866 : 1866
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a> = 1867 : 1867
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a> = 1868 : 1868
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a> = 1869 : 1869
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a> = 1870 : 1870
+    <a name="XML_SCHEMAV_ELEMENT_CONTENT" id="XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a> = 1871 : 1871
+    <a name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING" id="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a> = 1872 : 1872
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a> = 1873 : 1873
+    <a name="XML_SCHEMAV_CVC_AU" id="XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a> = 1874 : 1874
+    <a name="XML_SCHEMAV_CVC_TYPE_1" id="XML_SCHEMAV_CVC_TYPE_1">XML_SCHEMAV_CVC_TYPE_1</a> = 1875 : 1875
+    <a name="XML_SCHEMAV_CVC_TYPE_2" id="XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a> = 1876 : 1876
     <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
@@ -712,19 +716,28 @@
     <a name="XML_SCHEMAP_SRC_ATTRIBUTE_4" id="XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a> = 3055 : 3055
     <a name="XML_SCHEMAP_NO_XMLNS" id="XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a> = 3056 : 3056
     <a name="XML_SCHEMAP_NO_XSI" id="XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a> = 3057 : 3057
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a> = 3058
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a> = 3059
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a> = 3060
-    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a> = 3061
-    <a name="XML_SCHEMAP_CVC_SIMPLE_TYPE" id="XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a> = 3062
-    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_1" id="XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a> = 3063
-    <a name="XML_SCHEMAP_SRC_IMPORT_1_1" id="XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a> = 3064
-    <a name="XML_SCHEMAP_SRC_IMPORT_1_2" id="XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a> = 3065
-    <a name="XML_SCHEMAP_SRC_IMPORT_2" id="XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a> = 3066
-    <a name="XML_SCHEMAP_SRC_IMPORT_2_1" id="XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a> = 3067
-    <a name="XML_SCHEMAP_SRC_IMPORT_2_2" id="XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a> = 3068
-    <a name="XML_SCHEMAP_INTERNAL" id="XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a> = 3069 : non-W3C
-    <a name="XML_SCHEMAP_NOT_DETERMINISTIC" id="XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a> = 3070 : non-W3C
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a> = 3058 : 3058
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a> = 3059 : 3059
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a> = 3060 : 3060
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a> = 3061 : 3061
+    <a name="XML_SCHEMAP_CVC_SIMPLE_TYPE" id="XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a> = 3062 : 3062
+    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_1" id="XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a> = 3063 : 3063
+    <a name="XML_SCHEMAP_SRC_IMPORT_1_1" id="XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a> = 3064 : 3064
+    <a name="XML_SCHEMAP_SRC_IMPORT_1_2" id="XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a> = 3065 : 3065
+    <a name="XML_SCHEMAP_SRC_IMPORT_2" id="XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a> = 3066 : 3066
+    <a name="XML_SCHEMAP_SRC_IMPORT_2_1" id="XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a> = 3067 : 3067
+    <a name="XML_SCHEMAP_SRC_IMPORT_2_2" id="XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a> = 3068 : 3068
+    <a name="XML_SCHEMAP_INTERNAL" id="XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a> = 3069 : 3069 non-W3C
+    <a name="XML_SCHEMAP_NOT_DETERMINISTIC" id="XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a> = 3070 : 3070 non-W3C
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a> = 3071 : 3071
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a> = 3072 : 3072
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a> = 3073 : 3073
+    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_1" id="XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a> = 3074 : 3074
+    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_2" id="XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a> = 3075 : 3075
+    <a name="XML_SCHEMAP_SRC_CT_1" id="XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a> = 3076 : 3076
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a> = 3077 : 3077
+    <a name="XML_SCHEMAP_AU_PROPS_CORRECT_2" id="XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a> = 3078 : 3078
+    <a name="XML_SCHEMAP_A_PROPS_CORRECT_2" id="XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a> = 3079
 }
 </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>

Modified: packages/libxml2/trunk/doc/html/libxml-xmlschemas.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlschemas.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/html/libxml-xmlschemas.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -19,6 +19,7 @@
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a name="xmlSchemaValidCtxtPtr" id="xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>
 </pre><pre class="programlisting">Enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>
+</pre><pre class="programlisting">Enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>
 </pre><pre class="programlisting">void	<a href="#xmlSchemaDump">xmlSchemaDump</a>			(FILE * output, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaFree">xmlSchemaFree</a>			(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)</pre>
@@ -32,7 +33,10 @@
 <pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	<a href="#xmlSchemaParse">xmlSchemaParse</a>		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
-<pre class="programlisting">int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> instance)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)</pre>
 <pre class="programlisting">Function type: <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>
 void	<a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
@@ -60,6 +64,7 @@
     <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
     void *	includes	: the includes, this is opaque for now
     int	preserve	: whether to free the document
+    int	counter	: used to give ononymous components uniqu
 }</pre><h3><a name="xmlSchemaParserCtxt" id="xmlSchemaParserCtxt">Structure xmlSchemaParserCtxt</a></h3><pre class="programlisting">Structure xmlSchemaParserCtxt<br />struct _xmlSchemaParserCtxt {
 The content of this structure is not made public by the API.
 }</pre><h3><a name="xmlSchemaValidCtxt" id="xmlSchemaValidCtxt">Structure xmlSchemaValidCtxt</a></h3><pre class="programlisting">Structure xmlSchemaValidCtxt<br />struct _xmlSchemaValidCtxt {
@@ -92,6 +97,9 @@
     <a name="XML_SCHEMAS_ERR_" id="XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a> = 24
     <a name="XML_SCHEMAS_ERR_XXX" id="XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a> = 25
 }
+</pre><h3>Enum <a name="xmlSchemaValidOption" id="xmlSchemaValidOption">xmlSchemaValidOption</a></h3><pre class="programlisting">Enum xmlSchemaValidOption {
+    <a name="XML_SCHEMA_VAL_VC_I_CREATE" id="XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a> = 1 : Default/fixed: create an <a href="libxml-SAX.html#attribute">attribute</a> node * or an element's text node on the instance. *
+}
 </pre><h3><a name="xmlSchemaDump" id="xmlSchemaDump"></a>Function: xmlSchemaDump</h3><pre class="programlisting">void	xmlSchemaDump			(FILE * output, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
 </pre><p>Dump a Schema structure.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFree" id="xmlSchemaFree"></a>Function: xmlSchemaFree</h3><pre class="programlisting">void	xmlSchemaFree			(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
@@ -99,30 +107,36 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeParserCtxt" id="xmlSchemaFreeParserCtxt"></a>Function: xmlSchemaFreeParserCtxt</h3><pre class="programlisting">void	xmlSchemaFreeParserCtxt		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br />
 </pre><p>Free the resources associated to the schema parser context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeValidCtxt" id="xmlSchemaFreeValidCtxt"></a>Function: xmlSchemaFreeValidCtxt</h3><pre class="programlisting">void	xmlSchemaFreeValidCtxt		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlSchemaGetParserErrors" id="xmlSchemaGetParserErrors"></a>Function: xmlSchemaGetParserErrors</h3><pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
+</pre><p>Free the resources associated to the schema validation context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div><h3><a name="xmlSchemaGetParserErrors" id="xmlSchemaGetParserErrors"></a>Function: xmlSchemaGetParserErrors</h3><pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
 </pre><p>Get the callback information used to handle errors for a parser context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XMl-Schema parser context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaGetValidErrors" id="xmlSchemaGetValidErrors"></a>Function: xmlSchemaGetValidErrors</h3><pre class="programlisting">int	xmlSchemaGetValidErrors		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>ctx</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="xmlSchemaNewDocParserCtxt" id="xmlSchemaNewDocParserCtxt"></a>Function: xmlSchemaNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
+</pre><p>Get the error and warning callback informations</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XML-Schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaNewDocParserCtxt" id="xmlSchemaNewDocParserCtxt"></a>Function: xmlSchemaNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewMemParserCtxt" id="xmlSchemaNewMemParserCtxt"></a>Function: xmlSchemaNewMemParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewMemParserCtxt	(const char * buffer, <br />							 int size)<br />
 </pre><p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewParserCtxt" id="xmlSchemaNewParserCtxt"></a>Function: xmlSchemaNewParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewParserCtxt	(const char * URL)<br />
 </pre><p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewValidCtxt" id="xmlSchemaNewValidCtxt"></a>Function: xmlSchemaNewValidCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	xmlSchemaNewValidCtxt	(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</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="xmlSchemaParse" id="xmlSchemaParse"></a>Function: xmlSchemaParse</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	xmlSchemaParse		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br />
+</pre><p>Create an XML Schemas validation context based on the given schema</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schemas</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaParse" id="xmlSchemaParse"></a>Function: xmlSchemaParse</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	xmlSchemaParse		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br />
 </pre><p>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schema structure built from the resource or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaSetParserErrors" id="xmlSchemaSetParserErrors"></a>Function: xmlSchemaSetParserErrors</h3><pre class="programlisting">void	xmlSchemaSetParserErrors	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)<br />
 </pre><p>Set the callback functions used to handle errors for a validation context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidErrors" id="xmlSchemaSetValidErrors"></a>Function: xmlSchemaSetValidErrors</h3><pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)<br />
+</pre><p>Set the error and warning callback informations</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidOptions" id="xmlSchemaSetValidOptions"></a>Function: xmlSchemaSetValidOptions</h3><pre class="programlisting">int	xmlSchemaSetValidOptions	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)<br />
 </pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlSchemaValidateDoc" id="xmlSchemaValidateDoc"></a>Function: xmlSchemaValidateDoc</h3><pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>options</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="xmlSchemaValidCtxtGetOptions" id="xmlSchemaValidCtxtGetOptions"></a>Function: xmlSchemaValidCtxtGetOptions</h3><pre class="programlisting">int	xmlSchemaValidCtxtGetOptions	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
 </pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>instance</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="xmlSchemaValidateStream" id="xmlSchemaValidateStream"></a>Function: xmlSchemaValidateStream</h3><pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>input</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>sax</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>user_data</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="xmlSchemaValidityErrorFunc" id="xmlSchemaValidityErrorFunc"></a>Function type: xmlSchemaValidityErrorFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityErrorFunc
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</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="xmlSchemaValidateDoc" id="xmlSchemaValidateDoc"></a>Function: xmlSchemaValidateDoc</h3><pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
+</pre><p>Validate a document tree in memory.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document 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="xmlSchemaValidateOneElement" id="xmlSchemaValidateOneElement"></a>Function: xmlSchemaValidateOneElement</h3><pre class="programlisting">int	xmlSchemaValidateOneElement	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
+</pre><p>Validate a branch of a tree, starting with the given @elem.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateStream" id="xmlSchemaValidateStream"></a>Function: xmlSchemaValidateStream</h3><pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)<br />
+</pre><p>Validate a document tree in memory.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input to use for reading the data</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding information</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler for the resulting events</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the context to provide to the SAX handler.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document 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="xmlSchemaValidityErrorFunc" id="xmlSchemaValidityErrorFunc"></a>Function type: xmlSchemaValidityErrorFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityErrorFunc
 void	xmlSchemaValidityErrorFunc	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
 </pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
 <h3><a name="xmlSchemaValidityWarningFunc" id="xmlSchemaValidityWarningFunc"></a>Function type: xmlSchemaValidityWarningFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityWarningFunc

Modified: packages/libxml2/trunk/doc/html/libxml-xmlstring.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlstring.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/html/libxml-xmlstring.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -50,8 +50,8 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input char *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlCheckUTF8" id="xmlCheckUTF8"></a>Function: xmlCheckUTF8</h3><pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br />
 </pre><p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>Pointer to putative UTF-8 encoded string.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>value: true if @utf is valid.</td></tr></tbody></table></div><h3><a name="xmlGetUTF8Char" id="xmlGetUTF8Char"></a>Function: xmlGetUTF8Char</h3><pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br />					 int * len)<br />
-</pre><p>Read one UTF8 Char from @utf</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to @bytes len</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error, and updates *len with the number of bytes consumed</td></tr></tbody></table></div><h3><a name="xmlStrEqual" id="xmlStrEqual"></a>Function: xmlStrEqual</h3><pre class="programlisting">int	xmlStrEqual			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
+</pre><p>Read the first UTF8 character from @utf</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)</td></tr></tbody></table></div><h3><a name="xmlStrEqual" id="xmlStrEqual"></a>Function: xmlStrEqual</h3><pre class="programlisting">int	xmlStrEqual			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
 </pre><p>Check if both string are equal of have same content Should be a bit more readable and faster than xmlStrEqual()</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are different</td></tr></tbody></table></div><h3><a name="xmlStrPrintf" id="xmlStrPrintf"></a>Function: xmlStrPrintf</h3><pre class="programlisting">int	xmlStrPrintf			(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buf, <br />					 int len, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * msg, <br />					 ... ...)<br />
 </pre><p>Formats @msg and places result into @buf.</p>

Modified: packages/libxml2/trunk/doc/libxml2-api.xml
===================================================================
--- packages/libxml2/trunk/doc/libxml2-api.xml	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/libxml2-api.xml	2004-10-13 10:26:58 UTC (rev 274)
@@ -628,6 +628,7 @@
      <summary>minimal HTTP implementation</summary>
      <description>minimal HTTP implementation allowing to fetch resources like external subset. </description>
      <author>Daniel Veillard </author>
+     <exports symbol='xmlNanoHTTPRead' type='function'/>
      <exports symbol='xmlNanoHTTPSave' type='function'/>
      <exports symbol='xmlNanoHTTPRedir' type='function'/>
      <exports symbol='xmlNanoHTTPAuthHeader' type='function'/>
@@ -637,7 +638,7 @@
      <exports symbol='xmlNanoHTTPClose' type='function'/>
      <exports symbol='xmlNanoHTTPCleanup' type='function'/>
      <exports symbol='xmlNanoHTTPMethod' type='function'/>
-     <exports symbol='xmlNanoHTTPRead' type='function'/>
+     <exports symbol='xmlNanoHTTPContentLength' type='function'/>
      <exports symbol='xmlNanoHTTPOpen' type='function'/>
      <exports symbol='xmlNanoHTTPOpenRedir' type='function'/>
      <exports symbol='xmlNanoHTTPMethodRedir' type='function'/>
@@ -1045,7 +1046,7 @@
      <exports symbol='XML_SCHEMAS_ANY_STRICT' type='macro'/>
      <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_VARIETY_LIST' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_INCLUDING_CONVERT_NS' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTR_USE_PROHIBITED' type='macro'/>
@@ -1053,6 +1054,7 @@
      <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED' type='macro'/>
      <exports symbol='XML_SCHEMAS_WILDCARD_COMPLETE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_DEFAULT' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_FINAL_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
@@ -1060,9 +1062,11 @@
      <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_TYPE_FINAL_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION' 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_ATTRGROUP_MARKED' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_BLOCK_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION' type='macro'/>
@@ -1070,6 +1074,7 @@
      <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_TYPE_ABSTRACT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTR_FIXED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANY_SKIP' type='macro'/>
      <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_LIST' type='macro'/>
@@ -1082,15 +1087,17 @@
      <exports symbol='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_FINAL_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_FINAL_ABSENT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_TOPLEVEL' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_ABSTRACT' type='macro'/>
      <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_FINAL_UNION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FINAL_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_GLOBAL' type='macro'/>
      <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_MARKED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_BLOCK_ABSENT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTRGROUP_GLOBAL' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
@@ -1763,16 +1770,18 @@
      <exports symbol='xmlAutomataNewCounter' type='function'/>
      <exports symbol='xmlAutomataGetInitState' type='function'/>
      <exports symbol='xmlAutomataNewTransition2' type='function'/>
+     <exports symbol='xmlAutomataNewState' type='function'/>
      <exports symbol='xmlAutomataNewCountTrans' type='function'/>
+     <exports symbol='xmlAutomataNewOnceTrans2' type='function'/>
      <exports symbol='xmlAutomataNewAllTrans' type='function'/>
-     <exports symbol='xmlAutomataNewState' type='function'/>
+     <exports symbol='xmlAutomataNewOnceTrans' type='function'/>
      <exports symbol='xmlAutomataNewCounterTrans' type='function'/>
      <exports symbol='xmlAutomataCompile' type='function'/>
      <exports symbol='xmlNewAutomata' type='function'/>
      <exports symbol='xmlAutomataNewEpsilon' type='function'/>
+     <exports symbol='xmlAutomataNewCountTrans2' type='function'/>
+     <exports symbol='xmlAutomataSetFinalState' type='function'/>
      <exports symbol='xmlAutomataNewCountedTrans' type='function'/>
-     <exports symbol='xmlAutomataSetFinalState' type='function'/>
-     <exports symbol='xmlAutomataNewOnceTrans' type='function'/>
      <exports symbol='xmlAutomataNewTransition' type='function'/>
      <exports symbol='xmlAutomataIsDeterminist' type='function'/>
     </file>
@@ -1837,6 +1846,7 @@
      <exports symbol='XML_IO_EISCONN' type='enum'/>
      <exports symbol='XML_ERR_GT_REQUIRED' type='enum'/>
      <exports symbol='XML_SCHEMAP_FACET_NO_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_1' type='enum'/>
      <exports symbol='XML_HTTP_UNKNOWN_HOST' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_NOT_FINISHED' type='enum'/>
@@ -1866,7 +1876,7 @@
      <exports symbol='XML_SCHEMAP_FAILED_BUILD_IMPORT' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_REGEXP_INVALID' type='enum'/>
-     <exports symbol='XML_XPTR_CHILDSEQ_START' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_1' type='enum'/>
      <exports symbol='XML_C14N_CREATE_STACK' type='enum'/>
      <exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' type='enum'/>
@@ -1874,6 +1884,7 @@
      <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_SCHEMAV_CVC_AU' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_NAME_INVALID' type='enum'/>
      <exports symbol='XML_FROM_DTD' type='enum'/>
      <exports symbol='XML_SCHEMAV_CONSTRUCT' type='enum'/>
@@ -1890,7 +1901,7 @@
      <exports symbol='XML_XINCLUDE_FRAGMENT_ID' 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_SCHEMAP_SRC_CT_1' 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'/>
@@ -1933,6 +1944,7 @@
      <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_XPTR_EXTRA_OBJECTS' 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'/>
@@ -1962,6 +1974,7 @@
      <exports symbol='XML_RNGP_PAT_START_LIST' type='enum'/>
      <exports symbol='XML_ERR_LT_REQUIRED' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_AU_PROPS_CORRECT_2' type='enum'/>
      <exports symbol='XML_ERR_ATTLIST_NOT_STARTED' type='enum'/>
      <exports symbol='XML_RNGP_ELEMENT_NAME' type='enum'/>
      <exports symbol='XML_ERR_PCDATA_REQUIRED' type='enum'/>
@@ -2028,6 +2041,7 @@
      <exports symbol='XML_IO_ENFILE' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_CREATE_FAILED' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_IS_PARAMETER' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_BASE_TYPE' type='enum'/>
      <exports symbol='XML_ERR_RESERVED_XML_NAME' type='enum'/>
      <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_2' type='enum'/>
@@ -2038,6 +2052,7 @@
      <exports symbol='XML_ERR_CHARREF_AT_EOF' type='enum'/>
      <exports symbol='XML_IO_ENOMEM' type='enum'/>
      <exports symbol='XML_IO_ENOSPC' type='enum'/>
+     <exports symbol='XML_XPTR_CHILDSEQ_START' type='enum'/>
      <exports symbol='XML_RNGP_ATTR_CONFLICT' type='enum'/>
      <exports symbol='XML_RNGP_TYPE_VALUE' type='enum'/>
      <exports symbol='XML_FROM_REGEXP' type='enum'/>
@@ -2064,7 +2079,7 @@
      <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_XPTR_EXTRA_OBJECTS' type='enum'/>
+     <exports symbol='XML_SCHEMAP_A_PROPS_CORRECT_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'/>
@@ -2072,6 +2087,7 @@
      <exports symbol='XML_XINCLUDE_HREF_URI' type='enum'/>
      <exports symbol='XML_ERR_EXTRA_CONTENT' type='enum'/>
      <exports symbol='XML_ERR_EXT_ENTITY_STANDALONE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_MG_PROPS_CORRECT_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_4' type='enum'/>
      <exports symbol='XML_SCHEMAP_FAILED_PARSE' type='enum'/>
      <exports symbol='XML_RNGP_REF_CYCLE' type='enum'/>
@@ -2137,6 +2153,7 @@
      <exports symbol='XML_SCHEMAV_NOTTOPLEVEL' type='enum'/>
      <exports symbol='XML_IO_ENOENT' type='enum'/>
      <exports symbol='XML_ERR_NO_DTD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2' type='enum'/>
      <exports symbol='XML_FROM_C14N' type='enum'/>
      <exports symbol='XML_FROM_XSLT' type='enum'/>
      <exports symbol='XML_RNGP_PAT_LIST_ATTR' type='enum'/>
@@ -2163,6 +2180,7 @@
      <exports symbol='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' type='enum'/>
      <exports symbol='XML_IO_ENOTTY' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' type='enum'/>
      <exports symbol='XML_RNGP_EMPTY_CONTENT' type='enum'/>
      <exports symbol='XML_IO_EALREADY' type='enum'/>
      <exports symbol='XML_DTD_NO_DTD' type='enum'/>
@@ -2208,6 +2226,7 @@
      <exports symbol='XML_XPTR_SYNTAX_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_5' type='enum'/>
      <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_6' type='enum'/>
      <exports symbol='XML_RNGP_ATTRIBUTE_EMPTY' type='enum'/>
      <exports symbol='XML_SCHEMAV_ISABSTRACT' type='enum'/>
@@ -2269,6 +2288,7 @@
      <exports symbol='XML_RNGP_GRAMMAR_NO_START' type='enum'/>
      <exports symbol='XML_RNGP_VALUE_NO_CONTENT' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_1' type='enum'/>
      <exports symbol='XML_IO_EAFNOSUPPORT' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' type='enum'/>
      <exports symbol='XML_SCHEMAV_ELEMENT_CONTENT' type='enum'/>
@@ -2330,6 +2350,7 @@
      <exports symbol='XML_DTD_ELEM_REDEFINED' type='enum'/>
      <exports symbol='XML_SCHEMAV_NOTNILLABLE' type='enum'/>
      <exports symbol='XML_SCHEMAP_ELEM_DEFAULT_FIXED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_2' 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'/>
@@ -2354,7 +2375,7 @@
      <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_SCHEMAP_NOT_SCHEMA' type='enum'/>
      <exports symbol='XML_XPATH_INVALID_ARITY' type='enum'/>
      <exports symbol='XML_RNGP_EXCEPT_MISSING' type='enum'/>
      <exports symbol='XML_SCHEMAP_SRC_INCLUDE' type='enum'/>
@@ -2370,6 +2391,7 @@
      <exports symbol='XML_RNGP_DATA_CONTENT' type='enum'/>
      <exports symbol='XML_ERR_STRING_NOT_STARTED' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3' type='enum'/>
      <exports symbol='XML_TREE_INVALID_DEC' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' type='enum'/>
      <exports symbol='XML_RNGP_EXCEPT_MULTIPLE' type='enum'/>
@@ -2431,7 +2453,7 @@
      <exports symbol='XML_DTD_NO_DOC' type='enum'/>
      <exports symbol='XML_IO_EEXIST' type='enum'/>
      <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOT_SCHEMA' type='enum'/>
+     <exports symbol='XML_SCHEMAP_MG_PROPS_CORRECT_2' type='enum'/>
      <exports symbol='XML_FROM_SCHEMASV' type='enum'/>
      <exports symbol='XML_FROM_SCHEMASP' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_ELT_3_1' type='enum'/>
@@ -2688,6 +2710,7 @@
      <exports symbol='XML_SCHEMAS_ERR_EXTRACONTENT' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_NOTDETERMINIST' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_NOTSIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_VAL_VC_I_CREATE' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_INTERNAL' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_UNDECLAREDELEM' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_WRONGELEM' type='enum'/>
@@ -2701,6 +2724,7 @@
      <exports symbol='XML_SCHEMAS_ERR_NOTYPE' type='enum'/>
      <exports symbol='xmlSchemaPtr' type='typedef'/>
      <exports symbol='xmlSchemaParserCtxt' type='typedef'/>
+     <exports symbol='xmlSchemaValidOption' type='typedef'/>
      <exports symbol='xmlSchemaValidCtxtPtr' type='typedef'/>
      <exports symbol='xmlSchemaParserCtxtPtr' type='typedef'/>
      <exports symbol='xmlSchema' type='typedef'/>
@@ -2708,21 +2732,24 @@
      <exports symbol='xmlSchemaValidCtxt' type='typedef'/>
      <exports symbol='xmlSchemaValidateStream' type='function'/>
      <exports symbol='xmlSchemaSetParserErrors' type='function'/>
+     <exports symbol='xmlSchemaValidateOneElement' type='function'/>
      <exports symbol='xmlSchemaValidityWarningFunc' type='function'/>
      <exports symbol='xmlSchemaValidateDoc' type='function'/>
      <exports symbol='xmlSchemaNewDocParserCtxt' type='function'/>
      <exports symbol='xmlSchemaFree' type='function'/>
      <exports symbol='xmlSchemaDump' type='function'/>
+     <exports symbol='xmlSchemaSetValidOptions' type='function'/>
      <exports symbol='xmlSchemaParse' type='function'/>
      <exports symbol='xmlSchemaNewMemParserCtxt' type='function'/>
      <exports symbol='xmlSchemaFreeParserCtxt' type='function'/>
+     <exports symbol='xmlSchemaValidityErrorFunc' type='function'/>
      <exports symbol='xmlSchemaFreeValidCtxt' type='function'/>
      <exports symbol='xmlSchemaGetParserErrors' type='function'/>
      <exports symbol='xmlSchemaNewValidCtxt' type='function'/>
      <exports symbol='xmlSchemaSetValidErrors' type='function'/>
      <exports symbol='xmlSchemaGetValidErrors' type='function'/>
      <exports symbol='xmlSchemaNewParserCtxt' type='function'/>
-     <exports symbol='xmlSchemaValidityErrorFunc' type='function'/>
+     <exports symbol='xmlSchemaValidCtxtGetOptions' type='function'/>
     </file>
     <file name='xmlschemastypes'>
      <summary>implementation of XML Schema Datatypes</summary>
@@ -3708,6 +3735,9 @@
     <macro name='XML_SCHEMAS_ATTRGROUP_GLOBAL' file='schemasInternals'>
       <info>The attribute wildcard has been already builded.</info>
     </macro>
+    <macro name='XML_SCHEMAS_ATTRGROUP_MARKED' file='schemasInternals'>
+      <info>Marks the attr group as marked; used for circular checks.</info>
+    </macro>
     <macro name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED' file='schemasInternals'>
       <info>The attribute wildcard has been already builded.</info>
     </macro>
@@ -3717,6 +3747,7 @@
     <macro name='XML_SCHEMAS_ATTR_GLOBAL' file='schemasInternals'>
     </macro>
     <macro name='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED' file='schemasInternals'>
+      <info>this is set when the &quot;type&quot; and &quot;ref&quot; references have been resolved.</info>
     </macro>
     <macro name='XML_SCHEMAS_ATTR_NSDEFAULT' file='schemasInternals'>
       <info>allow elements in no namespace</info>
@@ -3819,6 +3850,17 @@
     <macro name='XML_SCHEMAS_QUALIF_ELEM' file='schemasInternals'>
       <info>the schema requires qualified elements</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_ABSTRACT' file='schemasInternals'>
+      <info>the simple/complexType is abstract.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT' file='schemasInternals'>
+      <info>the complexType did not specify &apos;block&apos; so use the default of the &lt;schema&gt; item.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_BLOCK_EXTENSION' file='schemasInternals'>
+      <info>the complexType has a &apos;block&apos; of &quot;extension&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' file='schemasInternals'>
     </macro>
     <macro name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' file='schemasInternals'>
@@ -3844,6 +3886,8 @@
     <macro name='XML_SCHEMAS_TYPE_GLOBAL' file='schemasInternals'>
       <info>the type is global</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_MARKED' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_TYPE_MIXED' file='schemasInternals'>
       <info>the element content type is mixed</info>
     </macro>
@@ -4661,9 +4705,11 @@
     <enum name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' file='xmlerror' value='1701' type='xmlParserErrors' info='1701'/>
     <enum name='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' file='xmlerror' value='1702' type='xmlParserErrors' info='1702'/>
     <enum name='XML_SCHEMAP_ATTR_NONAME_NOREF' file='xmlerror' value='1703' type='xmlParserErrors' info='1703'/>
+    <enum name='XML_SCHEMAP_AU_PROPS_CORRECT_2' file='xmlerror' value='3078' type='xmlParserErrors' info='3078'/>
+    <enum name='XML_SCHEMAP_A_PROPS_CORRECT_2' file='xmlerror' value='3079' type='xmlParserErrors'/>
     <enum name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' file='xmlerror' value='1704' type='xmlParserErrors' info='1704'/>
-    <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_1' file='xmlerror' value='3063' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_3' file='xmlerror' value='1800' type='xmlParserErrors' info='1799'/>
+    <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_1' file='xmlerror' value='3063' type='xmlParserErrors' info='3063'/>
+    <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_3' file='xmlerror' value='1800' type='xmlParserErrors' info='1800'/>
     <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='3011'/>
@@ -4686,25 +4732,26 @@
     <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_COS_VALID_DEFAULT_1' file='xmlerror' value='3058' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_1' file='xmlerror' value='3059' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1' file='xmlerror' value='3060' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2' file='xmlerror' value='3061' type='xmlParserErrors'/>
-    <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'/>
-    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_4' file='xmlerror' value='1785' type='xmlParserErrors' info='1784'/>
-    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_5' file='xmlerror' value='1786' type='xmlParserErrors' info='1785'/>
-    <enum name='XML_SCHEMAP_CVC_SIMPLE_TYPE' file='xmlerror' value='3062' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_DEF_AND_PREFIX' file='xmlerror' value='1768' type='xmlParserErrors' info='1767'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' file='xmlerror' value='1787' type='xmlParserErrors' info='1786'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' file='xmlerror' value='1788' type='xmlParserErrors' info='1787'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' file='xmlerror' value='1789' type='xmlParserErrors' info='1788'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' file='xmlerror' value='1790' type='xmlParserErrors' info='1789'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' file='xmlerror' value='1791' type='xmlParserErrors' info='1790'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' file='xmlerror' value='1797' type='xmlParserErrors' info='1796'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' file='xmlerror' value='1798' type='xmlParserErrors' info='1797'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' file='xmlerror' value='1799' type='xmlParserErrors' info='1798'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_1' file='xmlerror' value='3058' type='xmlParserErrors' info='3058'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_1' file='xmlerror' value='3059' type='xmlParserErrors' info='3059'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1' file='xmlerror' value='3060' type='xmlParserErrors' info='3060'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2' file='xmlerror' value='3061' type='xmlParserErrors' info='3061'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_1' file='xmlerror' value='1782' type='xmlParserErrors' info='1782'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_2' file='xmlerror' value='1783' type='xmlParserErrors' info='1783'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_3' file='xmlerror' value='1784' type='xmlParserErrors' info='1784'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_4' file='xmlerror' value='1785' type='xmlParserErrors' info='1785'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_5' file='xmlerror' value='1786' type='xmlParserErrors' info='1786'/>
+    <enum name='XML_SCHEMAP_CVC_SIMPLE_TYPE' file='xmlerror' value='3062' type='xmlParserErrors' info='3062'/>
+    <enum name='XML_SCHEMAP_DEF_AND_PREFIX' file='xmlerror' value='1768' type='xmlParserErrors' info='1768'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' file='xmlerror' value='1787' type='xmlParserErrors' info='1787'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' file='xmlerror' value='1788' type='xmlParserErrors' info='1788'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' file='xmlerror' value='1789' type='xmlParserErrors' info='1789'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3' file='xmlerror' value='3077' type='xmlParserErrors' info='3077'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' file='xmlerror' value='1790' type='xmlParserErrors' info='1790'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' file='xmlerror' value='1791' type='xmlParserErrors' info='1791'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' file='xmlerror' value='1797' type='xmlParserErrors' info='1797'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' file='xmlerror' value='1798' type='xmlParserErrors' info='1798'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' file='xmlerror' value='1799' type='xmlParserErrors' info='1799'/>
     <enum name='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE' file='xmlerror' value='1705' type='xmlParserErrors' info='1705'/>
     <enum name='XML_SCHEMAP_ELEM_DEFAULT_FIXED' file='xmlerror' value='1755' type='xmlParserErrors' info='1755'/>
     <enum name='XML_SCHEMAP_ELEM_NONAME_NOREF' file='xmlerror' value='1706' type='xmlParserErrors' info='1706'/>
@@ -4716,20 +4763,20 @@
     <enum name='XML_SCHEMAP_E_PROPS_CORRECT_6' file='xmlerror' value='3049' type='xmlParserErrors' info='3049'/>
     <enum name='XML_SCHEMAP_FACET_NO_VALUE' file='xmlerror' value='1708' type='xmlParserErrors' info='1708'/>
     <enum name='XML_SCHEMAP_FAILED_BUILD_IMPORT' file='xmlerror' value='1709' type='xmlParserErrors' info='1709'/>
-    <enum name='XML_SCHEMAP_FAILED_LOAD' file='xmlerror' value='1757' type='xmlParserErrors' info='1756'/>
-    <enum name='XML_SCHEMAP_FAILED_PARSE' file='xmlerror' value='1766' type='xmlParserErrors' info='1765'/>
+    <enum name='XML_SCHEMAP_FAILED_LOAD' file='xmlerror' value='1757' type='xmlParserErrors' info='1757'/>
+    <enum name='XML_SCHEMAP_FAILED_PARSE' file='xmlerror' value='1766' type='xmlParserErrors' info='1766'/>
     <enum name='XML_SCHEMAP_GROUP_NONAME_NOREF' file='xmlerror' value='1710' type='xmlParserErrors' info='1710'/>
     <enum name='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI' file='xmlerror' value='1711' type='xmlParserErrors' info='1711'/>
     <enum name='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' file='xmlerror' value='1712' type='xmlParserErrors' info='1712'/>
     <enum name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' file='xmlerror' value='1713' type='xmlParserErrors' info='1713'/>
-    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' file='xmlerror' value='1770' type='xmlParserErrors' info='1769'/>
-    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' file='xmlerror' value='1771' type='xmlParserErrors' info='1770'/>
-    <enum name='XML_SCHEMAP_INTERNAL' file='xmlerror' value='3069' type='xmlParserErrors' info='non-W3C'/>
-    <enum name='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' file='xmlerror' value='1793' type='xmlParserErrors' info='1792'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_COMBINATION' file='xmlerror' value='1777' type='xmlParserErrors' info='1776'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' file='xmlerror' value='1778' type='xmlParserErrors' info='1777'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_NAME' file='xmlerror' value='1780' type='xmlParserErrors' info='1779'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_USE' file='xmlerror' value='1774' type='xmlParserErrors' info='1773'/>
+    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' file='xmlerror' value='1770' type='xmlParserErrors' info='1770'/>
+    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' file='xmlerror' value='1771' type='xmlParserErrors' info='1771'/>
+    <enum name='XML_SCHEMAP_INTERNAL' file='xmlerror' value='3069' type='xmlParserErrors' info='3069 non-W3C'/>
+    <enum name='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' file='xmlerror' value='1793' type='xmlParserErrors' info='1793'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_COMBINATION' file='xmlerror' value='1777' type='xmlParserErrors' info='1777'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' file='xmlerror' value='1778' type='xmlParserErrors' info='1778'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_NAME' file='xmlerror' value='1780' type='xmlParserErrors' info='1780'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_USE' file='xmlerror' value='1774' type='xmlParserErrors' info='1774'/>
     <enum name='XML_SCHEMAP_INVALID_BOOLEAN' file='xmlerror' value='1714' type='xmlParserErrors' info='1714'/>
     <enum name='XML_SCHEMAP_INVALID_ENUM' file='xmlerror' value='1715' type='xmlParserErrors' info='1715'/>
     <enum name='XML_SCHEMAP_INVALID_FACET' file='xmlerror' value='1716' type='xmlParserErrors' info='1716'/>
@@ -4738,28 +4785,30 @@
     <enum name='XML_SCHEMAP_INVALID_MINOCCURS' file='xmlerror' value='1719' type='xmlParserErrors' info='1719'/>
     <enum name='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' file='xmlerror' value='1720' type='xmlParserErrors' info='1720'/>
     <enum name='XML_SCHEMAP_INVALID_WHITE_SPACE' file='xmlerror' value='1721' type='xmlParserErrors' info='1721'/>
-    <enum name='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' file='xmlerror' value='1779' type='xmlParserErrors' info='1778'/>
+    <enum name='XML_SCHEMAP_MG_PROPS_CORRECT_1' file='xmlerror' value='3074' type='xmlParserErrors' info='3074'/>
+    <enum name='XML_SCHEMAP_MG_PROPS_CORRECT_2' file='xmlerror' value='3075' type='xmlParserErrors' info='3075'/>
+    <enum name='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' file='xmlerror' value='1779' type='xmlParserErrors' info='1779'/>
     <enum name='XML_SCHEMAP_NOATTR_NOREF' file='xmlerror' value='1722' type='xmlParserErrors' info='1722'/>
-    <enum name='XML_SCHEMAP_NOROOT' file='xmlerror' value='1759' type='xmlParserErrors' info='1758'/>
+    <enum name='XML_SCHEMAP_NOROOT' file='xmlerror' value='1759' type='xmlParserErrors' info='1759'/>
     <enum name='XML_SCHEMAP_NOTATION_NO_NAME' file='xmlerror' value='1723' type='xmlParserErrors' info='1723'/>
-    <enum name='XML_SCHEMAP_NOTHING_TO_PARSE' file='xmlerror' value='1758' type='xmlParserErrors' info='1757'/>
+    <enum name='XML_SCHEMAP_NOTHING_TO_PARSE' file='xmlerror' value='1758' type='xmlParserErrors' info='1758'/>
     <enum name='XML_SCHEMAP_NOTYPE_NOREF' file='xmlerror' value='1724' type='xmlParserErrors' info='1724'/>
-    <enum name='XML_SCHEMAP_NOT_DETERMINISTIC' file='xmlerror' value='3070' type='xmlParserErrors' info=' non-W3C'/>
-    <enum name='XML_SCHEMAP_NOT_SCHEMA' file='xmlerror' value='1772' type='xmlParserErrors' info='1771'/>
+    <enum name='XML_SCHEMAP_NOT_DETERMINISTIC' file='xmlerror' value='3070' type='xmlParserErrors' info='3070 non-W3C'/>
+    <enum name='XML_SCHEMAP_NOT_SCHEMA' file='xmlerror' value='1772' type='xmlParserErrors' info='1772'/>
     <enum name='XML_SCHEMAP_NO_XMLNS' file='xmlerror' value='3056' type='xmlParserErrors' info='3056'/>
     <enum name='XML_SCHEMAP_NO_XSI' file='xmlerror' value='3057' type='xmlParserErrors' info='3057'/>
     <enum name='XML_SCHEMAP_PREFIX_UNDEFINED' file='xmlerror' value='1700' type='xmlParserErrors'/>
     <enum name='XML_SCHEMAP_P_PROPS_CORRECT_1' file='xmlerror' value='3042' type='xmlParserErrors' info='3042'/>
     <enum name='XML_SCHEMAP_P_PROPS_CORRECT_2_1' file='xmlerror' value='3043' type='xmlParserErrors' info='3043'/>
     <enum name='XML_SCHEMAP_P_PROPS_CORRECT_2_2' file='xmlerror' value='3044' type='xmlParserErrors' info='3044'/>
-    <enum name='XML_SCHEMAP_RECURSIVE' file='xmlerror' value='1775' type='xmlParserErrors' info='1774'/>
-    <enum name='XML_SCHEMAP_REDEFINED_ATTR' file='xmlerror' value='1764' type='xmlParserErrors' info='1763'/>
-    <enum name='XML_SCHEMAP_REDEFINED_ATTRGROUP' file='xmlerror' value='1763' type='xmlParserErrors' info='1762'/>
-    <enum name='XML_SCHEMAP_REDEFINED_ELEMENT' file='xmlerror' value='1762' type='xmlParserErrors' info='1761'/>
-    <enum name='XML_SCHEMAP_REDEFINED_GROUP' file='xmlerror' value='1760' type='xmlParserErrors' info='1759'/>
-    <enum name='XML_SCHEMAP_REDEFINED_NOTATION' file='xmlerror' value='1765' type='xmlParserErrors' info='1764'/>
-    <enum name='XML_SCHEMAP_REDEFINED_TYPE' file='xmlerror' value='1761' type='xmlParserErrors' info='1760'/>
-    <enum name='XML_SCHEMAP_REF_AND_CONTENT' file='xmlerror' value='1781' type='xmlParserErrors' info='1780'/>
+    <enum name='XML_SCHEMAP_RECURSIVE' file='xmlerror' value='1775' type='xmlParserErrors' info='1775'/>
+    <enum name='XML_SCHEMAP_REDEFINED_ATTR' file='xmlerror' value='1764' type='xmlParserErrors' info='1764'/>
+    <enum name='XML_SCHEMAP_REDEFINED_ATTRGROUP' file='xmlerror' value='1763' type='xmlParserErrors' info='1763'/>
+    <enum name='XML_SCHEMAP_REDEFINED_ELEMENT' file='xmlerror' value='1762' type='xmlParserErrors' info='1762'/>
+    <enum name='XML_SCHEMAP_REDEFINED_GROUP' file='xmlerror' value='1760' type='xmlParserErrors' info='1760'/>
+    <enum name='XML_SCHEMAP_REDEFINED_NOTATION' file='xmlerror' value='1765' type='xmlParserErrors' info='1765'/>
+    <enum name='XML_SCHEMAP_REDEFINED_TYPE' file='xmlerror' value='1761' type='xmlParserErrors' info='1761'/>
+    <enum name='XML_SCHEMAP_REF_AND_CONTENT' file='xmlerror' value='1781' type='xmlParserErrors' info='1781'/>
     <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'/>
@@ -4774,17 +4823,21 @@
     <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_3_1' file='xmlerror' value='3053' type='xmlParserErrors' info='3053'/>
     <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_3_2' file='xmlerror' value='3054' type='xmlParserErrors' info='3054'/>
     <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_4' file='xmlerror' value='3055' type='xmlParserErrors' info='3055'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1' file='xmlerror' value='3071' type='xmlParserErrors' info='3071'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2' file='xmlerror' value='3072' type='xmlParserErrors' info='3072'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3' file='xmlerror' value='3073' type='xmlParserErrors' info='3073'/>
+    <enum name='XML_SCHEMAP_SRC_CT_1' file='xmlerror' value='3076' type='xmlParserErrors' info='3076'/>
     <enum name='XML_SCHEMAP_SRC_ELEMENT_1' file='xmlerror' value='3038' type='xmlParserErrors' info='3038'/>
     <enum name='XML_SCHEMAP_SRC_ELEMENT_2_1' file='xmlerror' value='3039' type='xmlParserErrors' info='3039'/>
     <enum name='XML_SCHEMAP_SRC_ELEMENT_2_2' file='xmlerror' value='3040' type='xmlParserErrors' info='3040'/>
     <enum name='XML_SCHEMAP_SRC_ELEMENT_3' file='xmlerror' value='3041' type='xmlParserErrors' info='3041'/>
-    <enum name='XML_SCHEMAP_SRC_IMPORT_1_1' file='xmlerror' value='3064' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_SRC_IMPORT_1_2' file='xmlerror' value='3065' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_SRC_IMPORT_2' file='xmlerror' value='3066' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_SRC_IMPORT_2_1' file='xmlerror' value='3067' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_SRC_IMPORT_2_2' file='xmlerror' value='3068' type='xmlParserErrors'/>
-    <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_IMPORT_1_1' file='xmlerror' value='3064' type='xmlParserErrors' info='3064'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_1_2' file='xmlerror' value='3065' type='xmlParserErrors' info='3065'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_2' file='xmlerror' value='3066' type='xmlParserErrors' info='3066'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_2_1' file='xmlerror' value='3067' type='xmlParserErrors' info='3067'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_2_2' file='xmlerror' value='3068' type='xmlParserErrors' info='3068'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_3_1' file='xmlerror' value='1795' type='xmlParserErrors' info='1795'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_3_2' file='xmlerror' value='1796' type='xmlParserErrors' info='1796'/>
     <enum name='XML_SCHEMAP_SRC_INCLUDE' file='xmlerror' value='3050' type='xmlParserErrors' info='3050'/>
     <enum name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' file='xmlerror' value='3006' type='xmlParserErrors' info='3006'/>
     <enum name='XML_SCHEMAP_SRC_RESOLVE' file='xmlerror' value='3004' type='xmlParserErrors' info='3004'/>
@@ -4797,9 +4850,9 @@
     <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_1' file='xmlerror' value='3008' type='xmlParserErrors' info='3008'/>
     <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_2' file='xmlerror' value='3009' type='xmlParserErrors' info='3009'/>
     <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_3' file='xmlerror' value='3010' type='xmlParserErrors' info='3010'/>
-    <enum name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' file='xmlerror' value='1776' type='xmlParserErrors' info='1775'/>
+    <enum name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' file='xmlerror' value='1776' type='xmlParserErrors' info='1776'/>
     <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'/>
+    <enum name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' file='xmlerror' value='1794' type='xmlParserErrors' info='1794'/>
     <enum name='XML_SCHEMAP_UNKNOWN_ALL_CHILD' file='xmlerror' value='1729' type='xmlParserErrors' info='1729'/>
     <enum name='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' file='xmlerror' value='1730' type='xmlParserErrors' info='1730'/>
     <enum name='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD' file='xmlerror' value='1732' type='xmlParserErrors' info='1732'/>
@@ -4815,11 +4868,11 @@
     <enum name='XML_SCHEMAP_UNKNOWN_FACET_TYPE' file='xmlerror' value='1741' type='xmlParserErrors' info='1741'/>
     <enum name='XML_SCHEMAP_UNKNOWN_GROUP_CHILD' file='xmlerror' value='1742' type='xmlParserErrors' info='1742'/>
     <enum name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' file='xmlerror' value='1743' type='xmlParserErrors' info='1743'/>
-    <enum name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' file='xmlerror' value='1769' type='xmlParserErrors' info='1768'/>
+    <enum name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' file='xmlerror' value='1769' type='xmlParserErrors' info='1769'/>
     <enum name='XML_SCHEMAP_UNKNOWN_LIST_CHILD' file='xmlerror' value='1744' type='xmlParserErrors' info='1744'/>
-    <enum name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' file='xmlerror' value='1773' type='xmlParserErrors' info='1772'/>
+    <enum name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' file='xmlerror' value='1773' type='xmlParserErrors' info='1773'/>
     <enum name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' file='xmlerror' value='1745' type='xmlParserErrors' info='1745'/>
-    <enum name='XML_SCHEMAP_UNKNOWN_PREFIX' file='xmlerror' value='1767' type='xmlParserErrors' info='1766'/>
+    <enum name='XML_SCHEMAP_UNKNOWN_PREFIX' file='xmlerror' value='1767' type='xmlParserErrors' info='1767'/>
     <enum name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' file='xmlerror' value='1746' type='xmlParserErrors' info='1746'/>
     <enum name='XML_SCHEMAP_UNKNOWN_REF' file='xmlerror' value='1747' type='xmlParserErrors' info='1747'/>
     <enum name='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD' file='xmlerror' value='1748' type='xmlParserErrors' info='1748'/>
@@ -4829,7 +4882,7 @@
     <enum name='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD' file='xmlerror' value='1752' type='xmlParserErrors' info='1752'/>
     <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_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' file='xmlerror' value='1792' type='xmlParserErrors' info='1792'/>
     <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'/>
@@ -4903,78 +4956,82 @@
     <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_ATTRIBUTE_1' file='xmlerror' value='1860' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_2' file='xmlerror' value='1861' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_3' file='xmlerror' value='1862' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_4' file='xmlerror' value='1863' type='xmlParserErrors'/>
-    <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_COMPLEX_TYPE_3_1' file='xmlerror' value='1864' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1' file='xmlerror' value='1865' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' file='xmlerror' value='1866' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_4' file='xmlerror' value='1867' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1' file='xmlerror' value='1868' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2' file='xmlerror' value='1869' type='xmlParserErrors'/>
-    <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_ELT_1' file='xmlerror' value='1844' type='xmlParserErrors' info='1844'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_2' file='xmlerror' value='1845' type='xmlParserErrors' info='1845'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_3_1' file='xmlerror' value='1846' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_3_2_1' file='xmlerror' value='1847' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_3_2_2' file='xmlerror' value='1848' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_4_1' file='xmlerror' value='1849' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_4_2' file='xmlerror' value='1850' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_4_3' file='xmlerror' value='1851' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_5_1_1' file='xmlerror' value='1852' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_5_1_2' file='xmlerror' value='1853' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_5_2_1' file='xmlerror' value='1854' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_1' file='xmlerror' value='1855' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_2_1' file='xmlerror' value='1856' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_2_2' file='xmlerror' value='1857' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_6' file='xmlerror' value='1858' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_CVC_ELT_7' file='xmlerror' value='1859' type='xmlParserErrors'/>
-    <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_DOCUMENT_ELEMENT_MISSING' file='xmlerror' value='1871' type='xmlParserErrors' info='non-W3C'/>
-    <enum name='XML_SCHEMAV_ELEMCONT' file='xmlerror' value='1809' type='xmlParserErrors' info='1809'/>
-    <enum name='XML_SCHEMAV_ELEMENT_CONTENT' file='xmlerror' value='1870' type='xmlParserErrors' info='1846 non-W3C'/>
-    <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'/>
-    <enum name='XML_SCHEMAV_HAVEDEFAULT' file='xmlerror' value='1810' type='xmlParserErrors' info='1810'/>
-    <enum name='XML_SCHEMAV_INTERNAL' file='xmlerror' value='1817' type='xmlParserErrors' info='1817'/>
-    <enum name='XML_SCHEMAV_INVALIDATTR' file='xmlerror' value='1813' type='xmlParserErrors' info='1813'/>
-    <enum name='XML_SCHEMAV_INVALIDELEM' file='xmlerror' value='1814' type='xmlParserErrors' info='1814'/>
-    <enum name='XML_SCHEMAV_ISABSTRACT' file='xmlerror' value='1807' type='xmlParserErrors' info='1807'/>
-    <enum name='XML_SCHEMAV_MISSING' file='xmlerror' value='1803' type='xmlParserErrors' info='1803'/>
-    <enum name='XML_SCHEMAV_NOROLLBACK' file='xmlerror' value='1806' type='xmlParserErrors' info='1806'/>
-    <enum name='XML_SCHEMAV_NOROOT' file='xmlerror' value='1800' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_NOTDETERMINIST' file='xmlerror' value='1815' type='xmlParserErrors' info='1815'/>
-    <enum name='XML_SCHEMAV_NOTEMPTY' file='xmlerror' value='1808' type='xmlParserErrors' info='1808'/>
-    <enum name='XML_SCHEMAV_NOTNILLABLE' file='xmlerror' value='1811' type='xmlParserErrors' info='1811'/>
-    <enum name='XML_SCHEMAV_NOTSIMPLE' file='xmlerror' value='1818' type='xmlParserErrors' info='1818'/>
-    <enum name='XML_SCHEMAV_NOTTOPLEVEL' file='xmlerror' value='1802' type='xmlParserErrors' info='1802'/>
-    <enum name='XML_SCHEMAV_NOTYPE' file='xmlerror' value='1805' type='xmlParserErrors' info='1805'/>
-    <enum name='XML_SCHEMAV_UNDECLAREDELEM' file='xmlerror' value='1801' type='xmlParserErrors' info='1801'/>
-    <enum name='XML_SCHEMAV_VALUE' file='xmlerror' value='1821' type='xmlParserErrors' info='1821'/>
-    <enum name='XML_SCHEMAV_WRONGELEM' file='xmlerror' value='1804' type='xmlParserErrors' info='1804'/>
+    <enum name='XML_SCHEMAV_ATTRINVALID' file='xmlerror' value='1821' type='xmlParserErrors' info='1821'/>
+    <enum name='XML_SCHEMAV_ATTRUNKNOWN' file='xmlerror' value='1820' type='xmlParserErrors' info='1820'/>
+    <enum name='XML_SCHEMAV_CONSTRUCT' file='xmlerror' value='1817' type='xmlParserErrors' info='1817'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_1' file='xmlerror' value='1861' type='xmlParserErrors' info='1861'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_2' file='xmlerror' value='1862' type='xmlParserErrors' info='1862'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_3' file='xmlerror' value='1863' type='xmlParserErrors' info='1863'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_4' file='xmlerror' value='1864' type='xmlParserErrors' info='1864'/>
+    <enum name='XML_SCHEMAV_CVC_AU' file='xmlerror' value='1874' type='xmlParserErrors' info='1874'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_1' file='xmlerror' value='1873' type='xmlParserErrors' info='1873'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' file='xmlerror' value='1841' type='xmlParserErrors' info='1841'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' file='xmlerror' value='1842' type='xmlParserErrors' info='1842'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' file='xmlerror' value='1843' type='xmlParserErrors' info='1843'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' file='xmlerror' value='1844' type='xmlParserErrors' info='1844'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1' file='xmlerror' value='1865' type='xmlParserErrors' info='1865'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1' file='xmlerror' value='1866' type='xmlParserErrors' info='1866'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' file='xmlerror' value='1867' type='xmlParserErrors' info='1867'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_4' file='xmlerror' value='1868' type='xmlParserErrors' info='1868'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1' file='xmlerror' value='1869' type='xmlParserErrors' info='1869'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2' file='xmlerror' value='1870' type='xmlParserErrors' info='1870'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' file='xmlerror' value='1824' type='xmlParserErrors' info='1824'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' file='xmlerror' value='1825' type='xmlParserErrors' info='1825'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' file='xmlerror' value='1826' type='xmlParserErrors' info='1826'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_1' file='xmlerror' value='1845' type='xmlParserErrors' info='1845'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_2' file='xmlerror' value='1846' type='xmlParserErrors' info='1846'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_3_1' file='xmlerror' value='1847' type='xmlParserErrors' info='1847'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_3_2_1' file='xmlerror' value='1848' type='xmlParserErrors' info='1848'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_3_2_2' file='xmlerror' value='1849' type='xmlParserErrors' info='1849'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_4_1' file='xmlerror' value='1850' type='xmlParserErrors' info='1850'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_4_2' file='xmlerror' value='1851' type='xmlParserErrors' info='1851'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_4_3' file='xmlerror' value='1852' type='xmlParserErrors' info='1852'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_1_1' file='xmlerror' value='1853' type='xmlParserErrors' info='1853'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_1_2' file='xmlerror' value='1854' type='xmlParserErrors' info='1854'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_1' file='xmlerror' value='1855' type='xmlParserErrors' info='1855'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_1' file='xmlerror' value='1856' type='xmlParserErrors' info='1856'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_2_1' file='xmlerror' value='1857' type='xmlParserErrors' info='1857'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_2_2' file='xmlerror' value='1858' type='xmlParserErrors' info='1858'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_6' file='xmlerror' value='1859' type='xmlParserErrors' info='1859'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_7' file='xmlerror' value='1860' type='xmlParserErrors' info='1860'/>
+    <enum name='XML_SCHEMAV_CVC_ENUMERATION_VALID' file='xmlerror' value='1840' type='xmlParserErrors' info='1840'/>
+    <enum name='XML_SCHEMAV_CVC_FACET_VALID' file='xmlerror' value='1829' type='xmlParserErrors' info='1829'/>
+    <enum name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' file='xmlerror' value='1838' type='xmlParserErrors' info='1838'/>
+    <enum name='XML_SCHEMAV_CVC_LENGTH_VALID' file='xmlerror' value='1830' type='xmlParserErrors' info='1830'/>
+    <enum name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' file='xmlerror' value='1836' type='xmlParserErrors' info='1836'/>
+    <enum name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' file='xmlerror' value='1834' type='xmlParserErrors' info='1834'/>
+    <enum name='XML_SCHEMAV_CVC_MAXLENGTH_VALID' file='xmlerror' value='1832' type='xmlParserErrors' info='1832'/>
+    <enum name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' file='xmlerror' value='1835' type='xmlParserErrors' info='1835'/>
+    <enum name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' file='xmlerror' value='1833' type='xmlParserErrors' info='1833'/>
+    <enum name='XML_SCHEMAV_CVC_MINLENGTH_VALID' file='xmlerror' value='1831' type='xmlParserErrors' info='1831'/>
+    <enum name='XML_SCHEMAV_CVC_PATTERN_VALID' file='xmlerror' value='1839' type='xmlParserErrors' info='1839'/>
+    <enum name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' file='xmlerror' value='1837' type='xmlParserErrors' info='1837'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_1' file='xmlerror' value='1875' type='xmlParserErrors' info='1875'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_2' file='xmlerror' value='1876' type='xmlParserErrors' info='1876'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_1' file='xmlerror' value='1827' type='xmlParserErrors' info='1827'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_2' file='xmlerror' value='1828' type='xmlParserErrors' info='1828'/>
+    <enum name='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING' file='xmlerror' value='1872' type='xmlParserErrors' info='1872'/>
+    <enum name='XML_SCHEMAV_ELEMCONT' file='xmlerror' value='1810' type='xmlParserErrors' info='1810'/>
+    <enum name='XML_SCHEMAV_ELEMENT_CONTENT' file='xmlerror' value='1871' type='xmlParserErrors' info='1871'/>
+    <enum name='XML_SCHEMAV_EXTRACONTENT' file='xmlerror' value='1813' type='xmlParserErrors' info='1813'/>
+    <enum name='XML_SCHEMAV_FACET' file='xmlerror' value='1823' type='xmlParserErrors' info='1823'/>
+    <enum name='XML_SCHEMAV_HAVEDEFAULT' file='xmlerror' value='1811' type='xmlParserErrors' info='1811'/>
+    <enum name='XML_SCHEMAV_INTERNAL' file='xmlerror' value='1818' type='xmlParserErrors' info='1818'/>
+    <enum name='XML_SCHEMAV_INVALIDATTR' file='xmlerror' value='1814' type='xmlParserErrors' info='1814'/>
+    <enum name='XML_SCHEMAV_INVALIDELEM' file='xmlerror' value='1815' type='xmlParserErrors' info='1815'/>
+    <enum name='XML_SCHEMAV_ISABSTRACT' file='xmlerror' value='1808' type='xmlParserErrors' info='1808'/>
+    <enum name='XML_SCHEMAV_MISSING' file='xmlerror' value='1804' type='xmlParserErrors' info='1804'/>
+    <enum name='XML_SCHEMAV_NOROLLBACK' file='xmlerror' value='1807' type='xmlParserErrors' info='1807'/>
+    <enum name='XML_SCHEMAV_NOROOT' file='xmlerror' value='1801' type='xmlParserErrors'/>
+    <enum name='XML_SCHEMAV_NOTDETERMINIST' file='xmlerror' value='1816' type='xmlParserErrors' info='1816'/>
+    <enum name='XML_SCHEMAV_NOTEMPTY' file='xmlerror' value='1809' type='xmlParserErrors' info='1809'/>
+    <enum name='XML_SCHEMAV_NOTNILLABLE' file='xmlerror' value='1812' type='xmlParserErrors' info='1812'/>
+    <enum name='XML_SCHEMAV_NOTSIMPLE' file='xmlerror' value='1819' type='xmlParserErrors' info='1819'/>
+    <enum name='XML_SCHEMAV_NOTTOPLEVEL' file='xmlerror' value='1803' type='xmlParserErrors' info='1803'/>
+    <enum name='XML_SCHEMAV_NOTYPE' file='xmlerror' value='1806' type='xmlParserErrors' info='1806'/>
+    <enum name='XML_SCHEMAV_UNDECLAREDELEM' file='xmlerror' value='1802' type='xmlParserErrors' info='1802'/>
+    <enum name='XML_SCHEMAV_VALUE' file='xmlerror' value='1822' type='xmlParserErrors' info='1822'/>
+    <enum name='XML_SCHEMAV_WRONGELEM' file='xmlerror' value='1805' type='xmlParserErrors' info='1805'/>
     <enum name='XML_SCHEMA_CONTENT_ANY' file='schemasInternals' value='7' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_BASIC' file='schemasInternals' value='6' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_ELEMENTS' file='schemasInternals' value='2' type='xmlSchemaContentType'/>
@@ -5016,6 +5073,9 @@
     <enum name='XML_SCHEMA_TYPE_SIMPLE_CONTENT' file='schemasInternals' value='9' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_UNION' file='schemasInternals' value='20' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_UR' file='schemasInternals' value='11' type='xmlSchemaTypeType'/>
+    <enum name='XML_SCHEMA_VAL_VC_I_CREATE' file='xmlschemas' value='1' type='xmlSchemaValidOption' info=' Default/fixed: create an attribute node
+* or an element&apos;s text node on the instance.
+*'/>
     <enum name='XML_TEXTREADER_MODE_CLOSED' file='xmlreader' value='4' type='xmlTextReaderMode'/>
     <enum name='XML_TEXTREADER_MODE_EOF' file='xmlreader' value='3' type='xmlTextReaderMode'/>
     <enum name='XML_TEXTREADER_MODE_ERROR' file='xmlreader' value='2' type='xmlTextReaderMode'/>
@@ -5759,6 +5819,7 @@
       <field name='dict' type='xmlDictPtr' info=''/>
       <field name='includes' type='void *' info=' the includes, this is opaque for now'/>
       <field name='preserve' type='int' info=' whether to free the document'/>
+      <field name='counter' type='int' info=' used to give ononymous components unique names'/>
     </struct>
     <struct name='xmlSchemaAnnot' file='schemasInternals' type='struct _xmlSchemaAnnot'>
       <field name='next' type='struct _xmlSchemaAnnot *' info=''/>
@@ -5783,6 +5844,8 @@
       <field name='targetNamespace' type='const xmlChar *' info=''/>
       <field name='flags' type='int' info=''/>
       <field name='refPrefix' type='const xmlChar *' info=''/>
+      <field name='defVal' type='xmlSchemaValPtr' info=''/>
+      <field name='refDecl' type='xmlSchemaAttributePtr' info=''/>
     </struct>
     <struct name='xmlSchemaAttributeGroup' file='schemasInternals' type='struct _xmlSchemaAttributeGroup'>
       <field name='type' type='xmlSchemaTypeType' info=' The kind of type'/>
@@ -5797,6 +5860,7 @@
       <field name='flags' type='int' info=''/>
       <field name='attributeWildcard' type='xmlSchemaWildcardPtr' info=''/>
       <field name='refPrefix' type='const xmlChar *' info=''/>
+      <field name='refItem' type='xmlSchemaAttributeGroupPtr' info=' The referenced attribute group'/>
     </struct>
     <typedef name='xmlSchemaAttributeGroupPtr' file='schemasInternals' type='xmlSchemaAttributeGroup *'/>
     <struct name='xmlSchemaAttributeLink' file='schemasInternals' type='struct _xmlSchemaAttributeLink'>
@@ -5831,6 +5895,7 @@
       <field name='contModel' type='xmlRegexpPtr' info=''/>
       <field name='contentType' type='xmlSchemaContentType' info=''/>
       <field name='refPrefix' type='const xmlChar *' info=''/>
+      <field name='defVal' type='xmlSchemaValPtr' info=''/>
     </struct>
     <typedef name='xmlSchemaElementPtr' file='schemasInternals' type='xmlSchemaElement *'/>
     <struct name='xmlSchemaFacet' file='schemasInternals' type='struct _xmlSchemaFacet'>
@@ -5889,6 +5954,7 @@
       <field name='facetSet' type='xmlSchemaFacetLinkPtr' info=''/>
       <field name='refPrefix' type='const xmlChar *' info=''/>
       <field name='contentTypeDef' type='xmlSchemaTypePtr' info=''/>
+      <field name='contModel' type='xmlRegexpPtr' info=''/>
     </struct>
     <struct name='xmlSchemaTypeLink' file='schemasInternals' type='struct _xmlSchemaTypeLink'>
       <field name='next' type='struct _xmlSchemaTypeLink *' info=' the next type link ...'/>
@@ -5903,6 +5969,7 @@
     <struct name='xmlSchemaValidCtxt' file='xmlschemas' type='struct _xmlSchemaValidCtxt'/>
     <typedef name='xmlSchemaValidCtxtPtr' file='xmlschemas' type='xmlSchemaValidCtxt *'/>
     <typedef name='xmlSchemaValidError' file='xmlschemas' type='enum'/>
+    <typedef name='xmlSchemaValidOption' file='xmlschemas' type='enum'/>
     <struct name='xmlSchemaWildcard' file='schemasInternals' type='struct _xmlSchemaWildcard'>
       <field name='type' type='xmlSchemaTypeType' info=' The kind of type'/>
       <field name='id' type='const xmlChar *' info=''/>
@@ -7523,6 +7590,19 @@
       <arg name='max' type='int' info='the maximum successive occurences of token'/>
       <arg name='data' type='void *' info='data associated to the transition'/>
     </function>
+    <function name='xmlAutomataNewCountTrans2' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
+      <info>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</info>
+      <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
+      <arg name='am' type='xmlAutomataPtr' info='an automata'/>
+      <arg name='from' type='xmlAutomataStatePtr' info='the starting point of the transition'/>
+      <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/>
+      <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/>
+      <arg name='token2' type='const xmlChar *' info='the second input string associated to that transition'/>
+      <arg name='min' type='int' info='the minimum successive occurences of token'/>
+      <arg name='max' type='int' info='the maximum successive occurences of token'/>
+      <arg name='data' type='void *' info='data associated to the transition'/>
+    </function>
     <function name='xmlAutomataNewCountedTrans' file='xmlautomata'>
       <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</info>
@@ -7569,6 +7649,19 @@
       <arg name='max' type='int' info='the maximum successive occurences of token'/>
       <arg name='data' type='void *' info='data associated to the transition'/>
     </function>
+    <function name='xmlAutomataNewOnceTrans2' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
+      <info>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</info>
+      <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
+      <arg name='am' type='xmlAutomataPtr' info='an automata'/>
+      <arg name='from' type='xmlAutomataStatePtr' info='the starting point of the transition'/>
+      <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/>
+      <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/>
+      <arg name='token2' type='const xmlChar *' info='the second input string associated to that transition'/>
+      <arg name='min' type='int' info='the minimum successive occurences of token'/>
+      <arg name='max' type='int' info='the maximum successive occurences of token'/>
+      <arg name='data' type='void *' info='data associated to the transition'/>
+    </function>
     <function name='xmlAutomataNewState' file='xmlautomata'>
       <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Create a new disconnected state in the automata</info>
@@ -9026,10 +9119,10 @@
       <return type='int' info='the current thread ID number'/>
     </function>
     <function name='xmlGetUTF8Char' file='xmlstring'>
-      <info>Read one UTF8 Char from @utf</info>
-      <return type='int' info='the char value or -1 in case of error, and updates *len with the number of bytes consumed'/>
+      <info>Read the first UTF8 character from @utf</info>
+      <return type='int' info='the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)'/>
       <arg name='utf' type='const unsigned char *' info='a sequence of UTF-8 encoded bytes'/>
-      <arg name='len' type='int *' info='a pointer to @bytes len'/>
+      <arg name='len' type='int *' info='a pointer to the minimum number of bytes present in the sequence.  This is used to assure the next character is completely contained within the sequence.'/>
     </function>
     <function name='xmlHandleEntity' file='parserInternals'>
       <info>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ?  OBSOLETE: to be removed at some point.</info>
@@ -9962,6 +10055,12 @@
       <return type='void'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
     </function>
+    <function name='xmlNanoHTTPContentLength' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
+      <info>Provides the specified content length from the HTTP header.</info>
+      <return type='int' info='the specified content length from the HTTP header.  Note that a value of -1 indicates that the content length element was not included in the response header.'/>
+      <arg name='ctx' type='void *' info='the HTTP context'/>
+    </function>
     <function name='xmlNanoHTTPEncoding' file='nanohttp'>
       <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Provides the specified encoding if specified in the HTTP headers.</info>
@@ -10869,7 +10968,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseName' file='parserInternals'>
-      <info>parse an XML name.  [4] NameChar ::= Letter | Digit | &apos;.&apos; | &apos;-&apos; | &apos;_&apos; | &apos;:&apos; | CombiningChar | Extender  [5] Name ::= (Letter | &apos;_&apos; | &apos;:&apos;) (NameChar)*  [6] Names ::= Name (S Name)*</info>
+      <info>parse an XML name.  [4] NameChar ::= Letter | Digit | &apos;.&apos; | &apos;-&apos; | &apos;_&apos; | &apos;:&apos; | CombiningChar | Extender  [5] Name ::= (Letter | &apos;_&apos; | &apos;:&apos;) (NameChar)*  [6] Names ::= Name (#x20 Name)*</info>
       <return type='const xmlChar *' info='the Name parsed or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -10879,7 +10978,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseNmtoken' file='parserInternals'>
-      <info>parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8] Nmtokens ::= Nmtoken (S Nmtoken)*</info>
+      <info>parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</info>
       <return type='xmlChar *' info='the Nmtoken parsed or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12182,9 +12281,9 @@
     </function>
     <function name='xmlSchemaFreeValidCtxt' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
-      <info></info>
+      <info>Free the resources associated to the schema validation context</info>
       <return type='void'/>
-      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info=''/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='the schema validation context'/>
     </function>
     <function name='xmlSchemaFreeValue' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
@@ -12234,12 +12333,12 @@
     </function>
     <function name='xmlSchemaGetValidErrors' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
-      <info></info>
-      <return type='int' info=''/>
-      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info=''/>
-      <arg name='err' type='xmlSchemaValidityErrorFunc *' info=''/>
-      <arg name='warn' type='xmlSchemaValidityWarningFunc *' info=''/>
-      <arg name='ctx' type='void **' info=''/>
+      <info>Get the error and warning callback informations</info>
+      <return type='int' info='-1 in case of error and 0 otherwise'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a XML-Schema validation context'/>
+      <arg name='err' type='xmlSchemaValidityErrorFunc *' info='the error function result'/>
+      <arg name='warn' type='xmlSchemaValidityWarningFunc *' info='the warning function result'/>
+      <arg name='ctx' type='void **' info='the functions context result'/>
     </function>
     <function name='xmlSchemaInitTypes' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
@@ -12279,9 +12378,9 @@
     </function>
     <function name='xmlSchemaNewValidCtxt' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
-      <info></info>
-      <return type='xmlSchemaValidCtxtPtr' info=''/>
-      <arg name='schema' type='xmlSchemaPtr' info=''/>
+      <info>Create an XML Schemas validation context based on the given schema</info>
+      <return type='xmlSchemaValidCtxtPtr' info='the validation context or NULL in case of error'/>
+      <arg name='schema' type='xmlSchemaPtr' info='a precompiled XML Schemas'/>
     </function>
     <function name='xmlSchemaParse' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
@@ -12300,12 +12399,19 @@
     </function>
     <function name='xmlSchemaSetValidErrors' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Set the error and warning callback informations</info>
+      <return type='void'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
+      <arg name='err' type='xmlSchemaValidityErrorFunc' info='the error function'/>
+      <arg name='warn' type='xmlSchemaValidityWarningFunc' info='the warning function'/>
+      <arg name='ctx' type='void *' info='the functions context'/>
+    </function>
+    <function name='xmlSchemaSetValidOptions' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info></info>
-      <return type='void'/>
+      <return type='int' info=''/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info=''/>
-      <arg name='err' type='xmlSchemaValidityErrorFunc' info=''/>
-      <arg name='warn' type='xmlSchemaValidityWarningFunc' info=''/>
-      <arg name='ctx' type='void *' info=''/>
+      <arg name='options' type='int' info=''/>
     </function>
     <function name='xmlSchemaValPredefTypeNode' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
@@ -12325,13 +12431,19 @@
       <arg name='val' type='xmlSchemaValPtr *' info='the return computed value'/>
       <arg name='node' type='xmlNodePtr' info='the node containing the value'/>
     </function>
-    <function name='xmlSchemaValidateDoc' file='xmlschemas'>
+    <function name='xmlSchemaValidCtxtGetOptions' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info></info>
       <return type='int' info=''/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info=''/>
-      <arg name='instance' type='xmlDocPtr' info=''/>
     </function>
+    <function name='xmlSchemaValidateDoc' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Validate a document tree in memory.</info>
+      <return type='int' info='0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
+      <arg name='doc' type='xmlDocPtr' info='a parsed document tree'/>
+    </function>
     <function name='xmlSchemaValidateFacet' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Check a value against a facet condition</info>
@@ -12360,6 +12472,13 @@
       <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='xmlSchemaValidateOneElement' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Validate a branch of a tree, starting with the given @elem.</info>
+      <return type='int' info='0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
+      <arg name='elem' type='xmlNodePtr' info='an element node'/>
+    </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>
@@ -12370,13 +12489,13 @@
     </function>
     <function name='xmlSchemaValidateStream' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
-      <info></info>
-      <return type='int' info=''/>
-      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info=''/>
-      <arg name='input' type='xmlParserInputBufferPtr' info=''/>
-      <arg name='enc' type='xmlCharEncoding' info=''/>
-      <arg name='sax' type='xmlSAXHandlerPtr' info=''/>
-      <arg name='user_data' type='void *' info=''/>
+      <info>Validate a document tree in memory.</info>
+      <return type='int' info='0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
+      <arg name='input' type='xmlParserInputBufferPtr' info='the input to use for reading the data'/>
+      <arg name='enc' type='xmlCharEncoding' info='an optional encoding information'/>
+      <arg name='sax' type='xmlSAXHandlerPtr' info='a SAX handler for the resulting events'/>
+      <arg name='user_data' type='void *' info='the context to provide to the SAX handler.'/>
     </function>
     <functype name='xmlSchemaValidityErrorFunc' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>

Modified: packages/libxml2/trunk/doc/libxml2.xsa
===================================================================
--- packages/libxml2/trunk/doc/libxml2.xsa	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/libxml2.xsa	2004-10-13 10:26:58 UTC (rev 274)
@@ -8,34 +8,19 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>2.6.12</version>
-    <last-release> Aug 22 2004</last-release>
+    <version>2.6.13</version>
+    <last-release> Aug 31 2004</last-release>
     <info-url>http://xmlsoft.org/</info-url>
-    <changes>   - build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
-    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
-    Chin), some 64bits cleanups.
-   - Python: avoid a warning with 2.3 (William Brack), tab and space mixes
-    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
-    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
-    (Torkel Lyng)
-   - Schemas: a lot of bug fixes and improvements from Kasimier Buchcik
-   - fixes: RVT fixes (William), XPath context resets bug (William), memory
-    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
-    xmlReader state after attribute reading (William), structured error
-    handler (William), XInclude generated xml:base fixup (William), Windows
-    memory reallocation problem (Steve Hay), Out of Memory conditions
-    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
-    htmlReadMemory init (William), a posteriori validation DTD base
-    (William), notations serialization missing, xmlGetNodePath (Dodji),
-    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
-  (William)
-   - improvements: DocBook catalog build scrip (William), xmlcatalog tool
-    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
-    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
-    to not generate start/end nodes, extend xmllint --version to include CVS
-    tag (William)
-   - documentation: web pages fixes, validity API docs fixes (William)
-    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)
+    <changes>   - build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
+    Solaris compiler warning, fixing RPM BuildRequires,
+   - fixes: DTD loading on Windows (Igor), Schemas error reports APIs
+    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
+    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
+    problem (William), Schemas hexbinary empty values, encoding error could
+    genrate a serialization loop.
+   - Improvements: Schemas validity improvements (Kasimier), added --path
+    and --load-trace options to xmllint
+   - documentation: tutorial update (John Fleck)
 
 </changes>
   </product>

Modified: packages/libxml2/trunk/doc/news.html
===================================================================
--- packages/libxml2/trunk/doc/news.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/news.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -12,8 +12,23 @@
   <li>Finishing up <a href="http://www.w3.org/TR/xmlschema-1/">XML
   Schemas</a></li>
 </ul><p>The <a href="ChangeLog.html">change log</a> describes the recents commits
-to the <a href="http://cvs.gnome.org/viewcvs/libxml2/">CVS</a> code base.</p><p>There is the list of public releases:</p><h3>2.6.13: Aug 31 2004</h3><ul><li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
-    Solaris compiler warning, fixing RPM BuildRequires, </li>
+to the <a href="http://cvs.gnome.org/viewcvs/libxml2/">CVS</a> code base.</p><p>There is the list of public releases:</p><h3>2.6.14: Sep 29 2004</h3><ul><li>build fixes: configure paths for xmllint and xsltproc, compilation
+    without HTML parser, compilation warning cleanups (William Brack &amp;
+    Malcolm Tredinnick), VMS makefile update (Craig Berry), </li>
+  <li>bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
+    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
+    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
+    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
+    handling of failed realloc(), out of bound array adressing in Schemas
+    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
+    E20 validation fix (Malcolm), </li>
+  <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
+    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
+    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
+    Tredinnick), Schemas support for xsi:schemaLocation,
+    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)</li>
+</ul><h3>2.6.13: Aug 31 2004</h3><ul><li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
+    Solaris compiler warning, fixing RPM BuildRequires,</li>
   <li>fixes: DTD loading on Windows (Igor), Schemas error reports APIs
     (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
     and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace

Modified: packages/libxml2/trunk/doc/xml.html
===================================================================
--- packages/libxml2/trunk/doc/xml.html	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/doc/xml.html	2004-10-13 10:26:58 UTC (rev 274)
@@ -603,7 +603,8 @@
 href="ftp://xmlsoft.org/">xmlsoft.org</a> server ( <a
 href="http://xmlsoft.org/sources/">HTTP</a>, <a
 href="ftp://xmlsoft.org/">FTP</a> and rsync are available), there is also
-mirrors (<a href="ftp://speakeasy.rpmfind.net/pub/libxml/">Seattle</a>, <a
+mirrors (<a href="ftp://ftp.planetmirror.com/pub/xmlsoft/">Australia</a>( <a
+href="http://xmlsoft.planetmirror.com/">Web</a>), <a
 href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a
 href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as <a
 href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">source archive</a>
@@ -679,10 +680,29 @@
 
 <p>There is the list of public releases:</p>
 
+<h3>2.6.14: Sep 29 2004</h3>
+<ul>
+  <li>build fixes: configure paths for xmllint and xsltproc, compilation
+    without HTML parser, compilation warning cleanups (William Brack &amp;
+    Malcolm Tredinnick), VMS makefile update (Craig Berry), </li>
+  <li>bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
+    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
+    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
+    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
+    handling of failed realloc(), out of bound array adressing in Schemas
+    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
+    E20 validation fix (Malcolm), </li>
+  <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
+    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
+    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
+    Tredinnick), Schemas support for xsi:schemaLocation,
+    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)</li>
+</ul>
+
 <h3>2.6.13: Aug 31 2004</h3>
 <ul>
   <li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
-    Solaris compiler warning, fixing RPM BuildRequires, </li>
+    Solaris compiler warning, fixing RPM BuildRequires,</li>
   <li>fixes: DTD loading on Windows (Igor), Schemas error reports APIs
     (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
     and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace

Modified: packages/libxml2/trunk/encoding.c
===================================================================
--- packages/libxml2/trunk/encoding.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/encoding.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -2132,7 +2132,7 @@
 	 */
         if (in->end - in->cur > 0) {
 	    static unsigned char convbuf[32000];
-	    unsigned const char *cur = (unsigned const char *)in->cur;
+	    const unsigned char *cur = (const unsigned char *)in->cur;
 	    int toconv = in->end - in->cur, written = 32000;
 
 	    int ret;
@@ -2230,7 +2230,7 @@
                 return(-2);
             }
             c = *in++;
-            if ((c & 0xC0) != 0xC0) {
+            if ((c & 0xC0) != 0x80) {
                 /* not a trailing byte */
                 *outlen = out - outstart;
                 *inlen = in - instart - 2;
@@ -2256,14 +2256,14 @@
                 return(-2);
             }
             c1 = *in++;
-            if ((c1 & 0xC0) != 0xC0) {
+            if ((c1 & 0xC0) != 0x80) {
                 /* not a trailing byte (c1) */
                 *outlen = out - outstart;
                 *inlen = in - instart - 2;
                 return(-2);
             }
             c2 = *in++;
-            if ((c2 & 0xC0) != 0xC0) {
+            if ((c2 & 0xC0) != 0x80) {
                 /* not a trailing byte (c2) */
                 *outlen = out - outstart;
                 *inlen = in - instart - 2;
@@ -2271,8 +2271,9 @@
             }
             c1 = c1 & 0x3F; 
             c2 = c2 & 0x3F; 
-            d = d & 0x0F;
-            d = xlattable [48 + c2 + xlattable [48 + c1 + xlattable [32 + d] * 64] * 64];
+	    d = d & 0x0F;
+	    d = xlattable [48 + c2 + xlattable [48 + c1 + 
+	    		xlattable [32 + d] * 64] * 64];
             if (d == 0) {
                 /* not in character set */
                 *outlen = out - outstart;

Modified: packages/libxml2/trunk/example/Makefile.in
===================================================================
--- packages/libxml2/trunk/example/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/example/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -217,6 +217,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -224,6 +225,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/trunk/include/Makefile.in
===================================================================
--- packages/libxml2/trunk/include/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -203,6 +203,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -210,6 +211,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/trunk/include/libxml/Makefile.in
===================================================================
--- packages/libxml2/trunk/include/libxml/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -201,6 +201,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -208,6 +209,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/trunk/include/libxml/nanohttp.h
===================================================================
--- packages/libxml2/trunk/include/libxml/nanohttp.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/nanohttp.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -56,6 +56,8 @@
 	xmlNanoHTTPAuthHeader	(void *ctx);
 XMLPUBFUN const char * XMLCALL
 	xmlNanoHTTPRedir	(void *ctx);
+XMLPUBFUN int XMLCALL
+	xmlNanoHTTPContentLength( void * ctx );
 XMLPUBFUN const char * XMLCALL
 	xmlNanoHTTPEncoding	(void *ctx);
 XMLPUBFUN const char * XMLCALL

Modified: packages/libxml2/trunk/include/libxml/schemasInternals.h
===================================================================
--- packages/libxml2/trunk/include/libxml/schemasInternals.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/schemasInternals.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -44,15 +44,15 @@
     XML_SCHEMAS_TOKEN,
     XML_SCHEMAS_LANGUAGE,
     XML_SCHEMAS_NMTOKEN,
-    XML_SCHEMAS_NMTOKENS, 
+    XML_SCHEMAS_NMTOKENS,
     XML_SCHEMAS_NAME,
     XML_SCHEMAS_QNAME,
     XML_SCHEMAS_NCNAME,
     XML_SCHEMAS_ID,
     XML_SCHEMAS_IDREF,
-    XML_SCHEMAS_IDREFS, 
+    XML_SCHEMAS_IDREFS,
     XML_SCHEMAS_ENTITY,
-    XML_SCHEMAS_ENTITIES, 
+    XML_SCHEMAS_ENTITIES,
     XML_SCHEMAS_NOTATION,
     XML_SCHEMAS_ANYURI,
     XML_SCHEMAS_INTEGER,
@@ -71,7 +71,7 @@
     XML_SCHEMAS_HEXBINARY,
     XML_SCHEMAS_BASE64BINARY,
     XML_SCHEMAS_ANYTYPE,
-    XML_SCHEMAS_ANYSIMPLETYPE   
+    XML_SCHEMAS_ANYSIMPLETYPE
 } xmlSchemaValType;
 
 /*
@@ -149,25 +149,25 @@
  * Skip unknown attribute from validation
  * Obsolete, not used anymore.
  */
-#define XML_SCHEMAS_ANYATTR_SKIP	1
+#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
+#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
+#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
 /**
@@ -214,20 +214,20 @@
  *
  * allow elements in no namespace
  */
-#define XML_SCHEMAS_ATTR_NSDEFAULT	1 << 7
+#define XML_SCHEMAS_ATTR_NSDEFAULT        1 << 7
 /**
- * XML_SCHEMAS_ATTR_NSDEFAULT:
+ * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
  *
- * this is set when the "type" and "ref" references 
+ * this is set when the "type" and "ref" references
  * have been resolved.
  */
-#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED	1 << 8
+#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED        1 << 8
 /**
  * XML_SCHEMAS_ATTR_FIXED:
  *
  * the attribute has a fixed value
  */
-#define XML_SCHEMAS_ATTR_FIXED	1 << 9
+#define XML_SCHEMAS_ATTR_FIXED        1 << 9
 
 /**
  * xmlSchemaAttribute:
@@ -237,8 +237,8 @@
 typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
 typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
 struct _xmlSchemaAttribute {
-    xmlSchemaTypeType type;	/* The kind of type */
-    struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */ 
+    xmlSchemaTypeType type;        /* The kind of type */
+    struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
     const xmlChar *name; /* name of the declaration or empty if particle */
     const xmlChar *id;
     const xmlChar *ref; /* the local name of the attribute decl. if a particle */
@@ -252,9 +252,11 @@
     const xmlChar *defValue;
     xmlSchemaTypePtr subtypes; /* the type definition */
     xmlNodePtr node;
-    const xmlChar *targetNamespace; 
+    const xmlChar *targetNamespace;
     int flags;
     const xmlChar *refPrefix;
+    xmlSchemaValPtr defVal;
+    xmlSchemaAttributePtr refDecl;
 };
 
 /**
@@ -318,6 +320,12 @@
  * The attribute wildcard has been already builded.
  */
 #define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
+/**
+ * XML_SCHEMAS_ATTRGROUP_MARKED:
+ *
+ * Marks the attr group as marked; used for circular checks.
+ */
+#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
 
 /**
  * An attribute group definition.
@@ -328,7 +336,7 @@
 typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
 typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
 struct _xmlSchemaAttributeGroup {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
     const xmlChar *name;
     const xmlChar *id;
@@ -341,6 +349,7 @@
     int flags;
     xmlSchemaWildcardPtr attributeWildcard;
     const xmlChar *refPrefix;
+    xmlSchemaAttributeGroupPtr refItem; /* The referenced attribute group */
 };
 
 /**
@@ -371,7 +380,7 @@
  *
  * the element content type is mixed
  */
-#define XML_SCHEMAS_TYPE_MIXED		1 << 0
+#define XML_SCHEMAS_TYPE_MIXED                1 << 0
 /**
  * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
  *
@@ -457,6 +466,37 @@
  * the simpleType has a final of "union".
  */
 #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
+/**
+ * XML_SCHEMAS_TYPE_MARKED
+ *
+ * Marks the item as marked; used for circular checks.
+ */
+#define XML_SCHEMAS_TYPE_MARKED        1 << 16
+/**
+ * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
+ *
+ * the complexType did not specify 'block' so use the default of the
+ * <schema> item.
+ */
+#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT    1 << 17
+/**
+ * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
+ *
+ * the complexType has a 'block' of "extension".
+ */
+#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION    1 << 18
+/**
+ * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
+ *
+ * the complexType has a 'block' of "restriction".
+ */
+#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION    1 << 19
+/**
+ * XML_SCHEMAS_TYPE_ABSTRACT:
+ *
+ * the simple/complexType is abstract.
+ */
+#define XML_SCHEMAS_TYPE_ABSTRACT    1 << 20
 
 /**
  * _xmlSchemaType:
@@ -464,7 +504,7 @@
  * Schemas type definition.
  */
 struct _xmlSchemaType {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaType *next;/* the next type if in a sequence ... */
     const xmlChar *name;
     const xmlChar *id;
@@ -481,7 +521,7 @@
     xmlSchemaContentType contentType;
     const xmlChar *base;
     const xmlChar *baseNs;
-    xmlSchemaTypePtr baseType; 
+    xmlSchemaTypePtr baseType;
     xmlSchemaFacetPtr facets;
     struct _xmlSchemaType *redef;/* possible redefinitions for the type */
     int recurse;
@@ -492,6 +532,7 @@
     xmlSchemaFacetLinkPtr facetSet;
     const xmlChar *refPrefix;
     xmlSchemaTypePtr contentTypeDef;
+    xmlRegexpPtr contModel;
 };
 
 /*
@@ -506,112 +547,112 @@
  *
  * the element is nillable
  */
-#define XML_SCHEMAS_ELEM_NILLABLE	1 << 0
+#define XML_SCHEMAS_ELEM_NILLABLE        1 << 0
 /**
  * XML_SCHEMAS_ELEM_GLOBAL:
  *
  * the element is global
  */
-#define XML_SCHEMAS_ELEM_GLOBAL		1 << 1
+#define XML_SCHEMAS_ELEM_GLOBAL                1 << 1
 /**
  * XML_SCHEMAS_ELEM_DEFAULT:
  *
  * the element has a default value
  */
-#define XML_SCHEMAS_ELEM_DEFAULT	1 << 2
+#define XML_SCHEMAS_ELEM_DEFAULT        1 << 2
 /**
  * XML_SCHEMAS_ELEM_FIXED:
  *
  * the element has a fixed value
  */
-#define XML_SCHEMAS_ELEM_FIXED		1 << 3
+#define XML_SCHEMAS_ELEM_FIXED                1 << 3
 /**
  * XML_SCHEMAS_ELEM_ABSTRACT:
  *
  * the element is abstract
  */
-#define XML_SCHEMAS_ELEM_ABSTRACT	1 << 4
+#define XML_SCHEMAS_ELEM_ABSTRACT        1 << 4
 /**
  * XML_SCHEMAS_ELEM_TOPLEVEL:
  *
  * the element is top level
  * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
  */
-#define XML_SCHEMAS_ELEM_TOPLEVEL	1 << 5
+#define XML_SCHEMAS_ELEM_TOPLEVEL        1 << 5
 /**
  * XML_SCHEMAS_ELEM_REF:
  *
  * the element is a reference to a type
  */
-#define XML_SCHEMAS_ELEM_REF		1 << 6
+#define XML_SCHEMAS_ELEM_REF                1 << 6
 /**
  * XML_SCHEMAS_ELEM_NSDEFAULT:
  *
  * allow elements in no namespace
  * Obsolete, not used anymore.
  */
-#define XML_SCHEMAS_ELEM_NSDEFAULT	1 << 7
+#define XML_SCHEMAS_ELEM_NSDEFAULT        1 << 7
 /**
  * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED
  *
  * this is set when "type", "ref", "substitutionGroup"
  * references have been resolved.
  */
-#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED	1 << 8
+#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED        1 << 8
  /**
  * XML_SCHEMAS_ELEM_CIRCULAR
  *
  * a helper flag for the search of circular references.
  */
-#define XML_SCHEMAS_ELEM_CIRCULAR	1 << 9
+#define XML_SCHEMAS_ELEM_CIRCULAR        1 << 9
 /**
  * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
  *
  * the "block" attribute is absent
  */
-#define XML_SCHEMAS_ELEM_BLOCK_ABSENT	1 << 10
+#define XML_SCHEMAS_ELEM_BLOCK_ABSENT        1 << 10
 /**
  * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
  *
  * disallowed substitutions are absent
  */
-#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION	1 << 11
+#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION        1 << 11
 /**
  * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
  *
  * disallowed substitutions: "restriction"
  */
-#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION	1 << 12
+#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION        1 << 12
 /**
  * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
  *
  * disallowed substitutions: "substituion"
  */
-#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION	1 << 13
+#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION        1 << 13
 /**
  * XML_SCHEMAS_ELEM_FINAL_ABSENT:
  *
  * substitution group exclusions are absent
  */
-#define XML_SCHEMAS_ELEM_FINAL_ABSENT	1 << 14
+#define XML_SCHEMAS_ELEM_FINAL_ABSENT        1 << 14
 /**
  * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
  *
  * substitution group exclusions: "extension"
  */
-#define XML_SCHEMAS_ELEM_FINAL_EXTENSION	1 << 15
+#define XML_SCHEMAS_ELEM_FINAL_EXTENSION        1 << 15
 /**
  * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
  *
  * substitution group exclusions: "restriction"
  */
-#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION	1 << 16
+#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION        1 << 16
 
 
 typedef struct _xmlSchemaElement xmlSchemaElement;
 typedef xmlSchemaElement *xmlSchemaElementPtr;
 struct _xmlSchemaElement {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaType *next;/* the next type if in a sequence ... */
     const xmlChar *name;
     const xmlChar *id;
@@ -636,6 +677,7 @@
     xmlRegexpPtr contModel;
     xmlSchemaContentType contentType;
     const xmlChar *refPrefix;
+    xmlSchemaValPtr defVal;
 };
 
 /*
@@ -643,30 +685,30 @@
  *
  * unknown facet handling
  */
-#define XML_SCHEMAS_FACET_UNKNOWN	0
+#define XML_SCHEMAS_FACET_UNKNOWN        0
 /*
  * XML_SCHEMAS_FACET_PRESERVE:
  *
  * preserve the type of the facet
  */
-#define XML_SCHEMAS_FACET_PRESERVE	1
+#define XML_SCHEMAS_FACET_PRESERVE        1
 /*
  * XML_SCHEMAS_FACET_REPLACE:
  *
  * replace the type of the facet
  */
-#define XML_SCHEMAS_FACET_REPLACE	2
+#define XML_SCHEMAS_FACET_REPLACE        2
 /*
  * XML_SCHEMAS_FACET_COLLAPSE:
  *
  * collapse the types of the facet
  */
-#define XML_SCHEMAS_FACET_COLLAPSE	3
+#define XML_SCHEMAS_FACET_COLLAPSE        3
 /**
  * A facet definition.
  */
 struct _xmlSchemaFacet {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
     const xmlChar *value;
     const xmlChar *id;
@@ -684,7 +726,7 @@
 typedef struct _xmlSchemaNotation xmlSchemaNotation;
 typedef xmlSchemaNotation *xmlSchemaNotationPtr;
 struct _xmlSchemaNotation {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     const xmlChar *name;
     xmlSchemaAnnotPtr annot;
     const xmlChar *identifier;
@@ -695,62 +737,62 @@
  *
  * the schema requires qualified elements
  */
-#define XML_SCHEMAS_QUALIF_ELEM		1 << 0
+#define XML_SCHEMAS_QUALIF_ELEM                1 << 0
 /**
  * XML_SCHEMAS_QUALIF_ATTR:
  *
  * the schema requires qualified attributes
  */
-#define XML_SCHEMAS_QUALIF_ATTR	    1 << 1
+#define XML_SCHEMAS_QUALIF_ATTR            1 << 1
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
  *
  * the schema has "extension" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION	1 << 2
+#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION        1 << 2
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
  *
  * the schema has "restriction" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION	    1 << 3
+#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION            1 << 3
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_LIST:
  *
  * the cshema has "list" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_LIST	    1 << 4
+#define XML_SCHEMAS_FINAL_DEFAULT_LIST            1 << 4
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_UNION:
  *
  * the schema has "union" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_UNION	    1 << 5
+#define XML_SCHEMAS_FINAL_DEFAULT_UNION            1 << 5
 /**
  * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
  *
  * the schema has "extension" in the set of blockDefault.
  */
-#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION	    1 << 6
+#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION            1 << 6
 /**
  * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
  *
  * the schema has "restriction" in the set of blockDefault.
  */
-#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION	    1 << 7
+#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION            1 << 7
 /**
  * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
  *
  * the schema has "substitution" in the set of blockDefault.
  */
-#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION	    1 << 8
+#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION            1 << 8
 /**
  * XML_SCHEMAS_INCLUDING_CONVERT_NS:
  *
  * the schema is currently including an other schema with
  * no target namespace.
  */
-#define XML_SCHEMAS_INCLUDING_CONVERT_NS	    1 << 9
+#define XML_SCHEMAS_INCLUDING_CONVERT_NS            1 << 9
 /**
  * _xmlSchema:
  *
@@ -773,15 +815,16 @@
 
     xmlHashTablePtr schemasImports;
 
-    void *_private;	/* unused by the library for users or bindings */
+    void *_private;        /* unused by the library for users or bindings */
     xmlHashTablePtr groupDecl;
     xmlDictPtr      dict;
     void *includes;     /* the includes, this is opaque for now */
-    int preserve;	/* whether to free the document */
+    int preserve;        /* whether to free the document */
+    int counter; /* used to give ononymous components unique names */
 };
 
-XMLPUBFUN void XMLCALL 	xmlSchemaFreeType	(xmlSchemaTypePtr type);
-XMLPUBFUN void XMLCALL 	xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
+XMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);
+XMLPUBFUN void XMLCALL         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
 
 #ifdef __cplusplus
 }
@@ -789,4 +832,3 @@
 
 #endif /* LIBXML_SCHEMAS_ENABLED */
 #endif /* __XML_SCHEMA_INTERNALS_H__ */
-

Modified: packages/libxml2/trunk/include/libxml/xmlautomata.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlautomata.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/xmlautomata.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -73,6 +73,15 @@
 						 int max,
 						 void *data);
 XMLPUBFUN xmlAutomataStatePtr XMLCALL	
+		    xmlAutomataNewCountTrans2	(xmlAutomataPtr am,
+						 xmlAutomataStatePtr from,
+						 xmlAutomataStatePtr to,
+						 const xmlChar *token,
+						 const xmlChar *token2,
+						 int min,
+						 int max,
+						 void *data);
+XMLPUBFUN xmlAutomataStatePtr XMLCALL	
 		    xmlAutomataNewOnceTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
@@ -80,6 +89,15 @@
 						 int min,
 						 int max,
 						 void *data);
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
+		    xmlAutomataNewOnceTrans2	(xmlAutomataPtr am, 
+						 xmlAutomataStatePtr from,
+						 xmlAutomataStatePtr to, 
+						 const xmlChar *token,
+						 const xmlChar *token2,
+						 int min, 
+						 int max, 
+						 void *data);
 XMLPUBFUN xmlAutomataStatePtr XMLCALL	
 		    xmlAutomataNewAllTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,

Modified: packages/libxml2/trunk/include/libxml/xmlerror.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlerror.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/xmlerror.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -530,122 +530,126 @@
     XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */
     XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */
     XML_SCHEMAP_REGEXP_INVALID, /* 1756 */
-    XML_SCHEMAP_FAILED_LOAD, /* 1756 */
-    XML_SCHEMAP_NOTHING_TO_PARSE, /* 1757 */
-    XML_SCHEMAP_NOROOT, /* 1758 */
-    XML_SCHEMAP_REDEFINED_GROUP, /* 1759 */
-    XML_SCHEMAP_REDEFINED_TYPE, /* 1760 */
-    XML_SCHEMAP_REDEFINED_ELEMENT, /* 1761 */
-    XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1762 */
-    XML_SCHEMAP_REDEFINED_ATTR, /* 1763 */
-    XML_SCHEMAP_REDEFINED_NOTATION, /* 1764 */
-    XML_SCHEMAP_FAILED_PARSE, /* 1765 */
-    XML_SCHEMAP_UNKNOWN_PREFIX, /* 1766 */
-    XML_SCHEMAP_DEF_AND_PREFIX, /* 1767 */
-    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1768 */
-    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1769 */
-    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1770 */
-    XML_SCHEMAP_NOT_SCHEMA, /* 1771 */
-    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1772 */
-    XML_SCHEMAP_INVALID_ATTR_USE, /* 1773 */
-    XML_SCHEMAP_RECURSIVE, /* 1774 */
-    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1775 */
-    XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1776 */
-    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1777 */
-    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1778 */
-    XML_SCHEMAP_INVALID_ATTR_NAME, /* 1779 */
-    XML_SCHEMAP_REF_AND_CONTENT, /* 1780 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1781 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1782 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1783 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1784 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1785 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1786 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1787 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1788 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1789 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1790 */
-    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1791 */
-    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1792 */
-    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1793 */
-    XML_SCHEMAP_SRC_IMPORT_3_1, /* 1794 */
-    XML_SCHEMAP_SRC_IMPORT_3_2, /* 1795 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1796 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1797 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1798 */
-    XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1799 */
-    XML_SCHEMAV_NOROOT = 1800,
-    XML_SCHEMAV_UNDECLAREDELEM, /* 1801 */
-    XML_SCHEMAV_NOTTOPLEVEL, /* 1802 */
-    XML_SCHEMAV_MISSING, /* 1803 */
-    XML_SCHEMAV_WRONGELEM, /* 1804 */
-    XML_SCHEMAV_NOTYPE, /* 1805 */
-    XML_SCHEMAV_NOROLLBACK, /* 1806 */
-    XML_SCHEMAV_ISABSTRACT, /* 1807 */
-    XML_SCHEMAV_NOTEMPTY, /* 1808 */
-    XML_SCHEMAV_ELEMCONT, /* 1809 */
-    XML_SCHEMAV_HAVEDEFAULT, /* 1810 */
-    XML_SCHEMAV_NOTNILLABLE, /* 1811 */
-    XML_SCHEMAV_EXTRACONTENT, /* 1812 */
-    XML_SCHEMAV_INVALIDATTR, /* 1813 */
-    XML_SCHEMAV_INVALIDELEM, /* 1814 */
-    XML_SCHEMAV_NOTDETERMINIST, /* 1815 */
-    XML_SCHEMAV_CONSTRUCT, /* 1816 */
-    XML_SCHEMAV_INTERNAL, /* 1817 */
-    XML_SCHEMAV_NOTSIMPLE, /* 1818 */
-    XML_SCHEMAV_ATTRUNKNOWN, /* 1819 */
-    XML_SCHEMAV_ATTRINVALID, /* 1820 */
-    XML_SCHEMAV_VALUE, /* 1821 */
-    XML_SCHEMAV_FACET, /* 1822 */
-    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_SCHEMAV_CVC_ELT_1, /* 1844 */
-    XML_SCHEMAV_CVC_ELT_2, /* 1845 */
-    XML_SCHEMAV_CVC_ELT_3_1,
-    XML_SCHEMAV_CVC_ELT_3_2_1,
-    XML_SCHEMAV_CVC_ELT_3_2_2,
-    XML_SCHEMAV_CVC_ELT_4_1,
-    XML_SCHEMAV_CVC_ELT_4_2,
-    XML_SCHEMAV_CVC_ELT_4_3,
-    XML_SCHEMAV_CVC_ELT_5_1_1,
-    XML_SCHEMAV_CVC_ELT_5_1_2,
-    XML_SCHEMAV_CVC_ELT_5_2_1,  
-    XML_SCHEMAV_CVC_ELT_5_2_2_1,
-    XML_SCHEMAV_CVC_ELT_5_2_2_2_1,
-    XML_SCHEMAV_CVC_ELT_5_2_2_2_2,
-    XML_SCHEMAV_CVC_ELT_6,
-    XML_SCHEMAV_CVC_ELT_7,
-    XML_SCHEMAV_CVC_ATTRIBUTE_1,
-    XML_SCHEMAV_CVC_ATTRIBUTE_2,
-    XML_SCHEMAV_CVC_ATTRIBUTE_3,
-    XML_SCHEMAV_CVC_ATTRIBUTE_4,
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1,
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1,
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2,
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_4,
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1,
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2,
-    XML_SCHEMAV_ELEMENT_CONTENT, /* 1846 non-W3C */
-    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* non-W3C */
+    XML_SCHEMAP_FAILED_LOAD, /* 1757 */
+    XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */
+    XML_SCHEMAP_NOROOT, /* 1759 */
+    XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */
+    XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */
+    XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */
+    XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */
+    XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */
+    XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */
+    XML_SCHEMAP_FAILED_PARSE, /* 1766 */
+    XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */
+    XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */
+    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */
+    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */
+    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */
+    XML_SCHEMAP_NOT_SCHEMA, /* 1772 */
+    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */
+    XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */
+    XML_SCHEMAP_RECURSIVE, /* 1775 */
+    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */
+    XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */
+    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */
+    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */
+    XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */
+    XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */
+    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */
+    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */
+    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */
+    XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */
+    XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */
+    XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */
+    XML_SCHEMAV_NOROOT = 1801,
+    XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */
+    XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */
+    XML_SCHEMAV_MISSING, /* 1804 */
+    XML_SCHEMAV_WRONGELEM, /* 1805 */
+    XML_SCHEMAV_NOTYPE, /* 1806 */
+    XML_SCHEMAV_NOROLLBACK, /* 1807 */
+    XML_SCHEMAV_ISABSTRACT, /* 1808 */
+    XML_SCHEMAV_NOTEMPTY, /* 1809 */
+    XML_SCHEMAV_ELEMCONT, /* 1810 */
+    XML_SCHEMAV_HAVEDEFAULT, /* 1811 */
+    XML_SCHEMAV_NOTNILLABLE, /* 1812 */
+    XML_SCHEMAV_EXTRACONTENT, /* 1813 */
+    XML_SCHEMAV_INVALIDATTR, /* 1814 */
+    XML_SCHEMAV_INVALIDELEM, /* 1815 */
+    XML_SCHEMAV_NOTDETERMINIST, /* 1816 */
+    XML_SCHEMAV_CONSTRUCT, /* 1817 */
+    XML_SCHEMAV_INTERNAL, /* 1818 */
+    XML_SCHEMAV_NOTSIMPLE, /* 1819 */
+    XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */
+    XML_SCHEMAV_ATTRINVALID, /* 1821 */
+    XML_SCHEMAV_VALUE, /* 1822 */
+    XML_SCHEMAV_FACET, /* 1823 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */
+    XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */
+    XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */
+    XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */
+    XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */
+    XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */
+    XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */
+    XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */
+    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */
+    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */
+    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */
+    XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */
+    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */
+    XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */
+    XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */
+    XML_SCHEMAV_CVC_ELT_1, /* 1845 */
+    XML_SCHEMAV_CVC_ELT_2, /* 1846 */
+    XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */
+    XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */
+    XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */
+    XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */
+    XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */
+    XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */
+    XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */
+    XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */
+    XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */  
+    XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */
+    XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */
+    XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */
+    XML_SCHEMAV_CVC_ELT_6, /* 1859 */
+    XML_SCHEMAV_CVC_ELT_7, /* 1860 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */
+    XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */
+    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */
+    XML_SCHEMAV_CVC_AU, /* 1874 */
+    XML_SCHEMAV_CVC_TYPE_1, /* 1875 */
+    XML_SCHEMAV_CVC_TYPE_2, /* 1876 */
     XML_XPTR_UNKNOWN_SCHEME = 1900, 
     XML_XPTR_CHILDSEQ_START, /* 1901 */
     XML_XPTR_EVAL_FAILED, /* 1902 */
@@ -718,19 +722,28 @@
     XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */
     XML_SCHEMAP_NO_XMLNS, /* 3056 */
     XML_SCHEMAP_NO_XSI, /* 3057 */      
-    XML_SCHEMAP_COS_VALID_DEFAULT_1,
-    XML_SCHEMAP_COS_VALID_DEFAULT_2_1,
-    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1,
-    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2,
-    XML_SCHEMAP_CVC_SIMPLE_TYPE,
-    XML_SCHEMAP_COS_CT_EXTENDS_1_1,
-    XML_SCHEMAP_SRC_IMPORT_1_1,
-    XML_SCHEMAP_SRC_IMPORT_1_2,
-    XML_SCHEMAP_SRC_IMPORT_2,
-    XML_SCHEMAP_SRC_IMPORT_2_1,
-    XML_SCHEMAP_SRC_IMPORT_2_2,
-    XML_SCHEMAP_INTERNAL, /* non-W3C */
-    XML_SCHEMAP_NOT_DETERMINISTIC /* non-W3C */
+    XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */
+    XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */
+    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */
+    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */
+    XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */
+    XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */
+    XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */
+    XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */
+    XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */
+    XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */
+    XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */
+    XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */
+    XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */
+    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */
+    XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */
+    XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */
+    XML_SCHEMAP_SRC_CT_1, /* 3076 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */
+    XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */
+    XML_SCHEMAP_A_PROPS_CORRECT_2
 } xmlParserErrors;
 
 /**

Modified: packages/libxml2/trunk/include/libxml/xmlschemas.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlschemas.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/xmlschemas.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -54,7 +54,30 @@
     XML_SCHEMAS_ERR_XXX
 } xmlSchemaValidError;
 
+/*
+* ATTENTION: Change xmlSchemaSetValidOptions's check
+* for invalid values, if adding to the validation 
+* options below.
+*/
+/**
+ * xmlSchemaValidOption:
+ *
+ * This is the set of XML Schema validation options.
+ */
+typedef enum {
+    XML_SCHEMA_VAL_VC_I_CREATE			= 1<<0
+	/* Default/fixed: create an attribute node
+	* or an element's text node on the instance.
+	*/
+} xmlSchemaValidOption;
 
+/*
+    XML_SCHEMA_VAL_XSI_ASSEMBLE			= 1<<1,
+	* assemble schemata using
+	* xsi:schemaLocation and
+	* xsi:noNamespaceSchemaLocation
+*/
+
 /**
  * The schemas related types are kept internal
  */
@@ -113,10 +136,15 @@
 					 xmlSchemaValidityWarningFunc warn,
 					 void *ctx);
 XMLPUBFUN int XMLCALL
-		xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt,
-					xmlSchemaValidityErrorFunc *err,
-					xmlSchemaValidityWarningFunc *warn,
-					void **ctx);
+	    xmlSchemaGetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
+					 xmlSchemaValidityErrorFunc *err,
+					 xmlSchemaValidityWarningFunc *warn,
+					 void **ctx);
+XMLPUBFUN int XMLCALL
+	    xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
+					 int options);
+XMLPUBFUN int XMLCALL
+	    xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
 
 XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL	
 	    xmlSchemaNewValidCtxt	(xmlSchemaPtr schema);
@@ -125,6 +153,9 @@
 XMLPUBFUN int XMLCALL			
 	    xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlDocPtr instance);
+XMLPUBFUN int XMLCALL
+            xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
+			                 xmlNodePtr elem);
 XMLPUBFUN int XMLCALL			
 	    xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlParserInputBufferPtr input,

Modified: packages/libxml2/trunk/include/libxml/xmlschemastypes.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlschemastypes.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/xmlschemastypes.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -43,7 +43,7 @@
 		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
 						 xmlSchemaFacetPtr facet,
 						 const xmlChar *value,
-						 xmlSchemaValPtr val);
+						 xmlSchemaValPtr val);	
 XMLPUBFUN void XMLCALL		
 		xmlSchemaFreeValue		(xmlSchemaValPtr val);
 XMLPUBFUN xmlSchemaFacetPtr XMLCALL 

Modified: packages/libxml2/trunk/include/libxml/xmlversion.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlversion.h	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/include/libxml/xmlversion.h	2004-10-13 10:26:58 UTC (rev 274)
@@ -29,28 +29,28 @@
  *
  * the version string like "1.2.3"
  */
-#define LIBXML_DOTTED_VERSION "2.6.13"
+#define LIBXML_DOTTED_VERSION "2.6.14"
 
 /**
  * LIBXML_VERSION:
  *
  * the version number: 1.2.3 value is 1002003
  */
-#define LIBXML_VERSION 20613
+#define LIBXML_VERSION 20614
 
 /**
  * LIBXML_VERSION_STRING:
  *
  * the version number string, 1.2.3 value is "1002003"
  */
-#define LIBXML_VERSION_STRING "20613"
+#define LIBXML_VERSION_STRING "20614"
 
 /**
  * LIBXML_VERSION_EXTRA:
  *
  * extra version information, used to show a CVS compilation
  */
-#define LIBXML_VERSION_EXTRA "-CVS2151"
+#define LIBXML_VERSION_EXTRA "-CVS2183"
 
 /**
  * LIBXML_TEST_VERSION:
@@ -58,7 +58,7 @@
  * Macro to check that the libxml version in use is compatible with
  * the version the software has been compiled against
  */
-#define LIBXML_TEST_VERSION xmlCheckVersion(20613);
+#define LIBXML_TEST_VERSION xmlCheckVersion(20614);
 
 #ifndef VMS
 #if 0

Modified: packages/libxml2/trunk/legacy.c
===================================================================
--- packages/libxml2/trunk/legacy.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/legacy.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -27,6 +27,7 @@
  *									*
  ************************************************************************/
 
+#ifdef LIBXML_HTML_ENABLED
 xmlChar *htmlDecodeEntities(htmlParserCtxtPtr ctxt, int len, xmlChar end,
                             xmlChar end2, xmlChar end3);
 
@@ -60,6 +61,7 @@
     }
     return (NULL);
 }
+#endif
 
 /**
  * xmlInitializePredefinedEntities:

Modified: packages/libxml2/trunk/libxml2.spec
===================================================================
--- packages/libxml2/trunk/libxml2.spec	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/libxml2.spec	2004-10-13 10:26:58 UTC (rev 274)
@@ -1,6 +1,6 @@
 Summary: Library providing XML and HTML support
 Name: libxml2
-Version: 2.6.13
+Version: 2.6.14
 Release: 1
 License: MIT
 Group: Development/Libraries
@@ -159,8 +159,8 @@
 %doc doc/python.html
 
 %changelog
-* Tue Aug 31 2004 Daniel Veillard <veillard at redhat.com>
-- upstream release 2.6.13 see http://xmlsoft.org/news.html
+* Wed Sep 29 2004 Daniel Veillard <veillard at redhat.com>
+- upstream release 2.6.14 see http://xmlsoft.org/news.html
 
 * Thu Jan  2 2003 Daniel Veillard <veillard at redhat.com>
 - integrated drv_libxml2 xml.sax driver from Stéphane Bidoul

Modified: packages/libxml2/trunk/nanohttp.c
===================================================================
--- packages/libxml2/trunk/nanohttp.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/nanohttp.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -159,7 +159,6 @@
 static unsigned int timeout = 60;/* the select() timeout in seconds */
 
 static int xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len );
-int xmlNanoHTTPContentLength( void * ctx );
 
 /**
  * xmlHTTPErrMemory:

Modified: packages/libxml2/trunk/parser.c
===================================================================
--- packages/libxml2/trunk/parser.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/parser.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -645,8 +645,8 @@
     }
 
     /*
-     * plit the element name into prefix:localname , the string found
-     * are within the DTD and hen not associated to namespace names.
+     * split the element name into prefix:localname , the string found
+     * are within the DTD and then not associated to namespace names.
      */
     name = xmlSplitQName3(fullname, &len);
     if (name == NULL) {
@@ -663,17 +663,20 @@
     defaults = xmlHashLookup2(ctxt->attsDefault, name, prefix);
     if (defaults == NULL) {
         defaults = (xmlDefAttrsPtr) xmlMalloc(sizeof(xmlDefAttrs) +
-	                               12 * sizeof(const xmlChar *));
+	                   (4 * 4) * sizeof(const xmlChar *));
 	if (defaults == NULL)
 	    goto mem_error;
+	defaults->nbAttrs = 0;
 	defaults->maxAttrs = 4;
-	defaults->nbAttrs = 0;
 	xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix, defaults, NULL);
     } else if (defaults->nbAttrs >= defaults->maxAttrs) {
-        defaults = (xmlDefAttrsPtr) xmlRealloc(defaults, sizeof(xmlDefAttrs) +
+        xmlDefAttrsPtr temp;
+
+        temp = (xmlDefAttrsPtr) xmlRealloc(defaults, sizeof(xmlDefAttrs) +
 		       (2 * defaults->maxAttrs * 4) * sizeof(const xmlChar *));
-	if (defaults == NULL)
+	if (temp == NULL)
 	    goto mem_error;
+	defaults = temp;
 	defaults->maxAttrs *= 2;
 	xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix, defaults, NULL);
     }
@@ -943,7 +946,7 @@
  *
  * Returns 0 in case of error, the index in the stack otherwise
  */
-extern int
+int
 inputPush(xmlParserCtxtPtr ctxt, xmlParserInputPtr value)
 {
     if (ctxt->inputNr >= ctxt->inputMax) {
@@ -969,7 +972,7 @@
  *
  * Returns the input just removed
  */
-extern xmlParserInputPtr
+xmlParserInputPtr
 inputPop(xmlParserCtxtPtr ctxt)
 {
     xmlParserInputPtr ret;
@@ -994,7 +997,7 @@
  *
  * Returns 0 in case of error, the index in the stack otherwise
  */
-extern int
+int
 nodePush(xmlParserCtxtPtr ctxt, xmlNodePtr value)
 {
     if (ctxt->nodeNr >= ctxt->nodeMax) {
@@ -1027,7 +1030,7 @@
  *
  * Returns the node just removed
  */
-extern xmlNodePtr
+xmlNodePtr
 nodePop(xmlParserCtxtPtr ctxt)
 {
     xmlNodePtr ret;
@@ -1126,7 +1129,7 @@
  *
  * Returns -1 in case of error, the index in the stack otherwise
  */
-extern int
+int
 namePush(xmlParserCtxtPtr ctxt, const xmlChar * value)
 {
     if (ctxt->nameNr >= ctxt->nameMax) {
@@ -1156,7 +1159,7 @@
  *
  * Returns the name just removed
  */
-extern const xmlChar *
+const xmlChar *
 namePop(xmlParserCtxtPtr ctxt)
 {
     const xmlChar *ret;
@@ -2212,13 +2215,17 @@
 	memcpy(buffer, buf, len);
 	while ((c != 0) && (c != ':')) { /* tested bigname.xml */
 	    if (len + 10 > max) {
+	        xmlChar *tmp;
+
 		max *= 2;
-		buffer = (xmlChar *) xmlRealloc(buffer,
+		tmp = (xmlChar *) xmlRealloc(buffer,
 						max * sizeof(xmlChar));
-		if (buffer == NULL) {
+		if (tmp == NULL) {
+		    xmlFree(tmp);
 		    xmlErrMemory(ctxt, NULL);
 		    return(NULL);
 		}
+		buffer = tmp;
 	    }
 	    buffer[len++] = c;
 	    c = *cur++;
@@ -2285,13 +2292,17 @@
 	    memcpy(buffer, buf, len);
 	    while (c != 0) { /* tested bigname2.xml */
 		if (len + 10 > max) {
+		    xmlChar *tmp;
+
 		    max *= 2;
-		    buffer = (xmlChar *) xmlRealloc(buffer,
+		    tmp = (xmlChar *) xmlRealloc(buffer,
 						    max * sizeof(xmlChar));
-		    if (buffer == NULL) {
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buffer);
 			return(NULL);
 		    }
+		    buffer = tmp;
 		}
 		buffer[len++] = c;
 		c = *cur++;
@@ -2331,7 +2342,7 @@
  *
  * [5] Name ::= (Letter | '_' | ':') (NameChar)*
  *
- * [6] Names ::= Name (S Name)*
+ * [6] Names ::= Name (#x20 Name)*
  *
  * Returns the Name parsed or NULL
  */
@@ -2456,7 +2467,7 @@
  *
  * [5] Name ::= (Letter | '_' | ':') (NameChar)*
  *
- * [6] Names ::= Name (S Name)*
+ * [6] Names ::= Name (#x20 Name)*
  *
  * Returns the Name parsed or NULL. The @str pointer 
  * is updated to the current location in the string.
@@ -2504,13 +2515,16 @@
 		   (IS_COMBINING(c)) ||
 		   (IS_EXTENDER(c))) {
 		if (len + 10 > max) {
+		    xmlChar *tmp;
 		    max *= 2;
-		    buffer = (xmlChar *) xmlRealloc(buffer,
+		    tmp = (xmlChar *) xmlRealloc(buffer,
 			                            max * sizeof(xmlChar));
-		    if (buffer == NULL) {
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buffer);
 			return(NULL);
 		    }
+		    buffer = tmp;
 		}
 		COPY_BUF(l,buffer,len,c);
 		cur += l;
@@ -2533,7 +2547,7 @@
  *
  * [7] Nmtoken ::= (NameChar)+
  *
- * [8] Nmtokens ::= Nmtoken (S Nmtoken)*
+ * [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*
  *
  * Returns the Nmtoken parsed or NULL
  */
@@ -2584,13 +2598,17 @@
 		    GROW;
 		}
 		if (len + 10 > max) {
+		    xmlChar *tmp;
+
 		    max *= 2;
-		    buffer = (xmlChar *) xmlRealloc(buffer,
+		    tmp = (xmlChar *) xmlRealloc(buffer,
 			                            max * sizeof(xmlChar));
-		    if (buffer == NULL) {
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buffer);
 			return(NULL);
 		    }
+		    buffer = tmp;
 		}
 		COPY_BUF(l,buffer,len,c);
 		NEXTL(l);
@@ -2662,12 +2680,16 @@
     while ((IS_CHAR(c)) && ((c != stop) || /* checked */
 	   (ctxt->input != input))) {
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
+		xmlFree(buf);
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	COPY_BUF(l,buf,len,c);
 	NEXTL(l);
@@ -3015,13 +3037,17 @@
     cur = CUR_CHAR(l);
     while ((IS_CHAR(cur)) && (cur != stop)) { /* checked */
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
+	        xmlFree(buf);
 		xmlErrMemory(ctxt, NULL);
 		ctxt->instate = (xmlParserInputState) state;
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	count++;
 	if (count > 50) {
@@ -3088,12 +3114,16 @@
     cur = CUR;
     while ((IS_PUBIDCHAR_CH(cur)) && (cur != stop)) { /* checked */
 	if (len + 1 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
+		xmlFree(buf);
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	buf[len++] = cur;
 	count++;
@@ -3702,13 +3732,17 @@
 	    while (IS_CHAR(cur) && /* checked */
 		   ((cur != '?') || (NXT(1) != '>'))) {
 		if (len + 5 >= size) {
+		    xmlChar *tmp;
+
 		    size *= 2;
-		    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-		    if (buf == NULL) {
+		    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buf);
 			ctxt->instate = state;
 			return;
 		    }
+		    buf = tmp;
 		}
 		count++;
 		if (count > 50) {
@@ -7437,6 +7471,7 @@
 	if (!IS_BLANK_CH(RAW)) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "attributes construct error\n");
+	    break;
 	}
 	SKIP_BLANKS;
         if ((cons == ctxt->input->consumed) && (q == CUR_PTR) &&
@@ -7635,8 +7670,7 @@
     }
     SKIP(2);
 
-    if ((tlen > 0) && (strncmp(ctxt->input->cur,
-                               (const char *)ctxt->name, tlen) == 0)) {
+    if ((tlen > 0) && (xmlStrncmp(ctxt->input->cur, ctxt->name, tlen) == 0)) {
         if (ctxt->input->cur[tlen] == '>') {
 	    ctxt->input->cur += tlen + 1;
 	    goto done;
@@ -7741,12 +7775,16 @@
     while (IS_CHAR(cur) &&
            ((r != ']') || (s != ']') || (cur != '>'))) {
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
+	        xmlFree(buf);
 		xmlErrMemory(ctxt, NULL);
 		return;
 	    }
+	    buf = tmp;
 	}
 	COPY_BUF(rl,buf,len,r);
 	r = s;
@@ -8059,12 +8097,15 @@
            (cur == '_') || (cur == '.') ||
 	   (cur == ':') || (cur == '-')) {
 	if (len + 1 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	buf[len++] = cur;
 	NEXT;
@@ -8156,12 +8197,16 @@
 	       (cur == '.') || (cur == '_') ||
 	       (cur == '-')) {
 	    if (len + 1 >= size) {
+	        xmlChar *tmp;
+
 		size *= 2;
-		buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-		if (buf == NULL) {
+		tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+		if (tmp == NULL) {
 		    xmlErrMemory(ctxt, NULL);
+		    xmlFree(buf);
 		    return(NULL);
 		}
+		buf = tmp;
 	    }
 	    buf[len++] = cur;
 	    NEXT;

Modified: packages/libxml2/trunk/python/Makefile.in
===================================================================
--- packages/libxml2/trunk/python/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/python/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -229,6 +229,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -236,6 +237,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/trunk/python/drv_libxml2.py
===================================================================
--- packages/libxml2/trunk/python/drv_libxml2.py	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/python/drv_libxml2.py	2004-10-13 10:26:58 UTC (rev 274)
@@ -38,7 +38,6 @@
 __version__ = "0.3"
 
 import codecs
-import sys
 from types import StringType, UnicodeType
 StringTypes = (StringType,UnicodeType)
 
@@ -100,6 +99,7 @@
         self.__ns = 0
         self.__nspfx = 0
         self.__validate = 0
+        self.__extparams = 1
         # parsing flag
         self.__parsing = 0
         # additional handlers
@@ -142,10 +142,13 @@
                 reader = input.newTextReader(source.getSystemId())
             reader.SetErrorHandler(self._errorHandler,None)
             # configure reader
-            reader.SetParserProp(libxml2.PARSER_LOADDTD,1)
-            reader.SetParserProp(libxml2.PARSER_DEFAULTATTRS,1)
-            reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1)
-            reader.SetParserProp(libxml2.PARSER_VALIDATE,self.__validate)
+            if self.__extparams:
+                reader.SetParserProp(libxml2.PARSER_LOADDTD,1)
+                reader.SetParserProp(libxml2.PARSER_DEFAULTATTRS,1)
+                reader.SetParserProp(libxml2.PARSER_SUBST_ENTITIES,1)
+                reader.SetParserProp(libxml2.PARSER_VALIDATE,self.__validate)
+            else:
+                reader.SetParserProp(libxml2.PARSER_LOADDTD, 0)
             # we reuse attribute maps (for a slight performance gain)
             if self.__ns:
                 attributesNSImpl = xmlreader.AttributesNSImpl({},{})
@@ -316,7 +319,7 @@
         elif name == feature_external_ges:
             return 1 # TODO (does that relate to PARSER_LOADDTD)?
         elif name == feature_external_pes:
-            return 1 # TODO (does that relate to PARSER_LOADDTD)?
+            return self.__extparams
         else:
             raise SAXNotRecognizedException("Feature '%s' not recognized" % \
                                             name)
@@ -337,10 +340,7 @@
                 raise SAXNotSupportedException("Feature '%s' not supported" % \
                                                name)
         elif name == feature_external_pes:
-            if state == 0:
-                # TODO (does that relate to PARSER_LOADDTD)?
-                raise SAXNotSupportedException("Feature '%s' not supported" % \
-                                               name)
+            self.__extparams = state
         else:
             raise SAXNotRecognizedException("Feature '%s' not recognized" % \
                                             name)

Modified: packages/libxml2/trunk/python/libxml.py
===================================================================
--- packages/libxml2/trunk/python/libxml.py	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/python/libxml.py	2004-10-13 10:26:58 UTC (rev 274)
@@ -1,28 +1,31 @@
 import libxml2mod
 import types
 
+# The root of all libxml2 errors.
+class libxmlError(Exception): pass
+
 #
 # Errors raised by the wrappers when some tree handling failed.
 #
-class treeError:
+class treeError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):
         return self.msg
 
-class parserError:
+class parserError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):
         return self.msg
 
-class uriError:
+class uriError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):
         return self.msg
 
-class xpathError:
+class xpathError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):

Modified: packages/libxml2/trunk/python/libxml2-py.c
===================================================================
--- packages/libxml2/trunk/python/libxml2-py.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/python/libxml2-py.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -156,25 +156,6 @@
 }
 
 PyObject *
-libxml_xmlAddSibling(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlNodePtr c_retval;
-    xmlNodePtr cur;
-    PyObject *pyobj_cur;
-    xmlNodePtr elem;
-    PyObject *pyobj_elem;
-
-    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddSibling", &pyobj_cur, &pyobj_elem))
-        return(NULL);
-    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
-    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
-
-    c_retval = xmlAddSibling(cur, elem);
-    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlScanName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlChar * c_retval;
@@ -501,7 +482,26 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaSetValidOptions(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlSchemaValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    int options;
+
+    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlSchemaSetValidOptions", &pyobj_ctxt, &options))
+        return(NULL);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+
+    c_retval = xmlSchemaSetValidOptions(ctxt, options);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlFreeNs(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     xmlNsPtr cur;
     PyObject *pyobj_cur;
@@ -621,6 +621,25 @@
 }
 
 PyObject *
+libxml_xmlAddSibling(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlNodePtr c_retval;
+    xmlNodePtr cur;
+    PyObject *pyobj_cur;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddSibling", &pyobj_cur, &pyobj_elem))
+        return(NULL);
+    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlAddSibling(cur, elem);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlNodeAddContentLen(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     xmlNodePtr cur;
     PyObject *pyobj_cur;
@@ -2623,15 +2642,15 @@
     int c_retval;
     xmlSchemaValidCtxtPtr ctxt;
     PyObject *pyobj_ctxt;
-    xmlDocPtr instance;
-    PyObject *pyobj_instance;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
 
-    if (!PyArg_ParseTuple(args, (char *)"OO:xmlSchemaValidateDoc", &pyobj_ctxt, &pyobj_instance))
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlSchemaValidateDoc", &pyobj_ctxt, &pyobj_doc))
         return(NULL);
     ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
-    instance = (xmlDocPtr) PyxmlNode_Get(pyobj_instance);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
 
-    c_retval = xmlSchemaValidateDoc(ctxt, instance);
+    c_retval = xmlSchemaValidateDoc(ctxt, doc);
     py_retval = libxml_intWrap((int) c_retval);
     return(py_retval);
 }
@@ -2951,7 +2970,28 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaValidateOneElement(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlSchemaValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlSchemaValidateOneElement", &pyobj_ctxt, &pyobj_elem))
+        return(NULL);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlSchemaValidateOneElement(ctxt, elem);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlReadDoc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlDocPtr c_retval;
@@ -3733,6 +3773,25 @@
 }
 
 PyObject *
+libxml_xmlAddChildList(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlNodePtr c_retval;
+    xmlNodePtr parent;
+    PyObject *pyobj_parent;
+    xmlNodePtr cur;
+    PyObject *pyobj_cur;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddChildList", &pyobj_parent, &pyobj_cur))
+        return(NULL);
+    parent = (xmlNodePtr) PyxmlNode_Get(pyobj_parent);
+    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
+
+    c_retval = xmlAddChildList(parent, cur);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlGetNodePath(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlChar * c_retval;
@@ -5309,20 +5368,6 @@
 }
 
 PyObject *
-libxml_xmlUCSIsMusicalSymbols(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    int code;
-
-    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsMusicalSymbols", &code))
-        return(NULL);
-
-    c_retval = xmlUCSIsMusicalSymbols(code);
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlUCSIsCJKCompatibility(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -7896,25 +7941,6 @@
 }
 
 PyObject *
-libxml_xmlAddChildList(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlNodePtr c_retval;
-    xmlNodePtr parent;
-    PyObject *pyobj_parent;
-    xmlNodePtr cur;
-    PyObject *pyobj_cur;
-
-    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddChildList", &pyobj_parent, &pyobj_cur))
-        return(NULL);
-    parent = (xmlNodePtr) PyxmlNode_Get(pyobj_parent);
-    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
-
-    c_retval = xmlAddChildList(parent, cur);
-    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlGetDtdEntity(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlEntityPtr c_retval;
@@ -9543,6 +9569,20 @@
 
 #endif /* LIBXML_HTML_ENABLED */
 PyObject *
+libxml_xmlUCSIsMusicalSymbols(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    int code;
+
+    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsMusicalSymbols", &code))
+        return(NULL);
+
+    c_retval = xmlUCSIsMusicalSymbols(code);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlTextReaderRelaxNGValidate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -10440,6 +10480,24 @@
     return(Py_None);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
+PyObject *
+libxml_xmlSchemaValidCtxtGetOptions(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlSchemaValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaValidCtxtGetOptions", &pyobj_ctxt))
+        return(NULL);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+
+    c_retval = xmlSchemaValidCtxtGetOptions(ctxt);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
 libxml_xmlXPathFloorFunction(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {

Modified: packages/libxml2/trunk/python/setup.py
===================================================================
--- packages/libxml2/trunk/python/setup.py	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/python/setup.py	2004-10-13 10:26:58 UTC (rev 274)
@@ -226,7 +226,7 @@
 setup (name = "libxml2-python",
        # On *nix, the version number is created from setup.py.in
        # On windows, it is set by configure.js
-       version = "2.6.13",
+       version = "2.6.14",
        description = descr,
        author = "Daniel Veillard",
        author_email = "veillard at redhat.com",

Modified: packages/libxml2/trunk/python/tests/Makefile.in
===================================================================
--- packages/libxml2/trunk/python/tests/Makefile.in	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/python/tests/Makefile.in	2004-10-13 10:26:58 UTC (rev 274)
@@ -194,6 +194,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -201,6 +202,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/trunk/relaxng.c
===================================================================
--- packages/libxml2/trunk/relaxng.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/relaxng.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -3964,14 +3964,17 @@
                     return (NULL);
                 }
             } else if (max <= len) {
+	        xmlRelaxNGDefinePtr *temp;
+
                 max *= 2;
-                ret =
-                    xmlRealloc(ret,
+                temp = xmlRealloc(ret,
                                (max + 1) * sizeof(xmlRelaxNGDefinePtr));
-                if (ret == NULL) {
+                if (temp == NULL) {
                     xmlRngPErrMemory(ctxt, "getting element list\n");
+		    xmlFree(ret);
                     return (NULL);
                 }
+		ret = temp;
             }
             ret[len++] = cur;
             ret[len] = NULL;

Copied: packages/libxml2/trunk/result/VC/AttributeNmtokens (from rev 271, packages/libxml2/branches/upstream/current/result/VC/AttributeNmtokens)

Copied: packages/libxml2/trunk/result/schemas/bug152470_1_1 (from rev 271, packages/libxml2/branches/upstream/current/result/schemas/bug152470_1_1)

Copied: packages/libxml2/trunk/result/schemas/bug152470_1_1.err (from rev 271, packages/libxml2/branches/upstream/current/result/schemas/bug152470_1_1.err)

Modified: packages/libxml2/trunk/result/schemas/deter0_0_0.err
===================================================================
--- packages/libxml2/trunk/result/schemas/deter0_0_0.err	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/result/schemas/deter0_0_0.err	2004-10-13 10:26:58 UTC (rev 274)
@@ -1 +1 @@
-./test/schemas/deter0_0.xsd:5: element element: Schemas parser error : Element decl. 'book': The content model is not determinist.
+./test/schemas/deter0_0.xsd:6: element complexType: Schemas parser error : CT local: The content model is not determinist.

Modified: packages/libxml2/trunk/result/schemas/ns0_0_2.err
===================================================================
--- packages/libxml2/trunk/result/schemas/ns0_0_2.err	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/result/schemas/ns0_0_2.err	2004-10-13 10:26:58 UTC (rev 274)
@@ -1,2 +1 @@
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': Global declaration is absent.
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': Global declaration is absent.
+./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': No matching global declaration available.

Modified: packages/libxml2/trunk/result/schemas/ns0_1_2.err
===================================================================
--- packages/libxml2/trunk/result/schemas/ns0_1_2.err	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/result/schemas/ns0_1_2.err	2004-10-13 10:26:58 UTC (rev 274)
@@ -1,2 +1 @@
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': Global declaration is absent.
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': Global declaration is absent.
+./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': No matching global declaration available.

Copied: packages/libxml2/trunk/test/VC/AttributeNmtokens (from rev 271, packages/libxml2/branches/upstream/current/test/VC/AttributeNmtokens)

Copied: packages/libxml2/trunk/test/VCM/AttributeNmtokens.xml (from rev 271, packages/libxml2/branches/upstream/current/test/VCM/AttributeNmtokens.xml)

Copied: packages/libxml2/trunk/test/schemas/bug152470_1.xml (from rev 271, packages/libxml2/branches/upstream/current/test/schemas/bug152470_1.xml)


Property changes on: packages/libxml2/trunk/test/schemas/bug152470_1.xml
___________________________________________________________________
Name: svn:executable
   + *

Copied: packages/libxml2/trunk/test/schemas/bug152470_1.xsd (from rev 271, packages/libxml2/branches/upstream/current/test/schemas/bug152470_1.xsd)


Property changes on: packages/libxml2/trunk/test/schemas/bug152470_1.xsd
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libxml2/trunk/threads.c
===================================================================
--- packages/libxml2/trunk/threads.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/threads.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -369,6 +369,8 @@
 static void
 xmlFreeGlobalState(void *state)
 {
+	/* free any memory allocated in the thread's xmlLastError */
+	xmlResetLastError();
     free(state);
 }
 

Modified: packages/libxml2/trunk/tree.c
===================================================================
--- packages/libxml2/trunk/tree.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/tree.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -3707,6 +3707,8 @@
 
     while (cur != NULL) {
         q = xmlCopyProp(target, cur);
+	if (q == NULL)
+	    return(NULL);
 	if (p == NULL) {
 	    ret = p = q;
 	} else {
@@ -4207,11 +4209,11 @@
             name = (const char *) cur->name;
             if (cur->ns) {
 	        if (cur->ns->prefix != NULL)
-                    snprintf(nametemp, sizeof(nametemp) - 1,
-                         "%s:%s", cur->ns->prefix, cur->name);
+                    snprintf(nametemp, sizeof(nametemp) - 1, "%s:%s",
+		    	(char *)cur->ns->prefix, (char *)cur->name);
 		else
-		    snprintf(nametemp, sizeof(nametemp) - 1,
-		         "%s", cur->name);
+		    snprintf(nametemp, sizeof(nametemp) - 1, "%s",
+		    	(char *)cur->name);
                 nametemp[sizeof(nametemp) - 1] = 0;
                 name = nametemp;
             }
@@ -4296,7 +4298,7 @@
         } else if (cur->type == XML_PI_NODE) {
             sep = "/";
 	    snprintf(nametemp, sizeof(nametemp) - 1,
-		     "processing-instruction('%s')", cur->name);
+		     "processing-instruction('%s')", (char *)cur->name);
             nametemp[sizeof(nametemp) - 1] = 0;
             name = nametemp;
 
@@ -4362,7 +4364,7 @@
         else
             snprintf((char *) buf, buf_len, "%s%s[%d]%s",
                      sep, name, occur, (char *) buffer);
-        snprintf((char *) buffer, buf_len, "%s", buf);
+        snprintf((char *) buffer, buf_len, "%s", (char *)buf);
         cur = next;
     } while (cur != NULL);
     xmlFree(buf);
@@ -5637,7 +5639,7 @@
     if (ns->prefix == NULL)
 	snprintf((char *) prefix, sizeof(prefix), "default");
     else
-	snprintf((char *) prefix, sizeof(prefix), "%.20s", ns->prefix);
+	snprintf((char *) prefix, sizeof(prefix), "%.20s", (char *)ns->prefix);
 
     def = xmlSearchNs(doc, tree, prefix);
     while (def != NULL) {
@@ -5645,7 +5647,8 @@
 	if (ns->prefix == NULL)
 	    snprintf((char *) prefix, sizeof(prefix), "default%d", counter++);
 	else
-	    snprintf((char *) prefix, sizeof(prefix), "%.20s%d", ns->prefix, counter++);
+	    snprintf((char *) prefix, sizeof(prefix), "%.20s%d",
+	    	(char *)ns->prefix, counter++);
 	def = xmlSearchNs(doc, tree, prefix);
     }
 

Modified: packages/libxml2/trunk/uri.c
===================================================================
--- packages/libxml2/trunk/uri.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/uri.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -828,7 +828,7 @@
     in = str;
     out = ret;
     while(len > 0) {
-	if ((*in == '%') && (is_hex(in[1])) && (is_hex(in[2]))) {
+	if ((len > 2) && (*in == '%') && (is_hex(in[1])) && (is_hex(in[2]))) {
 	    in++;
 	    if ((*in >= '0') && (*in <= '9')) 
 	        *out = (*in - '0');

Modified: packages/libxml2/trunk/valid.c
===================================================================
--- packages/libxml2/trunk/valid.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/valid.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -2325,11 +2325,11 @@
 	xmlBufferWriteQuotedString(buf, nota->PublicID);
 	if (nota->SystemID != NULL) {
 	    xmlBufferWriteChar(buf, " ");
-	    xmlBufferWriteCHAR(buf, nota->SystemID);
+	    xmlBufferWriteQuotedString(buf, nota->SystemID);
 	}
     } else {
 	xmlBufferWriteChar(buf, " SYSTEM ");
-	xmlBufferWriteCHAR(buf, nota->SystemID);
+	xmlBufferWriteQuotedString(buf, nota->SystemID);
     }
     xmlBufferWriteChar(buf, " >\n");
 }
@@ -3306,8 +3306,9 @@
 	cur += len;
     }
 
-    while (IS_BLANK(val)) {
-	while (IS_BLANK(val)) {
+    /* Should not test IS_BLANK(val) here -- see erratum E20*/
+    while (val == 0x20) {
+	while (val == 0x20) {
 	    val = xmlStringCurrentChar(NULL, cur, &len);
 	    cur += len;
 	}
@@ -3418,8 +3419,9 @@
 	cur += len;
     }
 
-    while (IS_BLANK(val)) {
-	while (IS_BLANK(val)) {
+    /* Should not test IS_BLANK(val) here -- see erratum E20*/
+    while (val == 0x20) {
+	while (val == 0x20) {
 	    val = xmlStringCurrentChar(NULL, cur, &len);
 	    cur += len;
 	}

Modified: packages/libxml2/trunk/vms/build_libxml.com
===================================================================
--- packages/libxml2/trunk/vms/build_libxml.com	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/vms/build_libxml.com	2004-10-13 10:26:58 UTC (rev 274)
@@ -42,14 +42,14 @@
 $!  to the definition of "libxml2_la_SOURCES" in the file MAKEFILE.IN.
 $!  Currently this definition includes the list WITH_TRIO_SOURCES_TRUE
 $!
-$   sources = "SAX.c entities.c encoding.c error.c parserInternals.c parser.c"
-$   sources = sources + " tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c valid.c"
-$   sources = sources + " xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c "
-$   sources = sources + " xpointer.c xinclude.c nanohttp.c nanoftp.c "
-$   sources = sources + " DOCBparser.c catalog.c globals.c threads.c c14n.c "
-$   sources = sources + " xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c "
+$   sources = "SAX.c entities.c encoding.c error.c parserInternals.c"
+$   sources = sources + " parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c"
+$   sources = sources + " valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c"
+$   sources = sources + " xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c"
+$   sources = sources + " catalog.c globals.c threads.c c14n.c xmlstring.c"
+$   sources = sources + " xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c"
 $   sources = sources + " triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c"
-$   sources = sources + " legacy.c xmldwalk.c chvalid.c"
+$   sources = sources + " xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c"
 $!
 $!- list of main modules to compile and link.  Compare this list to the
 $!  definition of bin_PROGRAMS in MAKEFILE.IN

Modified: packages/libxml2/trunk/xmlIO.c
===================================================================
--- packages/libxml2/trunk/xmlIO.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlIO.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -2217,7 +2217,9 @@
     int i = 0;
     void *context = NULL;
     char *unescaped = NULL;
+#ifdef HAVE_ZLIB_H
     int is_file_uri = 1;
+#endif
 
     if (xmlOutputCallbackInitialized == 0)
 	xmlRegisterDefaultOutputCallbacks();
@@ -2228,7 +2230,9 @@
     if (puri != NULL) {
         if ((puri->scheme != NULL) &&
 	    (!xmlStrEqual(BAD_CAST puri->scheme, BAD_CAST "file")))
+#ifdef HAVE_ZLIB_H
 	    is_file_uri = 0;
+#endif
 	/*
 	 * try to limit the damages of the URI unescaping code.
 	 */

Modified: packages/libxml2/trunk/xmllint.c
===================================================================
--- packages/libxml2/trunk/xmllint.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmllint.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -1236,8 +1236,20 @@
      */
     if (copy) {
         tmp = doc;
+	if (timing) {
+	    startTimer();
+	}
 	doc = xmlCopyDoc(doc, 1);
+	if (timing) {
+	    endTimer("Copying");
+	}
+	if (timing) {
+	    startTimer();
+	}
 	xmlFreeDoc(tmp);
+	if (timing) {
+	    endTimer("Freeing original");
+	}
     }
 #endif /* LIBXML_TREE_ENABLED */
 

Modified: packages/libxml2/trunk/xmlmemory.c
===================================================================
--- packages/libxml2/trunk/xmlmemory.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlmemory.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -644,11 +644,11 @@
            case MALLOC_ATOMIC_TYPE:fprintf(fp,"atomicmalloc()  in ");break;
            case REALLOC_ATOMIC_TYPE:fprintf(fp,"atomicrealloc() in ");break;
            default:
-	        fprintf(fp,"Unknow memory block, corruped maybe");
+	        fprintf(fp,"Unknown memory block, may be corrupted");
 		xmlMutexUnlock(xmlMemMutex);
 		return;
         }
-	if (p->mh_file != NULL) fprintf(fp,"%s(%d)", p->mh_file, p->mh_line);
+	if (p->mh_file != NULL) fprintf(fp,"%s(%u)", p->mh_file, p->mh_line);
         if (p->mh_tag != MEMTAG)
 	      fprintf(fp,"  INVALID");
         nb++;
@@ -750,7 +750,7 @@
 		default:fprintf(fp,"   ???    in ");break;
 	    }
 	    if (p->mh_file != NULL)
-	        fprintf(fp,"%s(%d)", p->mh_file, p->mh_line);
+	        fprintf(fp,"%s(%u)", p->mh_file, p->mh_line);
 	    if (p->mh_tag != MEMTAG)
 		fprintf(fp,"  INVALID");
 	    xmlMemContentShow(fp, p);

Modified: packages/libxml2/trunk/xmlregexp.c
===================================================================
--- packages/libxml2/trunk/xmlregexp.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlregexp.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -4008,11 +4008,8 @@
  */
 static void
 xmlFAParseRegExp(xmlRegParserCtxtPtr ctxt, int top) {
-    xmlRegStatePtr start, end, oldend, oldstart;
+    xmlRegStatePtr start, end;
 
-    oldend = ctxt->end;
-
-    oldstart = ctxt->state;
     /* if not top start should have been generated by an epsilon trans */
     start = ctxt->state;
     ctxt->end = NULL;
@@ -4409,6 +4406,94 @@
 }
 
 /**
+ * xmlAutomataNewCountTrans2:
+ * @am: an automata
+ * @from: the starting point of the transition
+ * @to: the target point of the transition or NULL
+ * @token: the input string associated to that transition
+ * @token2: the second input string associated to that transition
+ * @min:  the minimum successive occurences of token
+ * @max:  the maximum successive occurences of token
+ * @data:  data associated to the transition
+ *
+ * If @to is NULL, this creates first a new target state in the automata
+ * and then adds a transition from the @from state to the target state
+ * activated by a succession of input of value @token and @token2 and 
+ * whose number is between @min and @max
+ *
+ * Returns the target state or NULL in case of error
+ */
+xmlAutomataStatePtr
+xmlAutomataNewCountTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
+			 xmlAutomataStatePtr to, const xmlChar *token,
+			 const xmlChar *token2,
+			 int min, int max, void *data) {
+    xmlRegAtomPtr atom;
+    int counter;
+
+    if ((am == NULL) || (from == NULL) || (token == NULL))
+	return(NULL);
+    if (min < 0)
+	return(NULL);
+    if ((max < min) || (max < 1))
+	return(NULL);
+    atom = xmlRegNewAtom(am, XML_REGEXP_STRING);
+    if (atom == NULL)
+	return(NULL);
+    if ((token2 == NULL) || (*token2 == 0)) {
+	atom->valuep = xmlStrdup(token);
+    } else {
+	int lenn, lenp;
+	xmlChar *str;
+
+	lenn = strlen((char *) token2);
+	lenp = strlen((char *) token);
+
+	str = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2);
+	if (str == NULL) {
+	    xmlRegFreeAtom(atom);
+	    return(NULL);
+	}
+	memcpy(&str[0], token, lenp);
+	str[lenp] = '|';
+	memcpy(&str[lenp + 1], token2, lenn);
+	str[lenn + lenp + 1] = 0;
+
+	atom->valuep = str;
+    }
+    atom->data = data;
+    if (min == 0)
+	atom->min = 1;
+    else
+	atom->min = min;
+    atom->max = max;
+
+    /*
+     * associate a counter to the transition.
+     */
+    counter = xmlRegGetCounter(am);
+    am->counters[counter].min = min;
+    am->counters[counter].max = max;
+
+    /* xmlFAGenerateTransitions(am, from, to, atom); */
+    if (to == NULL) {
+        to = xmlRegNewState(am);
+	xmlRegStatePush(am, to);
+    }
+    xmlRegStateAddTrans(am, from, atom, to, counter, -1);
+    xmlRegAtomPush(am, atom);
+    am->state = to;
+
+    if (to == NULL)
+	to = am->state;
+    if (to == NULL)
+	return(NULL);
+    if (min == 0)
+	xmlFAGenerateEpsilonTransition(am, from, to);
+    return(to);
+}
+
+/**
  * xmlAutomataNewCountTrans:
  * @am: an automata
  * @from: the starting point of the transition
@@ -4475,6 +4560,90 @@
 }
 
 /**
+ * xmlAutomataNewOnceTrans2:
+ * @am: an automata
+ * @from: the starting point of the transition
+ * @to: the target point of the transition or NULL
+ * @token: the input string associated to that transition
+ * @token2: the second input string associated to that transition
+ * @min:  the minimum successive occurences of token
+ * @max:  the maximum successive occurences of token
+ * @data:  data associated to the transition
+ *
+ * If @to is NULL, this creates first a new target state in the automata
+ * and then adds a transition from the @from state to the target state
+ * activated by a succession of input of value @token and @token2 and whose 
+ * number is between @min and @max, moreover that transition can only be 
+ * crossed once.
+ *
+ * Returns the target state or NULL in case of error
+ */
+xmlAutomataStatePtr
+xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
+			 xmlAutomataStatePtr to, const xmlChar *token,
+			 const xmlChar *token2,
+			 int min, int max, void *data) {
+    xmlRegAtomPtr atom;
+    int counter;
+
+    if ((am == NULL) || (from == NULL) || (token == NULL))
+	return(NULL);
+    if (min < 1)
+	return(NULL);
+    if ((max < min) || (max < 1))
+	return(NULL);
+    atom = xmlRegNewAtom(am, XML_REGEXP_STRING);
+    if (atom == NULL)
+	return(NULL);
+    if ((token2 == NULL) || (*token2 == 0)) {
+	atom->valuep = xmlStrdup(token);
+    } else {
+	int lenn, lenp;
+	xmlChar *str;
+
+	lenn = strlen((char *) token2);
+	lenp = strlen((char *) token);
+
+	str = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2);
+	if (str == NULL) {
+	    xmlRegFreeAtom(atom);
+	    return(NULL);
+	}
+	memcpy(&str[0], token, lenp);
+	str[lenp] = '|';
+	memcpy(&str[lenp + 1], token2, lenn);
+	str[lenn + lenp + 1] = 0;
+
+	atom->valuep = str;
+    }    
+    atom->data = data;
+    atom->quant = XML_REGEXP_QUANT_ONCEONLY;
+    if (min == 0)
+	atom->min = 1;
+    else
+	atom->min = min;
+    atom->max = max;
+    /*
+     * associate a counter to the transition.
+     */
+    counter = xmlRegGetCounter(am);
+    am->counters[counter].min = 1;
+    am->counters[counter].max = 1;
+
+    /* xmlFAGenerateTransitions(am, from, to, atom); */
+    if (to == NULL) {
+	to = xmlRegNewState(am);
+	xmlRegStatePush(am, to);
+    }
+    xmlRegStateAddTrans(am, from, atom, to, counter, -1);
+    xmlRegAtomPush(am, atom);
+    am->state = to;
+    return(to);
+}
+
+    
+
+/**
  * xmlAutomataNewOnceTrans:
  * @am: an automata
  * @from: the starting point of the transition

Modified: packages/libxml2/trunk/xmlsave.c
===================================================================
--- packages/libxml2/trunk/xmlsave.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlsave.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -517,14 +517,18 @@
 	xmlBufferWriteQuotedString(buf->buffer, dtd->SystemID);
     }
     if ((dtd->entities == NULL) && (dtd->elements == NULL) &&
-            (dtd->attributes == NULL) && (dtd->notations == NULL) &&
-	    (dtd->pentities == NULL)) {
+        (dtd->attributes == NULL) && (dtd->notations == NULL) &&
+	(dtd->pentities == NULL)) {
 	xmlOutputBufferWrite(buf, 1, ">");
 	return;
     }
     xmlOutputBufferWrite(buf, 3, " [\n");
-    /* Dump the notations first they are not in the DTD children list */
-    if (dtd->notations != NULL) {
+    /*
+     * Dump the notations first they are not in the DTD children list
+     * Do this only on a standalone DTD or on the internal subset though.
+     */
+    if ((dtd->notations != NULL) && ((dtd->doc == NULL) ||
+        (dtd->doc->intSubset == dtd))) {
         xmlDumpNotationTable(buf->buffer, (xmlNotationTablePtr) dtd->notations);
     }
     format = ctxt->format;

Modified: packages/libxml2/trunk/xmlschemas.c
===================================================================
--- packages/libxml2/trunk/xmlschemas.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlschemas.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -91,6 +91,19 @@
 	str = NULL;							\
     }
 
+#define IS_ANYTYPE(item)                           \
+    ((item->type == XML_SCHEMA_TYPE_BASIC) &&      \
+     (item->builtInType == XML_SCHEMAS_ANYTYPE))   
+
+#define IS_COMPLEX_TYPE(item)                      \
+    ((item->type == XML_SCHEMA_TYPE_COMPLEX) ||    \
+     (item->builtInType == XML_SCHEMAS_ANYTYPE))
+
+#define IS_SIMPLE_TYPE(item)                       \
+    ((item->type == XML_SCHEMA_TYPE_SIMPLE) ||     \
+     ((item->type == XML_SCHEMA_TYPE_BASIC) &&     \
+      (item->builtInType != XML_SCHEMAS_ANYTYPE))) 
+
 #define XML_SCHEMAS_VAL_WTSP_PRESERVE 0
 #define XML_SCHEMAS_VAL_WTSP_REPLACE  1
 #define XML_SCHEMAS_VAL_WTSP_COLLAPSE 2
@@ -99,6 +112,51 @@
 
 #define SCHEMAS_PARSE_OPTIONS XML_PARSE_NOENT
 
+
+/*
+* XML_SCHEMA_VAL_XSI_ASSEMBLE_TNS_COMPOSE	 
+* allow to assemble schemata with 
+* the same target namespace from 
+* different sources; otherwise, the first 
+* encountered schema with a specific target 
+* namespace will be used only *
+   
+* 
+* XML_SCHEMA_VAL_LOCATE_BY_NSNAME = 1<<2
+* locate schemata to be imported
+* using the namespace name; otherwise
+* the location URI will be used */
+
+/*
+* xmlSchemaParserOption:
+*
+* This is the set of XML Schema parser options.
+*
+typedef enum {
+    XML_SCHEMA_PAR_LOCATE_BY_NSNAME	= 1<<0
+	* locate schemata to be imported
+	* using the namespace name; otherwise
+	* the location URI will be used *
+} xmlSchemaParserOption;
+*/
+
+/*
+XMLPUBFUN int XMLCALL
+	    xmlSchemaParserCtxtSetOptions(xmlSchemaParserCtxtPtr ctxt,
+					  int options);
+XMLPUBFUN int XMLCALL
+	    xmlSchemaParserCtxtGetOptions(xmlSchemaParserCtxtPtr ctxt);
+
+*/
+
+typedef struct _xmlSchemaAssemble xmlSchemaAssemble;
+typedef xmlSchemaAssemble *xmlSchemaAssemblePtr;
+struct _xmlSchemaAssemble {
+    void **items;  /* used for dynamic addition of schemata */
+    int nbItems; /* used for dynamic addition of schemata */
+    int sizeItems; /* used for dynamic addition of schemata */
+};
+
 struct _xmlSchemaParserCtxt {
     void *userData;             /* user specific data block */
     xmlSchemaValidityErrorFunc error;   /* the callback in case of errors */
@@ -133,6 +191,9 @@
     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 */
+    xmlSchemaAssemblePtr assemble;
+    int options;
+    xmlSchemaValidCtxtPtr vctxt;
 };
 
 
@@ -142,6 +203,8 @@
 #define XML_SCHEMAS_ATTR_MISSING 4
 #define XML_SCHEMAS_ATTR_INVALID_VALUE 5
 #define XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED 6
+#define XML_SCHEMAS_ATTR_INVALID_FIXED_VALUE 7
+#define XML_SCHEMAS_ATTR_DEFAULT 8
 
 typedef struct _xmlSchemaAttrState xmlSchemaAttrState;
 typedef xmlSchemaAttrState *xmlSchemaAttrStatePtr;
@@ -150,6 +213,7 @@
     xmlAttrPtr attr;
     int state;
     xmlSchemaAttributePtr decl;
+    const xmlChar *value;
 };
 
 /**
@@ -183,11 +247,13 @@
     xmlSchemaValPtr value;
 
     xmlSchemaAttrStatePtr attrTop;
-    /* xmlSchemaAttrStatePtr attrBase; */
-    /* int attrMax; */
     xmlSchemaAttrStatePtr attr;
-    xmlNodePtr scope;
+    /* xmlNodePtr scope; not used */
     int valueWS;
+    int options;
+    xmlNodePtr validationRoot;    
+    xmlSchemaParserCtxtPtr pctxt;
+    int xsiAssemble;
 };
 
 /*
@@ -197,8 +263,9 @@
 typedef xmlSchemaImport *xmlSchemaImportPtr;
 struct _xmlSchemaImport {
     const xmlChar *schemaLocation;
-    xmlSchemaPtr schema;
+    xmlSchemaPtr schema; /* not used any more */
     xmlDocPtr doc;
+    int isMain;
 };
 
 /*
@@ -213,6 +280,36 @@
     xmlDocPtr doc;
 };
 
+typedef struct _xmlSchemaParticle xmlSchemaParticle;
+typedef xmlSchemaParticle *xmlSchemaParticlePtr;
+struct _xmlSchemaParticle {
+    xmlSchemaTypeType type;
+    xmlSchemaParticlePtr next; /* the next particle if in a list */
+    int minOccurs;
+    int maxOccurs;
+    xmlSchemaTypePtr term;
+};
+
+
+typedef struct _xmlSchemaModelGroup xmlSchemaModelGroup;
+typedef xmlSchemaModelGroup *xmlSchemaModelGroupPtr;
+struct _xmlSchemaModelGroup {
+    xmlSchemaTypeType type;
+    int compositor; /* one of all, choice or sequence */
+    xmlSchemaParticlePtr particles; /* list of particles */
+    xmlSchemaAnnotPtr annot;
+};
+
+typedef struct _xmlSchemaModelGroupDef xmlSchemaModelGroupDef;
+typedef xmlSchemaModelGroupDef *xmlSchemaModelGroupDefPtr;
+struct _xmlSchemaModelGroupDef {
+    xmlSchemaTypeType type;
+    const xmlChar *name;
+    const xmlChar *targetNamespace;
+    xmlSchemaModelGroupPtr modelGroup;
+    xmlSchemaAnnotPtr annot;
+};
+
 /************************************************************************
  * 									*
  * 			Some predeclarations				*
@@ -229,11 +326,21 @@
 xmlSchemaFacetTypeToString(xmlSchemaTypeType type);
 static int
 xmlSchemaValidateSimpleTypeValue(xmlSchemaValidCtxtPtr ctxt, 
+				 xmlSchemaTypePtr type,
 				 const xmlChar *value,
 				 int fireErrors,				 
 				 int applyFacets,
-				 int normalize);
+				 int normalize,
+				 int checkNodes);
 static int
+xmlSchemaValidateElementByDeclaration(xmlSchemaValidCtxtPtr ctxt,
+				      xmlSchemaElementPtr elemDecl); 
+static int
+xmlSchemaValidateElementByWildcard(xmlSchemaValidCtxtPtr ctxt,
+				   xmlSchemaTypePtr type);
+static int
+xmlSchemaHasElemOrCharContent(xmlNodePtr node);
+static int
 xmlSchemaParseImport(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                      xmlNodePtr node);
 
@@ -498,7 +605,7 @@
 }
 
 /**
- * xmlSchemaGetOnymousTypeName:
+ * xmlSchemaGetAttrName:
  * @attr:  the attribute declaration/use
  *
  * Returns the name of the attribute; if the attribute
@@ -514,7 +621,7 @@
 }
 
 /**
- * xmlSchemaGetOnymousTargetNsURI:
+ * xmlSchemaGetAttrTargetNsURI:
  * @type:  the type (element or attribute)
  *
  * Returns the target namespace URI of the type; if the type is a reference,
@@ -957,10 +1064,13 @@
 {
     xmlChar *str = NULL, *msg = NULL;
     
-    xmlSchemaFormatItemForReport(&msg, NULL,  NULL, node, 0);    
-    msg = xmlStrcat(msg, BAD_CAST " [");
-    msg = xmlStrcat(msg, xmlSchemaFormatItemForReport(&str, NULL, type, NULL, 0));
-    msg = xmlStrcat(msg, BAD_CAST "]: %s.\n");    	
+    xmlSchemaFormatItemForReport(&msg, NULL,  NULL, node, 0);
+    if (type != NULL) {
+	msg = xmlStrcat(msg, BAD_CAST " [");
+	msg = xmlStrcat(msg, xmlSchemaFormatItemForReport(&str, NULL, type, NULL, 0));
+	msg = xmlStrcat(msg, BAD_CAST "]");
+    }
+    msg = xmlStrcat(msg, BAD_CAST ": %s.\n");
     xmlSchemaVErr(ctxt, node, error, (const char *) msg, 
 	(const xmlChar *) message, NULL);
     FREE_AND_NULL(str)	
@@ -1672,7 +1782,7 @@
  ************************************************************************/
 
 /**
- * xmlSchemaNewSchema:
+ * xmlSchemaNewSchemaForParserCtxt:
  * @ctxt:  a schema validation context
  *
  * Allocate a new Schema structure.
@@ -1697,6 +1807,29 @@
 }
 
 /**
+ * xmlSchemaNewSchema:
+ * @ctxt:  a schema validation context
+ *
+ * Allocate a new Schema structure.
+ *
+ * Returns the newly allocated structure or NULL in case or error
+ */
+static xmlSchemaAssemblePtr
+xmlSchemaNewAssemble(void)
+{
+    xmlSchemaAssemblePtr ret;
+
+    ret = (xmlSchemaAssemblePtr) xmlMalloc(sizeof(xmlSchemaAssemble));
+    if (ret == NULL) {
+        /* xmlSchemaPErrMemory(ctxt, "allocating assemble info", NULL); */
+        return (NULL);
+    }
+    memset(ret, 0, sizeof(xmlSchemaAssemble));
+    ret->items = NULL;
+    return (ret);
+}
+
+/**
  * xmlSchemaNewFacet:
  *
  * Allocate a new Facet structure.
@@ -1833,6 +1966,8 @@
         return;
     if (attr->annot != NULL) 
 	xmlSchemaFreeAnnot(attr->annot);
+    if (attr->defVal != NULL)
+	xmlSchemaFreeValue(attr->defVal);
     xmlFree(attr);
 }
 
@@ -1945,6 +2080,8 @@
         xmlSchemaFreeAnnot(elem->annot);
     if (elem->contModel != NULL)
         xmlRegFreeRegexp(elem->contModel);
+    if (elem->defVal != NULL)
+	xmlSchemaFreeValue(elem->defVal);
     xmlFree(elem);
 }
 
@@ -1994,11 +2131,14 @@
     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) && 
+	if ((type->attributeWildcard != NULL) &&
 	    ((type->type != XML_SCHEMA_TYPE_COMPLEX) ||
-	    ((type->type == XML_SCHEMA_TYPE_COMPLEX) && 
-	    (type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD)))) { 
+	    (type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD))) {
+	    /*
+	    * NOTE: The only case where an attribute wildcard
+	    * is not owned, is if a complex type inherits it
+	    * from a base type.
+	    */
 	    xmlSchemaFreeWildcard(type->attributeWildcard);
 	}
     }
@@ -2013,7 +2153,9 @@
 	    xmlFree(link);
 	    link = next;
 	} while (link != NULL);
-    }      
+    }  
+    if (type->contModel != NULL)
+        xmlRegFreeRegexp(type->contModel);
     xmlFree(type);
 }
 
@@ -2075,8 +2217,7 @@
         xmlSchemaFreeAnnot(schema->annot);
     if (schema->doc != NULL && !schema->preserve)
         xmlFreeDoc(schema->doc);
-    xmlDictFree(schema->dict);
-
+    xmlDictFree(schema->dict);    
     xmlFree(schema);
 }
 
@@ -2417,85 +2558,6 @@
     return(ret);
 }
 
-#if 0
-/**
- * xmlSchemaGetNamespace:
- * @ctxt: the parser context
- * @schema: the schemas containing the declaration
- * @node: the node
- * @qname: the QName to analyze
- * 
- * Find the namespace name for the given declaration.
- *
- * Returns the local name for that declaration, as well as the namespace name
- * NOTE: This function is no longer used (Buchcik, May '04) 
- */
-static const xmlChar *
-xmlSchemaGetNamespace(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-	              xmlNodePtr node, const xmlChar *qname,
-	     const xmlChar **namespace) {
-    int len;
-    const xmlChar *name, *prefix, *def = NULL;
-    xmlNsPtr ns;
-
-    *namespace = NULL;
-    
-    /* TODO: The following seems to be not correct here:
-     * 1. The name of a declaration is a NCName, not a QName.
-     * 2. The attribute "targetNamespace" is allowed for the
-     *    <schema> Element Information Item only.
-     * 3. One cannot evaluate the target namespace, by the type
-     *    of declaration, since it is dependant on the xxxFormDefault
-     *    of <schema> and the form attribute of an <element> or <attribute>.
-     */
-   
-    if (xmlStrEqual(node->name, BAD_CAST "element") ||
-        xmlStrEqual(node->name, BAD_CAST "attribute") ||
-	xmlStrEqual(node->name, BAD_CAST "simpleType") ||
-	xmlStrEqual(node->name, BAD_CAST "complexType")) {
-	def = xmlSchemaGetProp(ctxt, node, "targetNamespace");
-    }
-
-
-    qname = xmlDictLookup(ctxt->dict, qname, -1); /* intern the string */
-    name = xmlSplitQName3(qname, &len);
-    if (name == NULL) {
-        if (def == NULL) {
-	    if (xmlStrEqual(node->name, BAD_CAST "element")) {
-		if (schema->flags & XML_SCHEMAS_QUALIF_ELEM)
-		    *namespace = schema->targetNamespace;
-	    } else if (xmlStrEqual(node->name, BAD_CAST "attribute")) {
-		if (schema->flags & XML_SCHEMAS_QUALIF_ATTR)
-		    *namespace = schema->targetNamespace;
-	    } else if ((xmlStrEqual(node->name, BAD_CAST "simpleType")) ||
-	               (xmlStrEqual(node->name, BAD_CAST "complexType"))) {
-		*namespace = schema->targetNamespace;
-	    }
-	} else {
-	    *namespace = def;
-	}
-	return(qname);
-    }
-
-    name = xmlDictLookup(ctxt->dict, name, -1);
-    prefix = xmlDictLookup(ctxt->dict, qname, len);
-    if (def != NULL) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_DEF_AND_PREFIX,
-                      "%s: presence of both prefix %s and targetNamespace\n",
-                      node->name, prefix);
-    }
-    ns = xmlSearchNs(node->doc, node, prefix);
-    if (ns == NULL) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_PREFIX_UNDEFINED,
-                      "%s: The QName prefix %s is undefined\n",
-                      node->name, prefix);
-	return(name);
-    }
-    *namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
-    return(name);
-}
-#endif
-
 /************************************************************************
  * 									*
  * 			Parsing functions				*
@@ -2811,8 +2873,57 @@
 }
 
 /**
+ * xmlSchemaAddAssembledItem:
+ * @ctxt:  a schema parser context
+ * @schema:  the schema being built
+ * @item:  the item
+ *
+ * Add a item to the schema's list of current items.
+ * This is used if the schema was already constructed and
+ * new schemata need to be added to it.
+ * *WARNING* this interface is highly subject to change.
+ *
+ * Returns 0 if suceeds and -1 if an internal error occurs.
+ */
+static int
+xmlSchemaAddAssembledItem(xmlSchemaParserCtxtPtr ctxt,
+			   xmlSchemaTypePtr item)
+{
+    static int growSize = 100;
+    xmlSchemaAssemblePtr ass;
+
+    ass = ctxt->assemble;
+    if (ass->sizeItems < 0) {
+	/* If disabled. */
+	return (0);
+    }
+    if (ass->sizeItems <= 0) {
+	ass->items = (void **) xmlMalloc(growSize * sizeof(xmlSchemaTypePtr));
+	if (ass->items == NULL) {
+	    xmlSchemaPErrMemory(ctxt,
+		"allocating new item buffer", NULL);
+	    return (-1);
+	}	
+	ass->sizeItems = growSize;
+    } else if (ass->sizeItems <= ass->nbItems) {
+	ass->sizeItems *= 2;
+	ass->items = (void **) xmlRealloc(ass->items, 
+	    ass->sizeItems * sizeof(xmlSchemaTypePtr));
+	if (ass->items == NULL) {
+	    xmlSchemaPErrMemory(ctxt,
+		"growing item buffer", NULL);
+	    ass->sizeItems = 0;
+	    return (-1);
+	}	
+    }
+    /* ass->items[ass->nbItems++] = (void *) item; */
+    ((xmlSchemaTypePtr *) ass->items)[ass->nbItems++] = (void *) item;
+    return (0);
+}
+
+/**
  * xmlSchemaAddNotation:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  *
@@ -2863,7 +2974,7 @@
 
 /**
  * xmlSchemaAddAttribute:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  * @namespace:  the namespace
@@ -2913,12 +3024,14 @@
         xmlFree(ret);
         return (NULL);
     }
+    if (ctxt->assemble != NULL)
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret); 
     return (ret);
 }
 
 /**
  * xmlSchemaAddAttributeGroup:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  *
@@ -2961,12 +3074,14 @@
         xmlFree(ret);
         return (NULL);
     }
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret);
     return (ret);
 }
 
 /**
  * xmlSchemaAddElement:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the type name
  * @namespace:  the type namespace
@@ -3036,6 +3151,8 @@
 	}
         
     }
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret);
     return (ret);
 }
 
@@ -3111,7 +3228,8 @@
     ret->maxOccurs = 1;
     ret->attributeUses = NULL;
     ret->attributeWildcard = NULL;
-
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt,ret);
     return (ret);
 }
 
@@ -3160,7 +3278,8 @@
     }
     ret->minOccurs = 1;
     ret->maxOccurs = 1;
-
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret);
     return (ret);
 }
 
@@ -3243,9 +3362,14 @@
     xmlNsPtr ns;
     const xmlChar *ret, *prefix;
     int len;
+    xmlAttrPtr attr;
 
     *namespace = NULL;
-    val = xmlSchemaGetProp(ctxt, node, name);
+    attr = xmlSchemaGetPropNode(node, name);
+    if (attr == NULL)
+	return (NULL);
+    val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+
     if (val == NULL)
         return (NULL);
 
@@ -3265,10 +3389,11 @@
 
     ns = xmlSearchNs(node->doc, node, prefix);
     if (ns == NULL) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_PREFIX_UNDEFINED,
-	    "Attribute '%s': The prefix '%s' of the QName "
-	    "'%s' has no corresponding namespace declaration is scope.\n",
-	    (const xmlChar *) name, prefix);
+        xmlSchemaPSimpleTypeErr(ctxt, XML_SCHEMAP_PREFIX_UNDEFINED, 
+	    NULL, NULL, (xmlNodePtr) attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME), NULL, val,
+	    "The QName value '%s' has no corresponding namespace "
+	    "declaration in scope", val, NULL);
     } else {
         *namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
     }
@@ -3351,9 +3476,9 @@
 	xmlSchemaPSimpleTypeErr(ctxt, 
 	    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
 	    ownerDes, ownerItem, (xmlNodePtr) attr, 
-	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME), "QName", value, 
-	    "The prefix '%s' of the value '%s' is not declared.\n",
-	    pref, value);
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME), "QName", value,
+	    "The QName value '%s' has no corresponding namespace "
+	    "declaration in scope", value, NULL);
 	return (ctxt->err);
     } else {
         *uri = xmlDictLookup(ctxt->dict, ns->href, -1);
@@ -3552,6 +3677,53 @@
 }
 
 /**
+ * xmlSchemaPGetBoolNodeValue:
+ * @ctxt:  a schema validation context
+ * @ownerDes:  owner designation
+ * @ownerItem:  the owner as a schema item
+ * @node: the node holding the value
+ *
+ * Converts a boolean string value into 1 or 0.
+ *
+ * Returns 0 or 1.
+ */
+static int
+xmlSchemaPGetBoolNodeValue(xmlSchemaParserCtxtPtr ctxt,			   
+			   xmlChar **ownerDes,
+			   xmlSchemaTypePtr ownerItem,
+			   xmlNodePtr node)
+{
+    xmlChar *value = NULL;
+    int res = 0;
+   
+    value = xmlNodeGetContent(node);
+    /* 
+    * 3.2.2.1 Lexical representation
+    * An instance of a datatype that is defined as ·boolean· 
+    * can have the following legal literals {true, false, 1, 0}.
+    */
+    if (xmlStrEqual(BAD_CAST value, BAD_CAST "true"))
+        res = 1;
+    else if (xmlStrEqual(BAD_CAST value, BAD_CAST "false"))
+        res = 0;
+    else if (xmlStrEqual(BAD_CAST value, BAD_CAST "1"))
+	res = 1;
+    else if (xmlStrEqual(BAD_CAST value, BAD_CAST "0"))
+        res = 0;    
+    else {
+        xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_INVALID_BOOLEAN,
+	    ownerDes, ownerItem, node, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_BOOLEAN), 
+	    "(1 | 0 | true | false)", BAD_CAST value, 
+	    NULL, NULL, NULL);
+    }
+    if (value != NULL)
+	xmlFree(value);
+    return (res);
+}
+
+/**
  * xmlGetBooleanProp:
  * @ctxt:  a schema validation context
  * @node:  a subtree containing XML Schema informations
@@ -3642,7 +3814,7 @@
                            xmlSchemaPtr schema, xmlNodePtr node);
 
 /**
- * xmlSchemaPValAttrNode:
+ * xmlSchemaPValAttrNodeValue:
  * 
  * @ctxt:  a schema parser context
  * @ownerDes: the designation of the parent element
@@ -3894,19 +4066,7 @@
             }
         }
         child = child->next;
-    }
-    if (IS_SCHEMA(child, "anyAttribute")) {
-	xmlSchemaWildcardPtr wildcard;
-
-        wildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
-        if (wildcard != NULL) {
-	    if (type->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP)
-		((xmlSchemaAttributeGroupPtr) type)->attributeWildcard = wildcard;
-	    else
-		type->attributeWildcard = wildcard;
-        }
-        child = child->next;
-    }
+    }    
     return (child);
 }
 
@@ -4109,8 +4269,7 @@
 	    if (xmlStrEqual(fixed, BAD_CAST "true"))
 		facet->fixed = 1;
 	}
-    }
-    
+    }    
     child = node->children;
 
     if (IS_SCHEMA(child, "annotation")) {
@@ -4407,7 +4566,7 @@
  * parse a XML schema AnyAttrribute declaration
  * *WARNING* this interface is highly subject to change
  *
- * Returns an attribute def structure or NULL
+ * Returns a wildcard or NULL.
  */
 static xmlSchemaWildcardPtr
 xmlSchemaParseAnyAttribute(xmlSchemaParserCtxtPtr ctxt,
@@ -4415,6 +4574,7 @@
 {
     xmlSchemaWildcardPtr ret;
     xmlNodePtr child = NULL;
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
@@ -4424,22 +4584,47 @@
         return (NULL);
     }
     ret->type = XML_SCHEMA_TYPE_ANY_ATTRIBUTE;
-    ret->id = xmlSchemaGetProp(ctxt, node, "id");
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+	        (!xmlStrEqual(attr->name, BAD_CAST "namespace")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "processContents"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, NULL, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, NULL, attr);	
+	}
+	attr = attr->next;
+    }
+    /* ret->id = xmlSchemaGetProp(ctxt, node, "id"); */
+    /*
+    * Parse the namespace list.
+    */
     if (xmlSchemaParseWildcardNs(ctxt, schema, ret, node) != 0) {
 	xmlSchemaFreeWildcard(ret);
 	return (NULL);
-    }    
+    }  
+    /*
+    * And now for the children...
+    */
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
     if (child != NULL) {
-	/* TODO: Change the error code. */
 	xmlSchemaPContentErr(ctxt,
-		XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD,
-		NULL, NULL, node, child, 
-		NULL, "(annotation?)");
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+	    NULL, NULL, node, child, 
+	    NULL, "(annotation?)");
     }
 
     return (ret);
@@ -4501,7 +4686,7 @@
 	isRef = 1;	
     
     if (isRef) {
-	char buf[100]; 
+	char buf[50]; 
 	const xmlChar *refNs = NULL, *ref = NULL, *refPrefix = NULL; 
 
 	/*
@@ -4512,7 +4697,7 @@
 	    &refPrefix, &ref) != 0) {
 	    return (NULL);
 	}	
-        snprintf(buf, 99, "#aRef %d", ctxt->counter++ + 1);
+        snprintf(buf, 49, "#aRef %d", ctxt->counter++ + 1);
         name = (const xmlChar *) buf;	
 	ret = xmlSchemaAddAttribute(ctxt, schema, name, NULL, node);
 	if (ret == NULL) {
@@ -4790,55 +4975,119 @@
                              xmlSchemaPtr schema, xmlNodePtr node,
 			     int topLevel)
 {
-    const xmlChar *name, *refNs = NULL, *ref = NULL;
+    const xmlChar *name;
     xmlSchemaAttributeGroupPtr ret;
     xmlNodePtr child = NULL;
-    const xmlChar *oldcontainer;
-    char buf[100];
+    const xmlChar *oldcontainer;    
+    xmlAttrPtr attr, nameAttr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
-    oldcontainer = ctxt->container;
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
-        ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
-        if (ref == NULL) {
-            xmlSchemaPErr2(ctxt, node, child,
-		XML_SCHEMAP_ATTRGRP_NONAME_NOREF,
-		"Attribute group or particle: One of the attributes 'name' "
-		"or 'ref' must be present.\n", NULL,
-		NULL);
+
+    nameAttr = xmlSchemaGetPropNode(node, "name");
+    attr = xmlSchemaGetPropNode(node, "ref");   
+    if ((topLevel) || (attr == NULL)) {
+	/*
+	* Parse as an attribute group definition.
+	* Note that those are allowed at top level only.
+	*/
+	if (nameAttr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_MISSING,
+		NULL, NULL, node, "name", NULL);	    
+	    return (NULL);
+	}
+	name = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) nameAttr);
+	/*
+	* The name is crucial, exit if invalid. 
+	*/
+	if (xmlSchemaPValAttrNode(ctxt,
+	    NULL, NULL, nameAttr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &name) != 0) {
+	    return (NULL);
+	}
+	ret = xmlSchemaAddAttributeGroup(ctxt, schema, name, node);
+	if (ret == NULL)
+	    return (NULL);
+	ret->type = XML_SCHEMA_TYPE_ATTRIBUTEGROUP;
+	ret->flags |= XML_SCHEMAS_ATTRGROUP_GLOBAL;
+	ret->node = node;
+    } else {    
+	char buf[50];
+	const xmlChar *refNs = NULL, *ref = NULL, *refPrefix;
+
+	/*
+	* Parse as an attribute group definition reference.
+	*/
+	if (attr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_MISSING, 
+		NULL, NULL, node, "ref", NULL);
+	}	
+	xmlSchemaPValAttrNodeQName(ctxt, schema,
+	    NULL, NULL, attr, &refNs, &refPrefix, &ref);
+	 
+        snprintf(buf, 49, "#aGrRef %d", ctxt->counter++ + 1);
+	name = (const xmlChar *) buf;
+	if (name == NULL) {
+	    xmlSchemaPErrMemory(ctxt, "creating internal name for an "
+		"attribute group definition reference", node);
             return (NULL);
         }
-        snprintf(buf, 99, "anonattrgroup %d", ctxt->counter++ + 1);
-        name = (const xmlChar *) buf;
-        if (name == NULL) {
-	    xmlSchemaPErrMemory(ctxt, "creating attribute group", node);
-            return (NULL);
-        }
+	ret = xmlSchemaAddAttributeGroup(ctxt, schema, name, node);
+	if (ret == NULL)
+	    return (NULL);
+	ret->type = XML_SCHEMA_TYPE_ATTRIBUTEGROUP;
+	ret->ref = ref;
+	ret->refNs = refNs;
+	/* TODO: Is @refPrefix currently used? */
+	ret->refPrefix = refPrefix;
+	ret->node = node;
     }
-    ret = xmlSchemaAddAttributeGroup(ctxt, schema, name, node);
-    if (ret == NULL) {
-        return (NULL);
-    }
-    ret->ref = ref;
-    ret->refNs = refNs;
-    ret->type = XML_SCHEMA_TYPE_ATTRIBUTEGROUP;
-    if (topLevel) 
-        ret->flags |= XML_SCHEMAS_ATTRGROUP_GLOBAL;
-    ret->node = node;
-    child = node->children;
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((((topLevel == 0) && (!xmlStrEqual(attr->name, BAD_CAST "ref"))) ||
+		 (topLevel && (!xmlStrEqual(attr->name, BAD_CAST "name")))) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "id"))) 
+	    {
+		xmlSchemaPIllegalAttrErr(ctxt,
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		    NULL, NULL, attr);
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		NULL, NULL, attr);
+	}
+	attr = attr->next;
+    }	
+    /* TODO: Validate "id" ? */  
+    /*
+    * And now for the children...
+    */
+    oldcontainer = ctxt->container;
     ctxt->container = name;
+    child = node->children;    
     if (IS_SCHEMA(child, "annotation")) {
         ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
-    child = xmlSchemaParseAttrDecls(ctxt, schema, child, (xmlSchemaTypePtr) ret);     
+    if (topLevel) {
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, (xmlSchemaTypePtr) ret); 
+	if (IS_SCHEMA(child, "anyAttribute")) {
+	    ret->attributeWildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
+    }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD,
-                       "Attribute group '%s' has unexpected content.\n", name,
-                       NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, 
+	    NULL, NULL, node, child, NULL, 
+	    "(annotation?)");
     }
     ctxt->container = oldcontainer;
     return (ret);
@@ -5033,7 +5282,7 @@
     * robust.
     */
     if (isRef) {
-	char buf[100];
+	char buf[50];
 	const xmlChar *refNs = NULL, *ref = NULL, *refPrefix;
 
 	/*
@@ -5043,7 +5292,7 @@
 	    (xmlChar **) &xmlSchemaElemDesAttrRef, 
 	    NULL, attr, &refNs, &refPrefix, &ref);			
 	 
-        snprintf(buf, 99, "#eRef %d", ctxt->counter++ + 1);
+        snprintf(buf, 49, "#eRef %d", ctxt->counter++ + 1);
 	name = (const xmlChar *) buf;
 	ret = xmlSchemaAddElement(ctxt, schema, name, NULL, node, 0);
 	if (ret == NULL) {
@@ -5074,11 +5323,15 @@
 	attr = node->properties;
 	while (attr != NULL) {
 	    if (attr->ns == NULL) {
-		if ((!xmlStrEqual(attr->name, BAD_CAST "ref")) && 				
-		    (!xmlStrEqual(attr->name, BAD_CAST "id")) &&
-		    (!xmlStrEqual(attr->name, BAD_CAST "maxOccurs")) && 
-		    (!xmlStrEqual(attr->name, BAD_CAST "minOccurs")) &&	
-		    (!xmlStrEqual(attr->name, BAD_CAST "name"))) {
+		if (xmlStrEqual(attr->name, BAD_CAST "ref") ||
+		    xmlStrEqual(attr->name, BAD_CAST "name") ||
+		    xmlStrEqual(attr->name, BAD_CAST "id") ||
+		    xmlStrEqual(attr->name, BAD_CAST "maxOccurs") ||
+		    xmlStrEqual(attr->name, BAD_CAST "minOccurs"))
+		{
+		    attr = attr->next;
+		    continue;
+		} else {
 		    xmlSchemaPCustomAttrErr(ctxt, 
 			XML_SCHEMAP_SRC_ELEMENT_2_2,
 			&repName, (xmlSchemaTypePtr) ret, attr, 
@@ -5144,27 +5397,31 @@
 		    (!xmlStrEqual(attr->name, BAD_CAST "default")) &&
 		    (!xmlStrEqual(attr->name, BAD_CAST "fixed")) &&		
 		    (!xmlStrEqual(attr->name, BAD_CAST "block")) &&
-		    (!xmlStrEqual(attr->name, BAD_CAST "nillable"))) {
-		    if (topLevel == 0) { 
-			if (xmlStrEqual(attr->name, BAD_CAST "substitutionGroup")) {
-			    /*
-			    * 3.3.6 : 3 If there is a non-·absent· {substitution 
-			    * group affiliation}, then {scope} must be global.
-			    * TODO: This one is redundant, since the S4S does 
-			    * prohibit this attribute on local declarations already; 
-			    * so why an explicit error code? Weird spec.
-			    * TODO: Move this to the proper constraint layer.
-			    */
-			    xmlSchemaPIllegalAttrErr(ctxt,
-				XML_SCHEMAP_E_PROPS_CORRECT_3,
-				&repName, (xmlSchemaTypePtr) ret, attr); 						
-			} else if ((!xmlStrEqual(attr->name, BAD_CAST "maxOccurs")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "nillable"))) 
+		{	
+		    if (topLevel == 0) { 						
+			if ((!xmlStrEqual(attr->name, BAD_CAST "maxOccurs")) &&
 			    (!xmlStrEqual(attr->name, BAD_CAST "minOccurs")) &&
-			    (!xmlStrEqual(attr->name, BAD_CAST "form"))) {
-
-			    xmlSchemaPIllegalAttrErr(ctxt,
-			    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
-			    &repName, (xmlSchemaTypePtr) ret, attr);
+			    (!xmlStrEqual(attr->name, BAD_CAST "form"))) 
+			{
+			    if (xmlStrEqual(attr->name, BAD_CAST "substitutionGroup")) {
+				/*
+				* 3.3.6 : 3 If there is a non-·absent· {substitution 
+				* group affiliation}, then {scope} must be global.
+				* TODO: This one is redundant, since the S4S does 
+				* prohibit this attribute on local declarations already; 
+				* so why an explicit error code? Weird spec.
+				* TODO: Move this to the proper constraint layer.
+				* TODO: Or better wait for spec 1.1 to come.
+				*/
+				xmlSchemaPIllegalAttrErr(ctxt,
+				    XML_SCHEMAP_E_PROPS_CORRECT_3,
+				    &repName, (xmlSchemaTypePtr) ret, attr);
+			    } else {
+				xmlSchemaPIllegalAttrErr(ctxt,
+				    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+				    &repName, (xmlSchemaTypePtr) ret, attr);
+			    }
 			}
 		    } else if ((!xmlStrEqual(attr->name, BAD_CAST "final")) && 
 			(!xmlStrEqual(attr->name, BAD_CAST "abstract")) && 
@@ -5540,38 +5797,37 @@
 xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                          xmlNodePtr node, int topLevel)
 {
-    xmlSchemaTypePtr type, subtype, ctxtType;
+    xmlSchemaTypePtr type, subtype, oldCtxtType, oldParentItem;
     xmlNodePtr child = NULL;
     const xmlChar *attrValue = NULL;
-    xmlChar *repName = NULL;
+    xmlChar *des = NULL;
     xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
-
-    attr = xmlSchemaGetPropNode(node, "name");
-
+   
     if (topLevel) {
+	attr = xmlSchemaGetPropNode(node, "name");
 	if (attr == NULL) {
 	    xmlSchemaPMissingAttrErr(ctxt, 
 		XML_SCHEMAP_S4S_ATTR_MISSING, 
-		(xmlChar **) &xmlSchemaElemDesAttrDecl, NULL, node,
+		(xmlChar **) &xmlSchemaElemDesST, NULL, node,
 		"name", NULL);
 	    return (NULL);
 	} else if (xmlSchemaPValAttrNode(ctxt, 
-	    (xmlChar **) &xmlSchemaElemDesAttrDecl, NULL, attr, 
+	    (xmlChar **) &xmlSchemaElemDesST, NULL, attr, 
 	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &attrValue) != 0) {
 	    return (NULL);
 	}
     }
             
     if (topLevel == 0) {
-        char buf[100];
+        char buf[40];
 
 	/*
 	* Parse as local simple type definition.
 	*/
-        snprintf(buf, 99, "#st %d", ctxt->counter++ + 1);
+        snprintf(buf, 39, "#ST %d", ctxt->counter++ + 1);
 	type = xmlSchemaAddType(ctxt, schema, (const xmlChar *)buf, NULL, node);
 	if (type == NULL)
 	    return (NULL);
@@ -5586,18 +5842,20 @@
 		if (!xmlStrEqual(attr->name, BAD_CAST "id")) {
 		    xmlSchemaPIllegalAttrErr(ctxt, 
 			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
-			&repName, type, attr);		    
+			&des, type, attr);		    
 		}
 	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
 		    xmlSchemaPIllegalAttrErr(ctxt, 
 			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
-			&repName, type, attr);	
+			&des, type, attr);	
 	    }
 	    attr = attr->next;
 	}
     } else {		
 	/*
 	* Parse as global simple type definition.
+	*
+	* Note that attrValue is the value of the attribute "name" here.
 	*/	
 	type = xmlSchemaAddType(ctxt, schema, attrValue, schema->targetNamespace, node);
 	if (type == NULL)
@@ -5613,15 +5871,15 @@
 	    if (attr->ns == NULL) {
 		if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
 		    (!xmlStrEqual(attr->name, BAD_CAST "name")) &&
-		    (!xmlStrEqual(attr->name, BAD_CAST "final"))){
+		    (!xmlStrEqual(attr->name, BAD_CAST "final"))) {
 		    xmlSchemaPIllegalAttrErr(ctxt, 
 			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
-			&repName, type, attr);	
+			&des, type, attr);	
 		}
 	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
 		xmlSchemaPIllegalAttrErr(ctxt, 
 		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
-		    &repName, type, attr);	
+		    &des, type, attr);	
 	    }
 	    attr = attr->next;
 	}
@@ -5640,7 +5898,7 @@
 
 		xmlSchemaPSimpleTypeErr(ctxt, 
 		    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
-		    &repName, type, (xmlNodePtr) attr, 
+		    &des, type, (xmlNodePtr) attr, 
 		    NULL, "(#all | List of (list | union | restriction)", 
 		    attrValue, NULL, NULL, NULL);
 	    }
@@ -5651,7 +5909,8 @@
     /*
     * And now for the children...
     */
-    ctxtType = ctxt->ctxtType;
+    oldCtxtType = ctxt->ctxtType;
+    oldParentItem = ctxt->parentItem;
     ctxt->ctxtType = type;
     ctxt->parentItem = type;
     child = node->children;
@@ -5676,12 +5935,12 @@
     type->subtypes = subtype;    
     if ((child != NULL) || (subtype == NULL)) {
 	xmlSchemaPContentErr(ctxt, XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, 
-	    &repName, type, node, child, NULL, 
+	    &des, type, node, child, NULL, 
 	    "(annotation?, (restriction | list | union))");
     }
-    ctxt->ctxtType = ctxtType;
-    if (repName != NULL)
-	xmlFree(repName);
+    ctxt->parentItem = oldParentItem;
+    ctxt->ctxtType = oldCtxtType;
+    FREE_AND_NULL(des)
 
     return (type);
 }
@@ -5708,11 +5967,19 @@
     const xmlChar *name;
     const xmlChar *ref = NULL, *refNs = NULL;
     char buf[100];
+    int minOccurs, maxOccurs;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
-
-
+    /*
+    * TODO: Validate the element even if no item is created 
+    * (i.e. min/maxOccurs == 0).
+    */
+    minOccurs = xmlGetMinOccurs(ctxt, node, 0, -1, 1, "nonNegativeInteger");
+    maxOccurs = xmlGetMaxOccurs(ctxt, node, 0, UNBOUNDED, 1, "(nonNegativeInteger | unbounded)");
+    if ((minOccurs == 0) && (maxOccurs == 0)) {
+	return (NULL);
+    }
     name = xmlSchemaGetProp(ctxt, node, "name");
     if (name == NULL) {
         ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
@@ -5738,10 +6005,9 @@
     type->id = xmlSchemaGetProp(ctxt, node, "id");
     type->ref = ref;
     type->refNs = refNs;
-
-    type->minOccurs = xmlGetMinOccurs(ctxt, node, 0, -1, 1, "nonNegativeInteger");
-    type->maxOccurs = xmlGetMaxOccurs(ctxt, node, 0, UNBOUNDED, 1, "(nonNegativeInteger | unbounded)");
-    xmlSchemaPCheckParticleCorrect_2(ctxt, type, 
+    type->minOccurs = minOccurs;
+    type->maxOccurs = maxOccurs;
+    xmlSchemaPCheckParticleCorrect_2(ctxt, type,
 	node, type->minOccurs, type->maxOccurs);    
 
     child = node->children;
@@ -6162,135 +6428,58 @@
     ctxt->ctxtType = NULL;
 }
 
+static xmlSchemaImportPtr
+xmlSchemaAddImport(xmlSchemaParserCtxtPtr ctxt, 
+		   xmlHashTablePtr *imports,
+		   const xmlChar *nsName)
+{
+    xmlSchemaImportPtr ret;
 
-/**
- * xmlSchemaParseImport:
- * @ctxt:  a schema validation context
- * @schema:  the schema being built
- * @node:  a subtree containing XML Schema informations
- *
- * parse a XML schema Import definition
- * *WARNING* this interface is highly subject to change
- *
- * Returns 0 in case of success, a positive error code if 
- * not valid and -1 in case of an internal error. 
- */
+    if (*imports == NULL) {
+	*imports = xmlHashCreate(10);
+	if (*imports == NULL) {
+	    xmlSchemaPCustomErr(ctxt, 
+		XML_SCHEMAP_FAILED_BUILD_IMPORT,
+		NULL, NULL, (xmlNodePtr) ctxt->doc,
+		"Internal error: failed to build the import table",
+		NULL);
+	    return (NULL);
+	}
+    }
+    ret = (xmlSchemaImport*) xmlMalloc(sizeof(xmlSchemaImport));
+    if (ret == NULL) {
+	xmlSchemaPErrMemory(NULL, "allocating import struct", NULL);
+	return (NULL);
+    }   
+    memset(ret, 0, sizeof(xmlSchemaImport));
+    if (nsName == NULL)
+	nsName = XML_SCHEMAS_NO_NAMESPACE;
+    xmlHashAddEntry(*imports, nsName, ret);  
+
+    return (ret);
+}
+
 static int
-xmlSchemaParseImport(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                     xmlNodePtr node)
+xmlSchemaAcquireSchemaDoc(xmlSchemaParserCtxtPtr ctxt,
+			  xmlSchemaPtr schema,
+			  xmlNodePtr node,
+			  const xmlChar *nsName,
+			  const xmlChar *location,
+			  xmlDocPtr *doc,
+			  const xmlChar **targetNamespace,
+			  int absolute)
 {
-    xmlNodePtr child = NULL;
-    xmlSchemaImportPtr import = NULL;
-    const xmlChar *namespace = NULL, *ns;
-    const xmlChar *schemaLocation = NULL;
-    const xmlChar *targetNamespace, *oldTNS, *url;
-    xmlAttrPtr attr;
-    xmlDocPtr doc;
+    xmlParserCtxtPtr parserCtxt;
+    xmlSchemaImportPtr import;
+    const xmlChar *ns;
     xmlNodePtr root;
-    xmlChar *base = NULL;
-    xmlChar *URI = NULL;
-    int flags;
-    xmlParserCtxtPtr parserCtxt;
 
-
-    if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
-        return (-1);
-
     /*
-    * Check for illegal attributes.
+    * NOTE: This will be used for <import>, <xsi:schemaLocation> and
+    * <xsi:noNamespaceSchemaLocation>.
     */
-    attr = node->properties;
-    while (attr != NULL) {
-	if (attr->ns == NULL) {
-	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
-		(!xmlStrEqual(attr->name, BAD_CAST "namespace")) &&
-		(!xmlStrEqual(attr->name, BAD_CAST "schemaLocation"))) {
-		xmlSchemaPIllegalAttrErr(ctxt, 
-		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
-		    NULL, NULL, attr);		    
-	    }
-	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
-	    xmlSchemaPIllegalAttrErr(ctxt, 
-		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
-		NULL, NULL, attr);		
-	}
-	attr = attr->next;
-    }	
+    *doc = NULL;
     /*
-    * Extract and validate attributes.
-    */
-    if (xmlSchemaPValAttr(ctxt, NULL, NULL, node, 
-	"namespace", xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
-	&namespace) != 0) {
-	xmlSchemaPSimpleTypeErr(ctxt,	    
-	    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, 
-	    NULL, NULL, node, 
-	    xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
-	    NULL, namespace, NULL, NULL, NULL);
-	return (XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI);
-    }
-
-    if (xmlSchemaPValAttr(ctxt, NULL, NULL, node, 
-	"schemaLocation", xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
-	&schemaLocation) != 0) {
-	xmlSchemaPSimpleTypeErr(ctxt,	    
-	    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, 
-	    NULL, NULL, node, 
-	    xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
-	    NULL, namespace, NULL, NULL, NULL);
-	return (XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI);
-    }    
-    /*
-    * And now for the children...
-    */
-    child = node->children;
-    if (IS_SCHEMA(child, "annotation")) {
-        /*
-         * the annotation here is simply discarded ...
-         */
-        child = child->next;
-    }
-    if (child != NULL) {
-	xmlSchemaPContentErr(ctxt,
-	    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD,
-	    NULL, NULL, node, child, NULL,
-	    "(annotation?)");
-    }
-    /*
-    * Apply additional constraints.
-    */
-    if (namespace != NULL) {
-	/*
-	* 1.1 If the namespace [attribute] is present, then its ·actual value· 
-	* must not match the ·actual value· of the enclosing <schema>'s 
-	* targetNamespace [attribute].
-	*/
-	if (xmlStrEqual(schema->targetNamespace, namespace)) {
-	    xmlSchemaPCustomErr(ctxt,
-		XML_SCHEMAP_SRC_IMPORT_1_1,
-		NULL, NULL, node,
-		"The value of the attribute 'namespace' must not match "
-		"the target namespace '%s' of the importing schema",
-		schema->targetNamespace);
-	    return (XML_SCHEMAP_SRC_IMPORT_1_1);
-	}
-    } else {
-	/*
-	* 1.2 If the namespace [attribute] is not present, then the enclosing 
-	* <schema> must have a targetNamespace [attribute].
-	*/
-	if (schema->targetNamespace == NULL) {
-	    xmlSchemaPCustomErr(ctxt,
-		XML_SCHEMAP_SRC_IMPORT_1_2,
-		NULL, NULL, node,
-		"The attribute 'namespace' must be existent if "
-		"the importing schema has no target namespace",
-		NULL);
-	    return (XML_SCHEMAP_SRC_IMPORT_1_2);
-	}
-    }
-
-    /*
     * Given that the schemaLocation [attribute] is only a hint, it is open 
     * to applications to ignore all but the first <import> for a given 
     * namespace, regardless of the ·actual value· of schemaLocation, but
@@ -6302,7 +6491,7 @@
     * valid or not.
     * We will follow XSV here. 
     */
-    if (schemaLocation == NULL) {
+    if (location == NULL) {
 	/*
 	* Schema Document Location Strategy:
 	*
@@ -6316,10 +6505,10 @@
 	*/
 	return (0);
     }
-    if (namespace == NULL) 
+    if (nsName == NULL) 
 	ns = XML_SCHEMAS_NO_NAMESPACE;
     else
-	ns = namespace;
+	ns = nsName;
     
     import = xmlHashLookup(schema->schemasImports, ns);
     if (import != NULL) {	
@@ -6331,6 +6520,7 @@
 	*/
 	return (0);
     } 
+   
     /*
     * Schema Document Location Strategy: 
     *
@@ -6343,19 +6533,21 @@
     * TODO: Hmm, I don't know if the reference stuff in 4. will work.
     *
     */
-    	
-    base = xmlNodeGetBase(node->doc, node);
-    if (base == NULL) {
-	URI = xmlBuildURI(schemaLocation, node->doc->URL);
-    } else {
-	URI = xmlBuildURI(schemaLocation, base);
-	xmlFree(base);
+    if ((absolute == 0) && (node != NULL)) {
+	xmlChar *base, *URI;
+
+	base = xmlNodeGetBase(node->doc, node);
+	if (base == NULL) {
+	    URI = xmlBuildURI(location, node->doc->URL);
+	} else {
+	    URI = xmlBuildURI(location, base);
+	    xmlFree(base);
+	}
+	if (URI != NULL) {
+	    location = xmlDictLookup(ctxt->dict, URI, -1);
+	    xmlFree(URI);
+	}
     }
-    if (URI != NULL) {
-	schemaLocation = xmlDictLookup(ctxt->dict, URI, -1);
-	xmlFree(URI);
-    }
-                 	
     parserCtxt = xmlNewParserCtxt();
     if (parserCtxt == NULL) {
 	xmlSchemaPErrMemory(NULL, "xmlSchemaParseImport: "
@@ -6363,7 +6555,7 @@
 	return(-1);
     }		
     
-    doc = xmlCtxtReadFile(parserCtxt, (const char *) schemaLocation, 
+    *doc = xmlCtxtReadFile(parserCtxt, (const char *) location, 
 	    NULL, SCHEMAS_PARSE_OPTIONS);
 
     /*
@@ -6379,7 +6571,7 @@
     * NOTE: 2.2 won't apply, since only XML documents will be processed 
     * here.
     */       
-    if (doc == NULL) {	
+    if (*doc == NULL) {	
 	xmlErrorPtr lerr;
 	/*
 	* It is *not* an error for the application schema reference 
@@ -6406,20 +6598,21 @@
 	    XML_SCHEMAP_SRC_IMPORT_2_1,
 	    NULL, NULL, node,
 	    "Failed to parse the resource '%s' for import",
-	    schemaLocation);
+	    location);
 	xmlFreeParserCtxt(parserCtxt);
 	return(XML_SCHEMAP_SRC_IMPORT_2_1);
     }
     xmlFreeParserCtxt(parserCtxt);
     
-    root = xmlDocGetRootElement(doc);
+    root = xmlDocGetRootElement(*doc);
     if (root == NULL) {
 	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_SRC_IMPORT_2_1,
 	    NULL, NULL, node,
 	    "The XML document '%s' to be imported has no document "
-	    "element", schemaLocation);	
-	xmlFreeDoc(doc);	
+	    "element", location);	
+	xmlFreeDoc(*doc);
+	*doc = NULL;
 	return (XML_SCHEMAP_SRC_IMPORT_2_1);
     }	
     
@@ -6430,91 +6623,223 @@
 	    XML_SCHEMAP_SRC_IMPORT_2_1,
 	    NULL, NULL, node,
 	    "The XML document '%s' to be imported is not a XML schema document",
-	    schemaLocation);	
-	xmlFreeDoc(doc);
+	    location);	
+	xmlFreeDoc(*doc);
+	*doc = NULL;
 	return (XML_SCHEMAP_SRC_IMPORT_2_1);
     }	
-    targetNamespace = xmlSchemaGetProp(ctxt, root, "targetNamespace");
+    *targetNamespace = xmlSchemaGetProp(ctxt, root, "targetNamespace");
     /*
     * Schema Representation Constraint: Import Constraints and Semantics
     */    
-    if (namespace == NULL) {
-	if (targetNamespace != NULL) {
+    if (nsName == NULL) {
+	if (*targetNamespace != NULL) {
 	    xmlSchemaPCustomErr(ctxt,
 		XML_SCHEMAP_SRC_IMPORT_3_2,
 		NULL, NULL, node,
-		"No 'namespace' attribute was " 
-		"specified, thus the XML schema to be imported "
-		"must have no target namespace", NULL);
-	    xmlFreeDoc(doc);
+		"The XML schema to be imported is not expected "
+		"to have a target namespace; this differs from "
+		"its target namespace of '%s'", *targetNamespace);
+	    xmlFreeDoc(*doc);
+	    *doc = NULL;
 	    return (XML_SCHEMAP_SRC_IMPORT_3_2);
 	}
     } else {
-	if (targetNamespace == NULL) {
+	if (*targetNamespace == NULL) {
 	    xmlSchemaPCustomErr(ctxt,
 		XML_SCHEMAP_SRC_IMPORT_3_1,
 		NULL, NULL, node,
-		"The attribute 'namespace' requires the XML schema to be "
-		"imported to have a target namespace of '%s'", namespace);
-	    xmlFreeDoc(doc);
+		"The XML schema to be imported is expected to have a target "
+		"namespace of '%s'", nsName);
+	    xmlFreeDoc(*doc);
+	    *doc = NULL;
 	    return (XML_SCHEMAP_SRC_IMPORT_3_1);
-	} else if (!xmlStrEqual(targetNamespace, namespace)) {
+	} else if (!xmlStrEqual(*targetNamespace, nsName)) {
 	    xmlSchemaPCustomErrExt(ctxt,
 		XML_SCHEMAP_SRC_IMPORT_3_1,
 		NULL, NULL, node,
-		"The value '%s' of the attribute 'namespace' is not "
-		"identical to the target namespace '%s' of the "
-		"XML schema to be imported", 
-		namespace, targetNamespace, NULL);
-	    xmlFreeDoc(doc);
+		"The XML schema to be imported is expected to have a "
+		"target namespace of '%s'; this differs from "
+		"its target namespace of '%s'", 
+		nsName, *targetNamespace, NULL);
+	    xmlFreeDoc(*doc);
+	    *doc = NULL;
 	    return (XML_SCHEMAP_SRC_IMPORT_3_1);
 	}
     }
+
+    import = xmlSchemaAddImport(ctxt, &(schema->schemasImports), nsName);
+    if (import == NULL) {
+	xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_FAILED_BUILD_IMPORT,
+	    NULL, NULL, NULL,	    
+	    "Internal error: xmlSchemaAcquireSchemaDoc, "
+	    "failed to build import table", NULL);
+	xmlFreeDoc(*doc);
+	*doc = NULL;
+	return (-1);
+    }
+    import->schemaLocation = location;
+    import->doc = *doc;
+    return (0);
+}
+
+/**
+ * xmlSchemaParseImport:
+ * @ctxt:  a schema validation context
+ * @schema:  the schema being built
+ * @node:  a subtree containing XML Schema informations
+ *
+ * parse a XML schema Import definition
+ * *WARNING* this interface is highly subject to change
+ *
+ * Returns 0 in case of success, a positive error code if 
+ * not valid and -1 in case of an internal error. 
+ */
+static int
+xmlSchemaParseImport(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
+                     xmlNodePtr node)
+{    
+    xmlNodePtr child;
+    const xmlChar *namespace = NULL;
+    const xmlChar *schemaLocation = NULL;
+    const xmlChar *targetNamespace, *oldTNS, *url;
+    xmlAttrPtr attr;
+    xmlDocPtr doc;
+    xmlNodePtr root;
+    int flags, ret = 0;
+
+
+    if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
+        return (-1);
+
     /*
-    * Finally, import the schema.
+    * Check for illegal attributes.
     */
-    if (schema->schemasImports == NULL) {
-	schema->schemasImports = xmlHashCreate(10);
-	if (schema->schemasImports == NULL) {
-	    xmlSchemaPErr2(ctxt, node, child,
-		XML_SCHEMAP_FAILED_BUILD_IMPORT,
-		"Internal error: failed to build import table.\n",
-		NULL, NULL);
-	    return (-1);
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "namespace")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "schemaLocation"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, NULL, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, NULL, attr);		
 	}
+	attr = attr->next;
+    }	
+    /*
+    * Extract and validate attributes.
+    */
+    if (xmlSchemaPValAttr(ctxt, NULL, NULL, node, 
+	"namespace", xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	&namespace) != 0) {
+	xmlSchemaPSimpleTypeErr(ctxt,	    
+	    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, 
+	    NULL, NULL, node, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	    NULL, namespace, NULL, NULL, NULL);
+	return (XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI);
     }
-    import = (xmlSchemaImport*) xmlMalloc(sizeof(xmlSchemaImport));
-    if (import == NULL) {
-	xmlSchemaPErrMemory(NULL, "allocating imported schema", NULL);
-	xmlFreeDoc(doc);
-	return (-1);
+
+    if (xmlSchemaPValAttr(ctxt, NULL, NULL, node, 
+	"schemaLocation", xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	&schemaLocation) != 0) {
+	xmlSchemaPSimpleTypeErr(ctxt,	    
+	    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, 
+	    NULL, NULL, node, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	    NULL, namespace, NULL, NULL, NULL);
+	return (XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI);
     }    
-    memset(import, 0, sizeof(xmlSchemaImport));
-    import->schemaLocation = schemaLocation;
-    import->doc = doc;
-    xmlHashAddEntry(schema->schemasImports, ns, import);    
     /*
-    * Save and reset the context & schema.
+    * And now for the children...
     */
-    url = ctxt->URL;  
-    /* TODO: Check this. */
-    ctxt->URL = schemaLocation;
-    flags = schema->flags;
-    oldTNS = schema->targetNamespace;
-
-    xmlSchemaClearSchemaDefaults(schema);
-    xmlSchemaParseSchemaDefaults(ctxt, schema, root);
-    schema->targetNamespace = targetNamespace;
-    xmlSchemaParseSchemaTopLevel(ctxt, schema, root->children);
-
+    child = node->children;
+    if (IS_SCHEMA(child, "annotation")) {
+        /*
+         * the annotation here is simply discarded ...
+         */
+        child = child->next;
+    }
+    if (child != NULL) {
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD,
+	    NULL, NULL, node, child, NULL,
+	    "(annotation?)");
+    }
     /*
-    * Restore the context & schema.
+    * Apply additional constraints.
     */
-    schema->flags = flags;
-    schema->targetNamespace = oldTNS;
-    ctxt->URL = url;                       
+    if (namespace != NULL) {
+	/*
+	* 1.1 If the namespace [attribute] is present, then its ·actual value· 
+	* must not match the ·actual value· of the enclosing <schema>'s 
+	* targetNamespace [attribute].
+	*/
+	if (xmlStrEqual(schema->targetNamespace, namespace)) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_IMPORT_1_1,
+		NULL, NULL, node,
+		"The value of the attribute 'namespace' must not match "
+		"the target namespace '%s' of the importing schema",
+		schema->targetNamespace);
+	    return (XML_SCHEMAP_SRC_IMPORT_1_1);
+	}
+    } else {
+	/*
+	* 1.2 If the namespace [attribute] is not present, then the enclosing 
+	* <schema> must have a targetNamespace [attribute].
+	*/
+	if (schema->targetNamespace == NULL) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_IMPORT_1_2,
+		NULL, NULL, node,
+		"The attribute 'namespace' must be existent if "
+		"the importing schema has no target namespace",
+		NULL);
+	    return (XML_SCHEMAP_SRC_IMPORT_1_2);
+	}
+    }
+    /*
+    * Locate and aquire the schema document.
+    */
+    ret = xmlSchemaAcquireSchemaDoc(ctxt, schema, node, namespace, 
+	schemaLocation, &doc, &targetNamespace, 0);
+    if (ret != 0) {
+	if (doc != NULL)
+	    xmlFreeDoc(doc);
+	return (ret);
+    } else if (doc != NULL) {       
+	/*
+	* Save and reset the context & schema.
+	*/
+	url = ctxt->URL;  
+	/* TODO: Is using the doc->URL here correct? */
+	ctxt->URL = doc->URL;
+	flags = schema->flags;
+	oldTNS = schema->targetNamespace;
+	/*
+	* Parse the schema.
+	*/
+	root = xmlDocGetRootElement(doc);
+	xmlSchemaClearSchemaDefaults(schema);
+	xmlSchemaParseSchemaDefaults(ctxt, schema, root);
+	schema->targetNamespace = targetNamespace;
+	xmlSchemaParseSchemaTopLevel(ctxt, schema, root->children);
+	/*
+	* Restore the context & schema.
+	*/
+	schema->flags = flags;
+	schema->targetNamespace = oldTNS;
+	ctxt->URL = url;
+    }
     
-    return (1);
+    return (0);
 }
 
 /**
@@ -7139,8 +7464,13 @@
 	    } while (facet != NULL);
 	}
     }    
-    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX)
-	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);    
+    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX) {
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+	if (IS_SCHEMA(child, "anyAttribute")) {
+	    ctxt->ctxtType->attributeWildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
+    }
     if (child != NULL) {
 	/* TODO: Think about the error code. */
 	if (ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) {	    
@@ -7234,7 +7564,15 @@
     }
     if (subtype != NULL)
         type->subtypes = subtype;
-    child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+    if ((ctxt->ctxtType != NULL) &&
+	(ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX)) {
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+	if (IS_SCHEMA(child, "anyAttribute")) {	    
+	    ctxt->ctxtType->attributeWildcard = 
+		xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
+    }
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child,
 	    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD,
@@ -7260,7 +7598,7 @@
 xmlSchemaParseSimpleContent(xmlSchemaParserCtxtPtr ctxt,
                             xmlSchemaPtr schema, xmlNodePtr node)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, oldParentItem;
     xmlNodePtr child = NULL;
     xmlChar name[30];
 
@@ -7280,6 +7618,7 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    oldParentItem = ctxt->parentItem;
     ctxt->parentItem = type;
     subtype = NULL;    
     if (IS_SCHEMA(child, "restriction")) {
@@ -7298,6 +7637,7 @@
 	    "<simpleContent> has unexpected content.\n",
 	    NULL, NULL);
     }
+    ctxt->parentItem = oldParentItem;
     return (type);
 }
 
@@ -7316,26 +7656,54 @@
 xmlSchemaParseComplexContent(xmlSchemaParserCtxtPtr ctxt,
                              xmlSchemaPtr schema, xmlNodePtr node)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, oldParentItem;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-    snprintf((char *) name, 30, "complexContent %d", ctxt->counter++ + 1);
+    snprintf((char *) name, 30, "#CC %d", ctxt->counter++ + 1);
     type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->type = XML_SCHEMA_TYPE_COMPLEX_CONTENT;
     type->node = node;    
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "mixed"))) 
+	    {
+		xmlSchemaPIllegalAttrErr(ctxt,
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		    NULL, NULL, attr);
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		NULL, NULL, attr);
+	}
+	attr = attr->next;
+    }	
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-
+    /*
+    * Handle attribute 'mixed'.
+    */
+    if (xmlGetBooleanProp(ctxt, NULL, type, node, "mixed", 0))  {
+	if ((ctxt->ctxtType->flags & XML_SCHEMAS_TYPE_MIXED) == 0)
+	    ctxt->ctxtType->flags |= XML_SCHEMAS_TYPE_MIXED;
+    }
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    oldParentItem = ctxt->parentItem;
     ctxt->parentItem = type;
     subtype = NULL;
     if (IS_SCHEMA(child, "restriction")) {
@@ -7349,11 +7717,12 @@
     }
     type->subtypes = subtype;
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-	    XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD,
-	    "<complexContent> has unexpected content.\n",
-	    NULL, NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+	    NULL, NULL, node, child,
+	    NULL, "(annotation?, (restriction | extension))");
     }
+    ctxt->parentItem = oldParentItem;
     return (type);
 }
 
@@ -7374,39 +7743,161 @@
 {
     xmlSchemaTypePtr type, subtype, ctxtType;
     xmlNodePtr child = NULL;
-    const xmlChar *name;
+    const xmlChar *name = NULL;
     const xmlChar *oldcontainer;    
-    char buf[100];
+    xmlAttrPtr attr;
+    const xmlChar *attrValue;
+    xmlChar *des = NULL; /* The reported designation. */
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
     ctxtType = ctxt->ctxtType;
 
-    oldcontainer = ctxt->container;
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
-        snprintf(buf, 99, "complexType %d", ctxt->counter++ + 1);
-	name = (const xmlChar *)buf;
-	type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
-    } else {
+    if (topLevel) {
+	attr = xmlSchemaGetPropNode(node, "name");
+	if (attr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_MISSING, 
+		(xmlChar **) &xmlSchemaElemDesCT, NULL, node,
+		"name", NULL);
+	    return (NULL);
+	} else if (xmlSchemaPValAttrNode(ctxt, 
+	    (xmlChar **) &xmlSchemaElemDesCT, NULL, attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &name) != 0) {
+	    return (NULL);
+	}
+    }
+            
+    if (topLevel == 0) {
+        char buf[40];
 
-        /* local = xmlSchemaGetNamespace(ctxt, schema, node, name, &ns); */
+	/*
+	* Parse as local complex type definition.
+	*/
+        snprintf(buf, 39, "#CT %d", ctxt->counter++ + 1);
+	type = xmlSchemaAddType(ctxt, schema, (const xmlChar *)buf, NULL, node);
+	if (type == NULL)
+	    return (NULL);
+	name = (const xmlChar *) buf;
+	type->node = node;
+	type->type = XML_SCHEMA_TYPE_COMPLEX;
+	/*
+	* TODO: We need the target namespace.
+	*/	
+    } else {	
+	/*
+	* Parse as global complex type definition.
+	*/	
 	type = xmlSchemaAddType(ctxt, schema, name, schema->targetNamespace, node);
-    }
-    if (type == NULL) {
-        return (NULL);
-    }
-    if (xmlGetBooleanProp(ctxt, NULL, type, node, "mixed", 0)) 
-	type->flags |= XML_SCHEMAS_TYPE_MIXED;    
-
-    type->node = node;
-    type->type = XML_SCHEMA_TYPE_COMPLEX;
-    if (topLevel) 
-        type->flags |= XML_SCHEMAS_TYPE_GLOBAL;
-    type->id = xmlSchemaGetProp(ctxt, node, "id");
-    ctxt->container = name;
-
+	if (type == NULL)
+	    return (NULL);
+	type->node = node;
+	type->type = XML_SCHEMA_TYPE_COMPLEX;
+	type->flags |= XML_SCHEMAS_TYPE_GLOBAL;	
+	/* 
+	* Set defaults.
+	*/
+	type->flags |= XML_SCHEMAS_TYPE_FINAL_DEFAULT;
+	type->flags |= XML_SCHEMAS_TYPE_BLOCK_DEFAULT;
+    } 
+    /*
+    * Handle attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if (xmlStrEqual(attr->name, BAD_CAST "id")) {
+		/*
+		* Attribute "id".
+		*/
+		type->id = xmlSchemaGetProp(ctxt, node, "id");
+	    } else if (xmlStrEqual(attr->name, BAD_CAST "mixed")) {
+		/*
+		* Attribute "mixed".
+		*/
+		if (xmlSchemaPGetBoolNodeValue(ctxt, &des, type, 
+		    (xmlNodePtr) attr))
+		    type->flags |= XML_SCHEMAS_TYPE_MIXED; 		
+	    } else if (topLevel) {		
+		/*
+		* Attributes of global complex type definitions.
+		*/
+		if (xmlStrEqual(attr->name, BAD_CAST "name")) {
+		    /* Pass. */
+		} else if (xmlStrEqual(attr->name, BAD_CAST "abstract")) {
+		    /*
+		    * Attribute "abstract".
+		    */
+		    if (xmlSchemaPGetBoolNodeValue(ctxt, &des, type, 
+			(xmlNodePtr) attr))		    
+			type->flags |= XML_SCHEMAS_TYPE_ABSTRACT;
+		} else if (xmlStrEqual(attr->name, BAD_CAST "final")) {
+		    /*
+		    * Attribute "final".
+		    */
+		    attrValue = xmlSchemaGetNodeContent(ctxt, 
+			(xmlNodePtr) attr);
+		    if (xmlSchemaPValAttrBlockFinal(attrValue, 
+			&(type->flags), 
+			-1, 
+			XML_SCHEMAS_TYPE_FINAL_EXTENSION, 
+			XML_SCHEMAS_TYPE_FINAL_RESTRICTION, 
+			-1, -1, -1) != 0) 
+		    {
+			xmlSchemaPSimpleTypeErr(ctxt, 
+			    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+			    &des, type, (xmlNodePtr) attr, 
+			    NULL, 
+			    "(#all | List of (extension | restriction))", 
+			    attrValue, NULL, NULL, NULL);
+		    }
+		} else if (xmlStrEqual(attr->name, BAD_CAST "block")) {
+		    /*
+		    * Attribute "block".
+		    */			
+		    attrValue = xmlSchemaGetNodeContent(ctxt, 
+			(xmlNodePtr) attr);	    
+		    if (xmlSchemaPValAttrBlockFinal(attrValue, &(type->flags), 
+			-1,
+			XML_SCHEMAS_TYPE_BLOCK_EXTENSION,
+			XML_SCHEMAS_TYPE_BLOCK_RESTRICTION, 
+			-1, -1, -1) != 0) {
+			xmlSchemaPSimpleTypeErr(ctxt,
+			    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+			    &des, type, (xmlNodePtr) attr,
+			    NULL, 
+			    "(#all | List of (extension | restriction)) ", 
+			    attrValue, NULL, NULL, NULL);
+		    }
+		} else {
+			xmlSchemaPIllegalAttrErr(ctxt, 
+			    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+			    &des, type, attr);
+		}
+	    } else {	    
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    &des, type, attr);
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		&des, type, attr);	
+	}
+	attr = attr->next;
+    }       
+    /* 
+    * Set as default for attribute wildcards.
+    * This will be only changed if a complex type
+    * inherits an attribute wildcard from a base type.
+    */
+    type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
+    /*
+    * And now for the children...
+    */
+    oldcontainer = ctxt->container;
+    ctxt->container = name;    
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
@@ -7414,10 +7905,11 @@
     }
     ctxt->ctxtType = type;
     if (IS_SCHEMA(child, "simpleContent")) {
-	/* 3.4.3 : 2.2  
-	 * Specifying mixed='true' when the <simpleContent>
-	 * alternative is chosen has no effect
-	 */
+	/* 
+	* 3.4.3 : 2.2  
+	* Specifying mixed='true' when the <simpleContent>
+	* alternative is chosen has no effect
+	*/
 	if (type->flags & XML_SCHEMAS_TYPE_MIXED)
 	    type->flags ^= XML_SCHEMAS_TYPE_MIXED;
         type->subtypes = xmlSchemaParseSimpleContent(ctxt, schema, child);
@@ -7427,7 +7919,9 @@
         child = child->next;
     } else {
         subtype = NULL;
-
+	/*
+	* Parse model groups.
+	*/
         if (IS_SCHEMA(child, "all")) {
             subtype = xmlSchemaParseAll(ctxt, schema, child);
             child = child->next;
@@ -7443,16 +7937,27 @@
         }
         if (subtype != NULL)
             type->subtypes = subtype;
+	/*
+	* Parse attribute decls/refs.
+	*/
         child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+	/*
+	* Parse attribute wildcard.
+	*/
+	if (IS_SCHEMA(child, "anyAttribute")) {	    
+	    type->attributeWildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-	    XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD,
-	    "Complex type definition \"%s\" has unexpected content.\n",
-	    type->name, NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, 
+	    &des, type, node, child,
+	    NULL, "(annotation?, (simpleContent | complexContent | "
+	    "((group | all | choice | sequence)?, ((attribute | "
+	    "attributeGroup)*, anyAttribute?))))");
     }
-    if (type->attributeWildcard != NULL)
-	type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
+    FREE_AND_NULL(des);
     ctxt->container = oldcontainer;
     ctxt->ctxtType = ctxtType;
     return (type);
@@ -7477,15 +7982,25 @@
     int nberrors;
     xmlAttrPtr attr;
 
+    /*
+    * This one is called by xmlSchemaParse only and is used if
+    * the schema to be parsed was specified via the API; i.e. not
+    * automatically by the validated instance document.
+    */
     if ((ctxt == NULL) || (node == NULL))
         return (NULL);
     
     nberrors = ctxt->nberrors;
     ctxt->nberrors = 0;
     if (IS_SCHEMA(node, "schema")) {
+	xmlSchemaImportPtr import;
+
         schema = xmlSchemaNewSchema(ctxt);
         if (schema == NULL)
             return (NULL);
+	/*
+	* Disable build of list of items.
+	*/
 	attr = xmlSchemaGetPropNode(node, "targetNamespace"); 		
 	if (attr != NULL) {
 	    xmlSchemaPValAttrNode(ctxt, NULL, NULL, attr, 
@@ -7497,6 +8012,31 @@
 	} else {
 	    schema->targetNamespace = NULL;
 	}
+	/*
+	* Add the current ns name and location to the import table;
+	* this is needed to have a consistent mechanism, regardless
+	* if all schemata are constructed dynamically fired by the
+	* instance or if the schema to be used was specified via
+	* the API.
+	*/
+	import = xmlSchemaAddImport(ctxt, &(schema->schemasImports),
+	    schema->targetNamespace);
+	if (import == NULL) {
+	    xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_FAILED_BUILD_IMPORT,
+		NULL, NULL, (xmlNodePtr) ctxt->doc,
+		"Internal error: xmlSchemaParseSchema, "
+		"failed to add an import entry", NULL);
+	    xmlSchemaFree(schema);
+	    schema = NULL;
+	    return (NULL);
+	}
+	import->schemaLocation = ctxt->URL;
+	/*
+	* NOTE: We won't set the doc here, otherwise it will be freed
+	* if the import struct is freed.
+	* import->doc = ctxt->doc;
+	*/
+
 	/* TODO: Check id. */
         schema->id = xmlSchemaGetProp(ctxt, node, "id");
 	xmlSchemaPValAttr(ctxt, NULL, NULL, node, "version", 
@@ -7526,6 +8066,8 @@
             schema = NULL;
         }
     }
+    if (schema != NULL)
+	schema->counter = ctxt->counter;
     ctxt->nberrors = nberrors;
 #ifdef DEBUG
     if (schema == NULL)
@@ -7547,7 +8089,62 @@
  * 									*
  ************************************************************************/
 
+#if 0 /* Will be enabled if it is clear what options are needed. */
 /**
+ * xmlSchemaParserCtxtSetOptions:
+ * @ctxt:	a schema parser context
+ * @options: a combination of xmlSchemaParserOption
+ *
+ * Sets the options to be used during the parse.
+ *
+ * Returns 0 in case of success, -1 in case of an
+ * API error.
+ */
+static int
+xmlSchemaParserCtxtSetOptions(xmlSchemaParserCtxtPtr ctxt,
+			      int options)
+					
+{
+    int i;
+
+    if (ctxt == NULL)
+	return (-1);
+    /*
+    * WARNING: Change the start value if adding to the
+    * xmlSchemaParseOption.
+    */
+    for (i = 1; i < (int) sizeof(int) * 8; i++) {
+        if (options & 1<<i) {
+	    return (-1);   
+        }	
+    }
+    ctxt->options = options;
+    return (0);      
+}
+
+/**
+ * xmlSchemaValidCtxtGetOptions:
+ * @ctxt: a schema parser context 
+ *
+ * Returns the option combination of the parser context.
+ */
+static int
+xmlSchemaParserCtxtGetOptions(xmlSchemaParserCtxtPtr ctxt)
+					
+{    
+    if (ctxt == NULL)
+	return (-1);
+    else 
+	return (ctxt->options);    
+}
+
+ void *curItems;  /* used for dynamic addition of schemata */
+    int nbCurItems; /* used for dynamic addition of schemata */
+    int sizeCurItems; /* used for dynamic addition of schemata */
+
+#endif
+
+/**
  * xmlSchemaNewParserCtxt:
  * @URL:  the location of the schema
  *
@@ -7578,6 +8175,41 @@
 }
 
 /**
+ * xmlSchemaNewParserCtxtUseDict:
+ * @URL:  the location of the schema
+ * @dict: the dictionary to be used
+ *
+ * Create an XML Schemas parse context for that file/resource expected
+ * to contain an XML Schemas file.
+ *
+ * Returns the parser context or NULL in case of error
+ */
+static xmlSchemaParserCtxtPtr
+xmlSchemaNewParserCtxtUseDict(const char *URL, xmlDictPtr dict)
+{
+    xmlSchemaParserCtxtPtr ret;
+    /*
+    if (URL == NULL)
+        return (NULL);
+	*/
+
+    ret = (xmlSchemaParserCtxtPtr) xmlMalloc(sizeof(xmlSchemaParserCtxt));
+    if (ret == NULL) {
+        xmlSchemaPErrMemory(NULL, "allocating schema parser context",
+                            NULL);
+        return (NULL);
+    }
+    memset(ret, 0, sizeof(xmlSchemaParserCtxt));
+    ret->dict = dict;
+    xmlDictReference(dict);    
+    if (URL != NULL)
+	ret->URL = xmlDictLookup(dict, (const xmlChar *) URL, -1);
+    ret->includes = 0;
+    return (ret);
+}
+
+
+/**
  * xmlSchemaNewMemParserCtxt:
  * @buffer:  a pointer to a char array containing the schemas
  * @size:  the size of the array
@@ -7653,6 +8285,13 @@
         return;
     if (ctxt->doc != NULL && !ctxt->preserve)
         xmlFreeDoc(ctxt->doc);
+    if (ctxt->assemble != NULL) {
+	xmlFree((xmlSchemaTypePtr *) ctxt->assemble->items);
+	xmlFree(ctxt->assemble);
+    }
+    if (ctxt->vctxt != NULL) {
+	xmlSchemaFreeValidCtxt(ctxt->vctxt);
+    }
     xmlDictFree(ctxt->dict);
     xmlFree(ctxt);
 }
@@ -7788,122 +8427,114 @@
             break;
 	}
         case XML_SCHEMA_TYPE_ELEMENT:{
-                xmlSchemaElementPtr elem = (xmlSchemaElementPtr) type;		
+		xmlAutomataStatePtr oldstate;
+                xmlSchemaElementPtr particle, elemDecl;
+
+		/*
+		* IMPORTANT: This puts element declarations
+		* (and never element decl. references) into the
+		* automaton. This is crucial and should not be changed, 
+		* since validating functions rely now on it.
+		*/
+		particle = (xmlSchemaElementPtr) type;
+		if (particle->ref != NULL) {
+		    if (particle->refDecl == NULL) {
+			/*
+			* Skip content model creation if the reference
+			* did not resolve to a declaration.
+			*/
+			break;
+		    } else {
+			/*
+			* Referenced global element declaration.
+			*/
+			elemDecl = particle->refDecl;
+		    }
+		} else {
+		    /*
+		    * Anonymous element declaration.
+		    */
+		    elemDecl = particle;
+		}
 		
-                /* TODO : handle the namespace too */
-                xmlAutomataStatePtr oldstate = ctxt->state;
+                oldstate = ctxt->state;
 
-                if (elem->maxOccurs >= UNBOUNDED) {
-                    if (elem->minOccurs > 1) {
+                if (particle->maxOccurs >= UNBOUNDED) {
+                    if (particle->minOccurs > 1) {
                         xmlAutomataStatePtr tmp;
                         int counter;
 
                         ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
-                                                            oldstate,
-                                                            NULL);
+			    oldstate, NULL);
                         oldstate = ctxt->state;
-
                         counter = xmlAutomataNewCounter(ctxt->am,
-                                                        elem->minOccurs -
-                                                        1, UNBOUNDED);
-
-                        if (elem->refDecl != NULL) {
-                            xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                        elem->refDecl,
-                                                        ctxt,
-                                                        elem->refDecl->
-                                                        name);
-                        } else {
-                            ctxt->state =
-                                xmlAutomataNewTransition2(ctxt->am,
-                                                         ctxt->state, NULL,
-                                                         elem->name, 
-							 elem->targetNamespace,
-							 type);
-                        }
+			    particle->minOccurs - 1, UNBOUNDED);                      
+                        ctxt->state =                            
+			    xmlAutomataNewTransition2(ctxt->am,
+				ctxt->state, NULL, 
+				elemDecl->name, 
+				elemDecl->targetNamespace,
+				(xmlSchemaTypePtr) elemDecl);
                         tmp = ctxt->state;
                         xmlAutomataNewCountedTrans(ctxt->am, tmp, oldstate,
-                                                   counter);
+			    counter);
                         ctxt->state =
                             xmlAutomataNewCounterTrans(ctxt->am, tmp, NULL,
-                                                       counter);
+				counter);
 
-                    } else {
-                        if (elem->refDecl != NULL) {
-                            xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                        elem->refDecl,
-                                                        ctxt,
-                                                        elem->refDecl->
-                                                        name);
-                        } else {
-                            ctxt->state =
-                                xmlAutomataNewTransition2(ctxt->am,
-                                                         ctxt->state, NULL,
-                                                         elem->name, 
-							 elem->targetNamespace,
-							 type);
-                        }
+                    } else {                        
+			ctxt->state =
+			    xmlAutomataNewTransition2(ctxt->am,
+			    ctxt->state, NULL,
+			    elemDecl->name, 
+			    elemDecl->targetNamespace,
+			    (xmlSchemaTypePtr) elemDecl);
                         xmlAutomataNewEpsilon(ctxt->am, ctxt->state,
                                               oldstate);
-                        if (elem->minOccurs == 0) {
+                        if (particle->minOccurs == 0) {
                             /* basically an elem* */
                             xmlAutomataNewEpsilon(ctxt->am, oldstate,
                                                   ctxt->state);
                         }
                     }
-                } else if ((elem->maxOccurs > 1) || (elem->minOccurs > 1)) {
+                } else if ((particle->maxOccurs > 1) || (particle->minOccurs > 1)) {
                     xmlAutomataStatePtr tmp;
                     int counter;
 
                     ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
                                                         oldstate, NULL);
                     oldstate = ctxt->state;
-
                     counter = xmlAutomataNewCounter(ctxt->am,
-                                                    elem->minOccurs - 1,
-                                                    elem->maxOccurs - 1);
-
-                    if (elem->refDecl != NULL) {
-                        xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                    elem->refDecl, ctxt,
-                                                    elem->refDecl->name);
-                    } else {
-                        ctxt->state = xmlAutomataNewTransition2(ctxt->am,
-                                                               ctxt->state,
-                                                               NULL,
-                                                               elem->name,
-							       elem->targetNamespace,
-                                                               type);
-                    }
+			particle->minOccurs - 1,
+			particle->maxOccurs - 1);
+                    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			ctxt->state,
+			NULL,
+			elemDecl->name,
+			elemDecl->targetNamespace,
+			(xmlSchemaTypePtr) elemDecl);
                     tmp = ctxt->state;
                     xmlAutomataNewCountedTrans(ctxt->am, tmp, oldstate,
-                                               counter);
+			counter);
                     ctxt->state = xmlAutomataNewCounterTrans(ctxt->am, tmp,
-                                                             NULL,
-                                                             counter);
-                    if (elem->minOccurs == 0) {
+			NULL, counter);
+                    if (particle->minOccurs == 0) {
                         /* basically an elem? */
                         xmlAutomataNewEpsilon(ctxt->am, oldstate,
-                                              ctxt->state);
+			    ctxt->state);
                     }
 
-                } else {
-                    if (elem->refDecl != NULL) {
-                        xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                    elem->refDecl, ctxt,
-                                                    elem->refDecl->name);
-                    } else {
-                        ctxt->state = xmlAutomataNewTransition2(ctxt->am,
-                                                               ctxt->state,
-                                                               NULL,
-                                                               elem->name,
-							       elem->targetNamespace,
-                                                               type);
-                    }
-                    if (elem->minOccurs == 0) {
+                } else {                    
+		    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			ctxt->state,
+			NULL,
+			elemDecl->name,
+			elemDecl->targetNamespace,
+			(xmlSchemaTypePtr) elemDecl);
+                    if (particle->minOccurs == 0) {
                         /* basically an elem? */
                         xmlAutomataNewEpsilon(ctxt->am, oldstate,
-                                              ctxt->state);
+			    ctxt->state);
                     }
                 }
                 break;
@@ -8088,19 +8719,32 @@
 		     */
 		    if (subtypes->ref != NULL)
 		        xmlSchemaBuildAContentModel(subtypes, ctxt, name);
-                    elem = (xmlSchemaElementPtr) subtypes;		    
-                    /* TODO : handle the namespace too */
+                    elem = (xmlSchemaElementPtr) subtypes;		  
+		    /*
+		    * NOTE: The {max occurs} of all the particles in the 
+		    * {particles} of the group must be 0 or 1.
+		    */                    
                     if ((elem->minOccurs == 1) && (elem->maxOccurs == 1)) {
-                        xmlAutomataNewOnceTrans(ctxt->am, ctxt->state,
-                                                ctxt->state, elem->name, 1,
-                                                1, subtypes);
-                    } else {
-                        xmlAutomataNewCountTrans(ctxt->am, ctxt->state,
-                                                 ctxt->state, elem->name,
-                                                 elem->minOccurs,
-                                                 elem->maxOccurs,
+                        xmlAutomataNewOnceTrans2(ctxt->am, ctxt->state,
+                                                ctxt->state, 
+						elem->name, 
+						elem->targetNamespace,
+						1, 1, subtypes);
+                    } else if ((elem->minOccurs == 0) &&
+			(elem->maxOccurs == 1)) {
+			
+                        xmlAutomataNewCountTrans2(ctxt->am, ctxt->state,
+                                                 ctxt->state, 
+						 elem->name,
+						 elem->targetNamespace,
+                                                 0,
+                                                 1,
                                                  subtypes);
                     }
+		    /*
+		    * NOTE: if maxOccurs == 0 then no transition will be
+		    * created.
+		    */
                     subtypes = subtypes->next;
                 }
                 lax = type->minOccurs == 0;
@@ -8116,7 +8760,12 @@
         case XML_SCHEMA_TYPE_EXTENSION:
             if (type->baseType != NULL) {
                 xmlSchemaTypePtr subtypes;
-
+		
+		/*
+		* TODO: Circular definitions will be checked at the
+		* constraint level. So remove this when the complex type
+		* constraints are implemented.
+		*/
 		if (type->recurse) { 
 		    /* TODO: Change the error code. */
 		    xmlSchemaPCustomErr(ctxt,
@@ -8137,23 +8786,50 @@
                 xmlSchemaBuildAContentModel(type->subtypes, ctxt, name);
             break;
         case XML_SCHEMA_TYPE_GROUP:
-            if (type->subtypes == NULL) {
-	        xmlSchemaTypePtr rgroup;
-		if (type->ref != NULL) {
-		    rgroup = xmlSchemaGetGroup(ctxt->schema, type->ref,
-		    			   type->refNs);
-		    if (rgroup == NULL) {
-			xmlSchemaPResCompAttrErr(ctxt, 
-			    XML_SCHEMAP_SRC_RESOLVE, 
-			    NULL, type, NULL,
-			    "ref", type->ref, type->refNs, 
-			    XML_SCHEMA_TYPE_GROUP, NULL);		        
-			return;
-		    }
-		    xmlSchemaBuildAContentModel(rgroup, ctxt, name);
-		    break;
-		}
-            }
+	    /*
+	    * Handle model group definition references. 
+	    * NOTE: type->subtypes is the referenced model grop definition;
+	    * and type->subtypes->subtypes is the model group (i.e. <all> or 
+	    * <choice> or <sequence>).
+	    */
+	    if ((type->ref != NULL) && (type->subtypes != NULL) &&
+		(type->subtypes->subtypes != NULL)) {
+		xmlSchemaTypePtr modelGr;
+                xmlAutomataStatePtr start, end;
+
+		modelGr = type->subtypes->subtypes;
+                start = ctxt->state;
+                end = xmlAutomataNewState(ctxt->am);		
+                if (type->maxOccurs == 1) {
+		    ctxt->state = start;
+		    xmlSchemaBuildAContentModel(modelGr, ctxt, name);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, end);
+                } else {
+                    int counter;
+                    xmlAutomataStatePtr hop;
+                    int maxOccurs = type->maxOccurs == UNBOUNDED ?
+				    UNBOUNDED : type->maxOccurs - 1;
+                    int minOccurs =
+                        type->minOccurs < 1 ? 0 : type->minOccurs - 1;
+		    
+                    counter =
+                        xmlAutomataNewCounter(ctxt->am, minOccurs, maxOccurs);
+                    hop = xmlAutomataNewState(ctxt->am);		                        
+                    ctxt->state = start;
+                    xmlSchemaBuildAContentModel(modelGr, ctxt, name);
+                    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, hop);
+                    xmlAutomataNewCountedTrans(ctxt->am, hop, start,
+			counter);
+                    xmlAutomataNewCounterTrans(ctxt->am, hop, end,
+			counter);
+                }
+                if (type->minOccurs == 0) {
+                    xmlAutomataNewEpsilon(ctxt->am, start, end);
+                }
+                ctxt->state = end;
+                break;
+	    }
+	    break;
         case XML_SCHEMA_TYPE_COMPLEX:
         case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
             if (type->subtypes != NULL)
@@ -8171,30 +8847,24 @@
 
 /**
  * xmlSchemaBuildContentModel:
- * @elem:  the element
+ * @type:  the type definition (or reference)
  * @ctxt:  the schema parser context
  * @name:  the element name
  *
- * Builds the content model of the element.
+ * Builds the content model of the complex type.
  */
 static void
-xmlSchemaBuildContentModel(xmlSchemaElementPtr elem,
+xmlSchemaBuildContentModel(xmlSchemaTypePtr type,
                            xmlSchemaParserCtxtPtr ctxt,
                            const xmlChar * name)
 {
     xmlAutomataStatePtr start;
 
-    if (elem->contModel != NULL)
-        return;
-    if (elem->subtypes == NULL) {
-        elem->contentType = XML_SCHEMA_CONTENT_ANY;
-        return;
-    }
-    if (elem->subtypes->type != XML_SCHEMA_TYPE_COMPLEX)
-        return;
-    if ((elem->subtypes->contentType == XML_SCHEMA_CONTENT_BASIC) ||
-        (elem->subtypes->contentType == XML_SCHEMA_CONTENT_SIMPLE))
-        return;
+    if ((type->type != XML_SCHEMA_TYPE_COMPLEX) || (type->ref != NULL) ||
+	(type->contentType == XML_SCHEMA_CONTENT_BASIC) ||
+	(type->contentType == XML_SCHEMA_CONTENT_SIMPLE) ||
+	(type->contModel != NULL))
+	return;
 
 #ifdef DEBUG_CONTENT
     xmlGenericError(xmlGenericErrorContext,
@@ -8204,28 +8874,29 @@
     ctxt->am = xmlNewAutomata();
     if (ctxt->am == NULL) {
         xmlGenericError(xmlGenericErrorContext,
-                        "Cannot create automata for elem %s\n", name);
+                        "Cannot create automata for complex tpye %s\n", name);
         return;
     }
     start = ctxt->state = xmlAutomataGetInitState(ctxt->am);
-    xmlSchemaBuildAContentModel(elem->subtypes, ctxt, name);
+    xmlSchemaBuildAContentModel(type, ctxt, name);
     xmlAutomataSetFinalState(ctxt->am, ctxt->state);
-    elem->contModel = xmlAutomataCompile(ctxt->am);
-    if (elem->contModel == NULL) {
-        xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL, 
-	    NULL, (xmlSchemaTypePtr) elem, NULL,	    
+    type->contModel = xmlAutomataCompile(ctxt->am);
+    if (type->contModel == NULL) {
+        xmlSchemaPCustomErr(ctxt, 
+	    XML_SCHEMAP_INTERNAL, 
+	    NULL, type, type->node,	    
 	    "Failed to compile the content model", NULL);
-    } else if (xmlRegexpIsDeterminist(elem->contModel) != 1) {
+    } else if (xmlRegexpIsDeterminist(type->contModel) != 1) {
         xmlSchemaPCustomErr(ctxt, 
 	    XML_SCHEMAP_NOT_DETERMINISTIC,
 	    /* XML_SCHEMAS_ERR_NOTDETERMINIST, */
-	    NULL, (xmlSchemaTypePtr) elem, NULL,
+	    NULL, type, type->node,
 	    "The content model is not determinist", NULL);
     } else {
 #ifdef DEBUG_CONTENT_REGEXP
         xmlGenericError(xmlGenericErrorContext,
                         "Content model of %s:\n", name);
-        xmlRegexpPrint(stderr, elem->contModel);
+        xmlRegexpPrint(stderr, type->contModel);
 #endif
     }
     ctxt->state = NULL;
@@ -9205,7 +9876,32 @@
 	if (attrs->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
 	    xmlSchemaAttributeGroupPtr group;
 
-	    group = (xmlSchemaAttributeGroupPtr) attrs;	  
+	    group = (xmlSchemaAttributeGroupPtr) attrs;
+	    /*
+	    * Handle attribute group references.
+	    */
+	    if (group->ref != NULL) {
+		if (group->refItem == NULL) {
+		    /*
+		    * TODO: Should we raise a warning here?
+		    */
+		    /*
+		    * The referenced attribute group definition could not
+		    * be resolved beforehand, so skip.
+		    */
+		    attrs = attrs->next;
+		    continue;
+		} else
+		    group = group->refItem;
+	    }	    
+	    /*
+	    * For every attribute group definition, an intersected wildcard 
+	    * will be created (assumed that a wildcard exists on the 
+	    * particular attr. gr. def. or on any contained attr. gr. def 
+	    * at all).
+	    * The flag XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED ensures
+	    * that the intersection will be performed only once.
+	    */
 	    if ((group->flags & XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED) == 0) {
 		if (group->attributes != NULL) {
 		    if (xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
@@ -9228,6 +9924,7 @@
 		    /*
 		    * Although the complete wildcard might not correspond to any
 		    * node in the schema, we will save this context node.
+		    * TODO: Hmm, is this sane?
 		    */
 		    (*completeWild)->node = group->attributeWildcard->node;  
 		    
@@ -9243,6 +9940,33 @@
     return (0);   
 }
 
+static int
+xmlSchemaGetEffectiveValueConstraint(xmlSchemaAttributePtr item,
+				     int *fixed,
+				     const xmlChar **value,
+				     xmlSchemaValPtr *val)
+{
+    *fixed = 0;
+    *value = NULL;
+    if (val != 0) 
+	*val = NULL;
+
+    if (item->defValue == NULL)
+	item = item->refDecl;
+
+    if (item == NULL)
+	return (0);
+
+    if (item->defValue != NULL) {
+	*value = item->defValue;
+	if (val != 0)
+	    *val = item->defVal;
+	if (item->flags & XML_SCHEMAS_ATTR_FIXED)
+	    *fixed = 1;
+	return (1);
+    }
+    return (0);
+}
 /**
  * xmlSchemaMatchesWildcardNs:
  * @wild:  the wildcard
@@ -9295,12 +10019,15 @@
     xmlSchemaTypePtr anyType;
     int baseIsAnyType = 0;
     xmlChar *str = NULL;
+    int err = 0;
 
     anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
     /* 
      * Complex Type Definition with complex content Schema Component.
      *
      * Attribute uses.
+     * TODO: Add checks for absent referenced attribute declarations and
+     * simple types.
      */
     if (type->attributeUses != NULL) {
         xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_INTERNAL,
@@ -9348,8 +10075,11 @@
     if ((type->subtypes != NULL) && 
 	((type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) || 
 	 (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT))) {
+	/* 
+	* type --> (<simpleContent>|<complexContent>) 
+	*        --> (<restriction>|<extension>) --> attributes
+	*/ 
 	attrs = type->subtypes->subtypes->attributes;
-	type->attributeWildcard = type->subtypes->subtypes->attributeWildcard;
     } else {
 	/* Short hand form of the complexType. */
 	attrs = type->attributes;
@@ -9357,27 +10087,19 @@
     /*
     * Handle attribute wildcards.
     */	
-    if (xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
-	attrs, &type->attributeWildcard) == -1) {	    
-	if ((type->attributeWildcard != NULL) &&
-	    /* 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;
+    err = xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
+	attrs, &type->attributeWildcard);    
+    /*
+    * NOTE: During the parse time, the wildcard is created on the complexType
+    * directly, if encountered in a <restriction> or <extension> element.
+    */
+    if (err == -1) {
+	xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_INTERNAL,
+	    "Internal error: xmlSchemaBuildAttributeValidation: "
+	    "failed to build an intersected attribute wildcard.\n",
+	    NULL, NULL);
 	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) &&
-	/* 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) && 
 	((baseIsAnyType) ||
@@ -9395,6 +10117,12 @@
 	    /*
 	    * Just inherit the wildcard.
 	    */
+	    /*
+	    * NOTE: This is the only case where an attribute 
+            * wildcard is shared.
+            */
+	    if (type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD)
+		type->flags ^= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
 	    type->attributeWildcard = baseType->attributeWildcard;
 	}
     }
@@ -9518,6 +10246,8 @@
 	    type->attributeUses = uses;
 	} else {
 	    int found;
+	    const xmlChar *bEffValue;
+	    int effFixed;
 
 	    cur = uses;
 	    while (cur != NULL) {
@@ -9529,7 +10259,8 @@
 			xmlStrEqual(xmlSchemaGetAttrTargetNsURI(cur->attr), 
 			xmlSchemaGetAttrTargetNsURI(base->attr))) {
 			
-			found = 1;
+			found = 1;			
+			
 			if ((cur->attr->occurs == XML_SCHEMAS_ATTR_USE_OPTIONAL) &&
 			    (base->attr->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED)) {
 			    /*
@@ -9556,14 +10287,49 @@
 			    FREE_AND_NULL(str)
 			} else {
 			    /*
+			    * 2.1.3 [Definition:]  Let the effective value 
+			    * constraint of an attribute use be its {value 
+			    * constraint}, if present, otherwise its {attribute 
+			    * declaration}'s {value constraint} . 
+			    */
+			    xmlSchemaGetEffectiveValueConstraint(base->attr, &effFixed, 
+				&bEffValue, 0);			   							    
+			    /*
+			    * 2.1.3 ... one of the following must be true
+			    *
+			    * 2.1.3.1 B's ·effective value constraint· is 
+			    * ·absent· or default.
+			    */
+			    if ((bEffValue != NULL) &&
+				(effFixed == 1)) {
+				const xmlChar *rEffValue = NULL;
+
+				xmlSchemaGetEffectiveValueConstraint(base->attr, &effFixed, 
+				    &rEffValue, 0);	
+				/*
+				* 2.1.3.2 R's ·effective value constraint· is 
+				* fixed with the same string as B's.
+				*/
+				if ((effFixed == 0) ||
+				    (! xmlStrEqual(rEffValue, bEffValue))) {
+				    xmlSchemaPAttrUseErr(ctxt,
+					XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, 
+					NULL, type, NULL, cur->attr,		
+					"The effective value constraint of the "
+					"attribute use is inconsistent with "
+					"its correspondent of the base type",
+					NULL);					    
+				}
+			    }
+			    /*
+			    * TODO: derivation-ok-restriction  2.1.2 ({type definition} must be validly derived)
+			    */
+			    /*
 			    * Override the attribute use.
 			    */
 			    base->attr = cur->attr;
 			}
-			/*
-			* TODO: derivation-ok-restriction  2.1.2 ({type definition} must be validly derived)
-			* TODO: derivation-ok-restriction  2.1.3 
-			*/
+								
 			break;
 		    }				
 		    base = base->next;
@@ -10632,8 +11398,8 @@
     * 1 It is schema-valid with respect to that definition as defined 
     * by Datatype Valid in [XML Schemas: Datatypes].
     */
-    ctxt->type = type;
-    ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, fireErrors, 1, 1);
+    ret = xmlSchemaValidateSimpleTypeValue(ctxt, type, value, 
+	fireErrors, 1, 1, 1);
     return (ret);
     /*
     * 2.1 If The definition is ENTITY or is validly derived from ENTITY given 
@@ -10652,153 +11418,155 @@
 
     return (0);
 }
-			      
+#endif
 
+
 static int
-xmlSchemaCheckCOSValidDefault(xmlSchemaParserCtxtPtr ctxt,
-			      xmlSchemaElementPtr elemDecl)
-{   
-    xmlSchemaTypePtr typeDef;
-    if (elemDecl->value == NULL)
-	return (0);
-    if (elemDecl->subtypes == NULL) {
-	xmlSchemaPCustomErr(ctxt,
-	    XML_SCHEMAP_INTERNAL,
-	    NULL, (xmlSchemaTypePtr) elemDecl, elemDecl->node,
-	    "Internal error: xmlSchemaCheckCOSValidDefault, "
-	    "the element decl. '%s' has no type assigned", elemDecl->name);
-	return (-1);
+xmlSchemaCreatePCtxtOnVCtxt(xmlSchemaValidCtxtPtr vctxt)
+{
+   if (vctxt->pctxt == NULL) {
+        vctxt->pctxt =xmlSchemaNewParserCtxtUseDict("*", vctxt->schema->dict);
+	/* vctxt->pctxt = xmlSchemaNewParserCtxt("*"); */
+	if (vctxt->pctxt == NULL) {
+	    xmlSchemaVErr(vctxt, NULL,
+		XML_SCHEMAV_INTERNAL,
+		"Internal error: xmlSchemaCreatePCtxtOnVCtxt, "
+		"failed to create a temp. parser context.\n",
+		NULL, NULL);
+	    return (-1);
+	}
+	/* TODO: Pass user data. */
+	xmlSchemaSetParserErrors(vctxt->pctxt, vctxt->error, vctxt->warning, NULL);	
     }
-    typeDef = elemDecl->subtypes;
-    if ((typeDef->type == XML_SCHEMA_TYPE_SIMPLE) || 
-	((typeDef->type == XML_SCHEMA_TYPE_COMPLEX) &&
-	  ((typeDef->contentType == XML_SCHEMA_CONTENT_SIMPLE) ||
-	   (typeDef->contentType == XML_SCHEMA_CONTENT_BASIC)))) {
-	xmlSchemaValidCtxtPtr vctxt;
-	xmlAttrPtr attr;
-	int ret = 0;
-	/*
-	* 1 If the type definition is a simple type definition, then the string 
-	* must be ·valid· with respect to that definition as defined by String 
-	* Valid (§3.14.4).
-	*/
-	/*
-	* 2.2.1 If the {content type} is a simple type definition, then the 
-	* string must be ·valid· with respect to that simple type definition 
-	* as defined by String Valid (§3.14.4).
-	*/
-	/*
-	* TODO: ?
-	*/
+    return (0);
+}
 
-	vctxt = xmlSchemaNewValidCtxt(NULL);
-	if (vctxt == NULL) {
-	    xmlSchemaPErr(ctxt, elemDecl->node,
+static int
+xmlSchemaCreateVCtxtOnPCtxt(xmlSchemaParserCtxtPtr ctxt)
+{
+   if (ctxt->vctxt == NULL) {
+	ctxt->vctxt = xmlSchemaNewValidCtxt(NULL);
+	if (ctxt->vctxt == NULL) {
+	    xmlSchemaPErr(ctxt, NULL,
 		XML_SCHEMAP_INTERNAL,
-		"Internal error: xmlSchemaCheckCOSValidDefault, "
-		"creation of a new validation context failed.\n",
+		"Internal error: xmlSchemaCreatePCtxtOnVCtxt, "
+		"failed to create a temp. validation context.\n",
 		NULL, NULL);
-	    return (-1);	
+	    return (-1);
 	}
+	/* TODO: Pass user data. */
+	xmlSchemaSetValidErrors(ctxt->vctxt, ctxt->error, ctxt->warning, NULL);	
+    }
+    return (0);
+}
+
+/**
+ * xmlSchemaCheckCOSValidDefault:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ * @value: the default value
+ * @node: an optional node (the holder of the value)
+ *
+ * Checks the "cos-valid-default" constraints.
+ *
+ * Returns 0 if the constraints are satisfied,
+ * if not, a positive error code and -1 on internal
+ * errors.
+ */
+static int
+xmlSchemaCheckCOSValidDefault(xmlSchemaParserCtxtPtr pctxt,
+			      xmlSchemaValidCtxtPtr vctxt,
+			      xmlSchemaTypePtr type,
+			      const xmlChar *value,
+			      xmlNodePtr node)
+{   
+    int ret = 0;
+
+    /*
+    * cos-valid-default:
+    * Schema Component Constraint: Element Default Valid (Immediate)
+    * For a string to be a valid default with respect to a type 
+    * definition the appropriate case among the following must be true:
+    */
+    /*
+    * NOTE: This has to work without a given node (the holder of the
+    * value), since it should work on the component, i.e. an underlying
+    * DOM must not be mandatory.
+    */     
+    if ((pctxt == NULL) || (vctxt == NULL)) {
+	xmlSchemaPErr(pctxt, node,
+	    XML_SCHEMAP_INTERNAL,
+	    "Internal error: xmlSchemaCheckCOSValidDefault, "
+	    "bad arguments: the parser and/or validation context is "
+	    "missing.\n",
+	    NULL, NULL);
+	return (-1);	
+    }       
+    if IS_COMPLEX_TYPE(type) {
 	/*
-	* TODO: This won't work. 
-	*/
-	if (typeDef->type == XML_SCHEMA_TYPE_SIMPLE)
-	    ret = xmlSchemaCheckCVCSimpleType(vctxt, elemDecl->value, typeDef, 0);	
-	if (ret > 0) {
-	    if (elemDecl->flags & XML_SCHEMAS_ELEM_FIXED)
-		attr = xmlSchemaGetPropNode(elemDecl->node, "fixed");
-	    else
-		attr = xmlSchemaGetPropNode(elemDecl->node, "default");
-	    if (ctxt != NULL) {
-		xmlSchemaPSimpleTypeErr(ctxt, 
-		    XML_SCHEMAP_COS_VALID_DEFAULT_2_1, 
-		    NULL, (xmlSchemaTypePtr) elemDecl, (xmlNodePtr) attr,
-		    elemDecl->subtypes, NULL, elemDecl->value, 
-		    NULL, NULL, NULL);
-		return (ctxt->err);
-	    }
-	    ret = ctxt->err;
-	} else if (ret < 0) {
-	    xmlSchemaPErr(ctxt, elemDecl->node,
-		XML_SCHEMAP_INTERNAL,
-		"Internal error: xmlSchemaCheckCOSValidDefault, "
-		"while validating the default/fixed value.\n",
-		NULL, NULL);		
-	}                				
-	xmlSchemaFreeValidCtxt(vctxt);
-	return (ret);
-    } else {
-	/*
 	* Complex type.
 	*
 	* 2.1 its {content type} must be a simple type definition or mixed.
 	*/
-	if ((elemDecl->subtypes->contentType != XML_SCHEMA_CONTENT_SIMPLE) &&
-	    (elemDecl->subtypes->contentType != XML_SCHEMA_CONTENT_BASIC) &&
-	    (elemDecl->subtypes->contentType == XML_SCHEMA_CONTENT_MIXED)) {
-	    xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_COS_VALID_DEFAULT_2_1,
-		NULL, (xmlSchemaTypePtr) elemDecl, NULL,
-		"The content type must be a simple type definition or mixed.",
-		NULL);
-	    return(ctxt->err);
-	}	
-	if ((elemDecl->subtypes->contentType != XML_SCHEMA_CONTENT_SIMPLE) &&
-	    (elemDecl->subtypes->contentType != XML_SCHEMA_CONTENT_BASIC)) {
-	    xmlSchemaValidCtxtPtr vctxt;
-	    xmlAttrPtr attr;
-	    int ret;
-	    
-	    /* TODO: Avoid creation of a new context. */
-	    vctxt = xmlSchemaNewValidCtxt(NULL);
-	    if (vctxt == NULL) {
-		xmlSchemaPErr(ctxt, elemDecl->node,
-		    XML_SCHEMAP_INTERNAL,
-		    "Internal error: xmlSchemaCheckCOSValidDefault, "
-		    "creation of a new validation context failed.\n",
-		    NULL, NULL);
-		return (-1);	
-	    }
-	    vctxt->type = elemDecl->subtypes;	    
-	    ret = xmlSchemaValidateSimpleTypeValue(vctxt, elemDecl->value, 0, 1, 1);	    
-	    if (ret > 0) {
-		if (elemDecl->flags & XML_SCHEMAS_ELEM_FIXED)
-		    attr = xmlSchemaGetPropNode(elemDecl->node, "fixed");
-		else
-		    attr = xmlSchemaGetPropNode(elemDecl->node, "default");
-		if (ctxt != NULL) {
-		    xmlSchemaPSimpleTypeErr(ctxt, 
-			XML_SCHEMAP_COS_VALID_DEFAULT_2_1, 
-			NULL, (xmlSchemaTypePtr) elemDecl, (xmlNodePtr) attr,
-			elemDecl->subtypes, NULL, elemDecl->value, 
-			NULL, NULL, NULL);
-		    return (ctxt->err);
-		}
-		ret = ctxt->err;
-	    } else if (ret < 0) {
-		xmlSchemaPErr(ctxt, elemDecl->node,
-		    XML_SCHEMAP_INTERNAL,
-		    "Internal error: xmlSchemaCheckCOSValidDefault, "
-		    "while validating the default/fixed value.\n",
-		    NULL, NULL);		
-	    }                				
-	    xmlSchemaFreeValidCtxt(vctxt);
-	    return (ret);
-	} else {
+	/* 
+	* TODO: Adjust this when the content type will be computed 
+	* correctly. 
+	*/
+	if ((type->contentType != XML_SCHEMA_CONTENT_SIMPLE) &&
+	    (type->contentType != XML_SCHEMA_CONTENT_BASIC) &&
+	    (type->contentType != XML_SCHEMA_CONTENT_MIXED)) {
+	    xmlSchemaPSimpleTypeErr(pctxt, 
+		XML_SCHEMAP_COS_VALID_DEFAULT_2_1,
+		NULL, NULL, node,
+		type, NULL, NULL,
+		"If the type of a constraint value is complex, its content "
+		"type must be mixed or a simple type",
+		NULL, NULL);
+	    return(XML_SCHEMAP_COS_VALID_DEFAULT_2_1);
+	}
+	if (type->contentType == XML_SCHEMA_CONTENT_MIXED) {
 	    /*
 	    * 2.2.2 If the {content type} is mixed, then the {content type}'s 
 	    * particle must be ·emptiable· as defined by Particle Emptiable 
 	    * (§3.9.6).
 	    */
+	    
 	    /*
-	    * TODO: Implement this.
+	    * URGENT TODO: Implement this.
 	    */
+	    return (0);
 	}
-    }
-    
-    return (0);
+    }	
+    /*
+    * 1 If the type definition is a simple type definition, then the string 
+    * must be ·valid· with respect to that definition as defined by String 
+    * Valid (§3.14.4).
+    *
+    * AND
+    *
+    * 2.2.1 If the {content type} is a simple type definition, then the 
+    * string must be ·valid· with respect to that simple type definition 
+    * as defined by String Valid (§3.14.4).
+    */    
+    vctxt->node = node;
+    vctxt->cur = NULL;
+    ret = xmlSchemaValidateSimpleTypeValue(vctxt, type, value, 1, 1, 1, 0);
+    /* ret = xmlSchemaCheckCVCSimpleType(vctxt, elemDecl->value, typeDef, 0); */   
+    if (ret < 0) {
+	xmlSchemaPErr(pctxt, node,
+	/* NOTNICE: error code: This function will be used during
+	* schema construction and xsi:type validation.
+	*/
+	XML_SCHEMAP_INTERNAL,
+	"Internal error: xmlSchemaCheckCOSValidDefault, "
+	"while validating a value constaint value.\n",
+	NULL, NULL);
+
+    }     	    
+    return (ret);
 }
 
+#if 0 /* Not yet used code for CT schema validation */
 /**
  * xmlSchemaGetSTContentOfCT:
  * @ctxt:  the schema parser context
@@ -10831,36 +11599,7 @@
 }
 
 
-static xmlSchemaTypePtr
-xmlSchemaGetContentType(xmlSchemaParserCtxtPtr ctxt,
-			xmlSchemaTypePtr type)
-{
-    if (type->baseType == NULL) {
-	xmlSchemaPCustomErr(ctxt,
-	    XML_SCHEMAP_INTERNAL,
-	    NULL, type, NULL,
-	    "Internal error: xmlSchemaGetContentType, "
-	    "the complex type '%s' has no base type", type->name);
-	return (NULL);
-    }
-    if (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT) {
-	if ((type->baseType->type == XML_SCHEMA_TYPE_COMPLEX) &&
-	    ((type->baseType->contentType == XML_SCHEMA_CONTENT_SIMPLE) ||
-	     (type->baseType->contentType == XML_SCHEMA_CONTENT_BASIC)) && 
-	    (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION)) {
-	    /*
-	    * 1 If the type definition ·resolved· to by the ·actual value· of
-	    * the base [attribute] is a complex type definition whose own 
-	    * {content type} is a simple type definition and the <restriction> 
-	    * alternative is chosen
-	    */
 
-	
-	}
-    } else {
-	
-    }
-}
 
 /**
  * xmlSchemaCheckCOSCTExtends:
@@ -10954,9 +11693,386 @@
 
 }
 
+static int
+xmlSchemaCheckSRCCT(xmlSchemaParserCtxtPtr ctxt, 
+		    xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr base, content;
+    int OK = 0;
+
+    /*
+    * TODO: Adjust the error codes here, as I used
+    * XML_SCHEMAP_SRC_CT_1 only yet.
+    */
+    /*
+    * Schema Representation Constraint: 
+    * Complex Type Definition Representation OK
+    */
+    base = type->baseType;
+    if (base == NULL) {
+	xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL, NULL, type, NULL,
+	    "Internal error: xmlSchemaCheckSRCCT, '%s', no base type", 
+	    type->name);
+	return (-1);
+    }
+    
+    if (type->subtypes != NULL) {
+	if (type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) {
+	    if IS_COMPLEX_TYPE(base) {
+		/*
+		* 1 If the <complexContent> alternative is chosen, the type definition
+		* ·resolved· to by the ·actual value· of the base [attribute] 
+		* must be a complex type definition;
+		*/
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_SRC_CT_1,
+		    NULL, type, NULL,
+		    "The base type is not a complex type", NULL);
+		return (XML_SCHEMAP_SRC_CT_1);
+	    }
+	} else if (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT) {
+
+	    if IS_SIMPLE_TYPE(base) {
+		if (type->flags & 
+		    XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {
+		    /* 
+		    * 2.1.3 only if the <extension> alternative is also 
+		    * chosen, a simple type definition.
+		    */
+		    /* TODO: Change error code to ..._SRC_CT_2_1_3. */
+		    xmlSchemaPCustomErr(ctxt,
+			XML_SCHEMAP_SRC_CT_1,
+			NULL, type, NULL,
+			"A complex type (simple content) cannot restrict "
+			"an other simple type",
+			NULL);
+		    return (XML_SCHEMAP_SRC_CT_1);
+		}
+		OK = 1;
+
+	    } else { /* if IS_SIMPLE_TYPE(base) */
+		if (base->contentType = XML_SCHEMA_CONTENT_MIXED) {
+		    /*
+		    * 2.1.2 only if the <restriction> alternative is also 
+		    * chosen, a complex type definition whose {content type} 
+		    * is mixed and a particle emptyable.
+		    */	
+		    /*
+		    * FIXME TODO: Check for *empiable particle* is missing. 
+		    */
+		    if ((type->flags & 
+			XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) == 0) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A complex type (simple content) cannot "
+			    "extend an other complex type which has a "
+			    "content type of: 'mixed' and emptiable particle",
+			    NULL);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    }
+		    /*
+		    * NOTE: This will be fired as well, if the base type
+		    * is *'anyType'*.
+		    * NOTE: type->subtypes->subtypes will be the 
+		    * <restriction> item.
+		    */
+		    if (type->subtypes->subtypes == NULL) {
+			/* Yes, this is paranoid programming. */
+			xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL, 
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaCheckSRCCT, "
+			    "'%s', <simpleContent> has no <restriction>", 
+			    type->name);
+			return (-1);
+		    }
+		    /*
+		    * 2.2 If clause 2.1.2 above is satisfied, then there 
+		    * must be a <simpleType> among the [children] of 
+		    * <restriction>.
+		    */
+    		    if (type->subtypes->subtypes->type !=
+			XML_SCHEMA_TYPE_SIMPLE) {
+			/* TODO: Change error code to ..._SRC_CT_2_2. */
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A <simpleType> is expected among the children "
+			    "of <restriction>", NULL);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    } 
+		    OK = 1;
+		} else { /* if (base->contentType = XML_SCHEMA_CONTENT_MIXED)*/
+		    /*
+		    * 2.1.1 a complex type definition whose {content type} is a 
+		    * simple type definition;
+		    */
+		    if (base->contentType == XML_SCHEMA_CONTENT_ELEMENTS) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A complex type (simple content) cannot "
+			    "be derived from the complex type '%s'", 
+			    base->name);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    }
+		    content = base->contentTypeDef;
+		    if (content == NULL) {
+			xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL, 
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaCheckSRCCT, "
+			    "'%s', base type has no content type", 
+			    type->name);
+			return (-1);
+		    }
+		    if (content->type != XML_SCHEMA_TYPE_SIMPLE) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A complex type (simple content) cannot "
+			    "be derived from the complex type '%s'", 
+			    base->name);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    }
+		}
+	    } 
+	} 	    	
+    }
+    /*
+    * TODO: 3 The corresponding complex type definition component must 
+    * satisfy the conditions set out in Constraints on Complex Type 
+    * Definition Schema Components (§3.4.6);
+    *
+    * TODO: 4 If clause 2.2.1 or clause 2.2.2 in the correspondence specification 
+    * above for {attribute wildcard} is satisfied, the intensional 
+    * intersection must be expressible, as defined in Attribute Wildcard 
+    * Intersection (§3.10.6).
+    */
+
+}
 #endif
 
 /**
+ * xmlSchemaGroupDefFixup:
+ * @typeDecl:  the schema model group definition
+ * @ctxt:  the schema parser context
+ *
+ * Fixes model group definitions.
+ */
+static void
+xmlSchemaGroupDefFixup(xmlSchemaTypePtr group,
+		       xmlSchemaParserCtxtPtr ctxt, 
+		       const xmlChar * name ATTRIBUTE_UNUSED)
+{    
+    group->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
+    if ((group->ref != NULL) && (group->subtypes == NULL)) {
+	xmlSchemaTypePtr groupDef;
+	/*
+	* Resolve the reference.
+	*/
+	groupDef = xmlSchemaGetGroup(ctxt->schema, group->ref,
+	    group->refNs);
+	if (groupDef == NULL) {
+	    xmlSchemaPResCompAttrErr(ctxt, 
+		XML_SCHEMAP_SRC_RESOLVE, 
+		NULL, group, NULL,
+		"ref", group->ref, group->refNs, 
+		XML_SCHEMA_TYPE_GROUP, NULL);
+	    return;
+	}
+	group->subtypes = groupDef;
+    }		
+}
+
+#if 0 /* Enable when the content type will be computed. */
+static int
+xmlSchemaComputeContentType(xmlSchemaParserCtxtPtr ctxt,
+			xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr base, res = NULL;
+
+    base = type->baseType;
+    if (base == NULL) {
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_INTERNAL,
+	    NULL, type, NULL,
+	    "Internal error: xmlSchemaGetContentType, "
+	    "the complex type '%s' has no base type", type->name);
+	return (-1);
+    }   
+    if (IS_ANYTYPE(base) || (type->subtypes->type == 
+	    XML_SCHEMA_TYPE_COMPLEX_CONTENT)) {
+	xmlSchemaTypePtr start;
+	/*
+	* Effective 'mixed'.
+	*/
+	if (type->flags & XML_SCHEMAS_TYPE_MIXED)
+	     type->contentType = XML_SCHEMA_CONTENT_MIXED;
+	/*
+	* Effective content.
+	*/
+	if (IS_ANYTYPE(base)) 
+	    start = type;
+	else
+	    start = type->subtypes;
+	 
+    } else { /* if XML_SCHEMA_TYPE_COMPLEX_CONTENT */
+	xmlSchemaTypePtr baseContentItem;
+
+	/*
+	* Complex type with simple content.
+	*/
+	if IS_COMPLEX_TYPE(base) {
+	    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {	
+		/*
+		* Summary: a complex type (simple content) can *restrict*
+		* a complex type with the following content type:
+		* 1. 'mixed' and an emptiable particle
+		* 2. simple type
+		*/
+		if (base->contentType == XML_SCHEMA_CONTENT_MIXED) {
+		    /*
+		    * 2 if the {content type} of the base type is mixed and a 
+		    * particle which is ·emptiable·, 
+		    * [...] 
+		    * then starting from the simple type definition 
+		    * corresponding to the <simpleType> among the [children] 
+		    * of <restriction> (**which must be present**)
+		    *
+		    * FIXME TODO: Handle "emptiable particle".
+		    */
+		    res = type->subtypes->subtypes;
+		    if (res == NULL) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_INTERNAL,
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaGetContentType, "
+			    "CT '%s' (restricting): <simpleContent> has no "
+			    "<restriction>",
+			    type->name);
+			return (-1);
+		    }
+
+		    res->subtypes;
+		    if (res == NULL) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_INTERNAL,
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaGetContentType, "
+			    "CT '%s' (restricting): <restriction> has no "
+			    "mandatory <simpleType>",
+			    type->name);
+			return (-1);
+		    }
+		} else {
+		    baseContentItem = base->contentTypeDef;
+		    if (baseContentItem == NULL) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_INTERNAL,
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaGetContentType, "
+			    "CT '%s' (restricting), the base type has no "
+			    "content type", type->name);
+			return (-1);
+		    }
+		    if IS_SIMPLE_TYPE(baseContentItem) {
+			/*
+			* 1 If the base type is a complex type whose own 
+		    	* {content type} is a simple type and the <restriction> 
+			* alternative is chosen
+			*/
+			/* type->subtypes->subtypes will be the restriction item.*/
+			res = type->subtypes->subtypes;
+			if (res == NULL) {
+			    xmlSchemaPCustomErr(ctxt,
+				XML_SCHEMAP_INTERNAL,
+				NULL, type, NULL,
+				"Internal error: xmlSchemaGetContentType, "
+				"CT '%s' (restricting): <simpleType> has no "
+				"<restriction>", type->name);
+			    return (-1);
+			}
+			/*
+			* 1.1 the simple type definition corresponding to the 
+			* <simpleType> among the [children] of <restriction>if 
+			* there is one;
+			*/
+			res = res->subtypes;
+			if (res == NULL) {
+			    /*
+			    * 1.2 otherwise the {content type} 
+			    * of the base type .
+			    */
+			    res = baseContentItem;
+			}
+		    }
+		}
+		/*
+		* SPECIAL TODO: If *restricting* the spec wants us to 
+		* create an *additional* simple type which restricts the 
+		* located simple type; we won't do this yet, and look how 
+		* far we get with it.
+		*/
+	    } else { /* if XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION */
+		/*
+		* Summary: a complex type (simple content) can *extend*
+		* only a complex base with a simple type as content.
+		*/		
+		/*
+		* 3 If the type definition ·resolved· to by the ·actual 
+		* value· of the base [attribute] is a complex type 
+		* definition (whose own {content type} *must be* a simple 
+		* type definition, see below) and the *<extension>* 
+		* alternative is chosen, then the {content type} of that 
+		* complex type definition;
+		*/
+		res = base->contentTypeDef;
+		if (res == NULL) {
+		    xmlSchemaPCustomErr(ctxt,
+			XML_SCHEMAP_INTERNAL,
+			NULL, type, NULL,
+			"Internal error: xmlSchemaGetContentType, "
+			"CT '%s' (extending), the base type has no content "
+			"type", type->name);
+		    return (-1);
+		}		
+		if (! IS_SIMPLE_TYPE(res)) {
+		    xmlSchemaPCustomErr(ctxt,
+			XML_SCHEMAP_INTERNAL,
+			NULL, type, NULL,
+			"Internal error: xmlSchemaGetContentType, "
+			"CT '%s' (extending), the content type of the "
+			"base is not a simple type", type->name);
+		    return (-1);
+		}		
+	    }	    	
+	} else /* if IS_COMPLEX_TYPE(base) */
+	    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) {
+	    /*
+	    * 4 otherwise (the type definition ·resolved· to by the 
+	    * ·actual value· of the base [attribute] is a simple type 
+	    * definition and the <extension> alternative is chosen), 
+	    * then that simple type definition.
+	    */
+	    res = base;
+	}	
+	type->contentTypeDef = res;
+	if (res == NULL) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_INTERNAL,
+		NULL, type, NULL,
+		"Internal error: xmlSchemaGetContentType, "
+		"'%s', the content type could not be determined", 
+		type->name);
+	    return (-1);
+	}
+
+    }
+    
+}
+#endif
+
+/**
  * xmlSchemaTypeFixup:
  * @typeDecl:  the schema type definition
  * @ctxt:  the schema parser context
@@ -10964,19 +12080,19 @@
  * Fixes the content model of the type.
  */
 static void
-xmlSchemaTypeFixup(xmlSchemaTypePtr typeDecl,
+xmlSchemaTypeFixup(xmlSchemaTypePtr item,
                    xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
     xmlSchemaTypePtr ctxtType;
 
-    if (typeDecl == NULL)
+    if (item == NULL)
         return;
     /*
     * Do not allow the following types to be typefixed, prior to
     * the corresponding simple/complex types.
     */
     if (ctxt->ctxtType == NULL) {
-	switch (typeDecl->type) {
+	switch (item->type) {
 	    case XML_SCHEMA_TYPE_SIMPLE_CONTENT:
 	    case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
 	    case XML_SCHEMA_TYPE_UNION:
@@ -10988,18 +12104,19 @@
 	}
     }
     if (name == NULL)
-        name = typeDecl->name;
-    if (typeDecl->contentType == XML_SCHEMA_CONTENT_UNKNOWN) {
-        switch (typeDecl->type) {
+        name = item->name;
+    if (item->contentType == XML_SCHEMA_CONTENT_UNKNOWN) {
+        switch (item->type) {
             case XML_SCHEMA_TYPE_SIMPLE_CONTENT:{		    
-		    if (typeDecl->subtypes != NULL) {
-			if (typeDecl->subtypes->contentType ==
+		    if (item->subtypes != NULL) {
+			if (item->subtypes->contentType ==
 			    XML_SCHEMA_CONTENT_UNKNOWN) {
-			    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
+			    xmlSchemaTypeFixup(item->subtypes, ctxt,
 				NULL);
 			}
-                        typeDecl->contentType =
-                            typeDecl->subtypes->contentType;
+                        item->contentType =
+			    XML_SCHEMA_CONTENT_SIMPLE;
+                            /* item->subtypes->contentType; */
 		    }
                     break;
                 }
@@ -11008,18 +12125,18 @@
 
 		    ctxt->ctxtType->flags |= 
 			XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
-		    if (typeDecl->baseType != NULL)
-			base = typeDecl->baseType;
-                    else if (typeDecl->base != NULL) {
+		    if (item->baseType != NULL)
+			base = item->baseType;
+                    else if (item->base != NULL) {
                         base =
-                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                             typeDecl->baseNs);
+                            xmlSchemaGetType(ctxt->schema, item->base,
+                                             item->baseNs);
                         if (base == NULL) {
 			    xmlSchemaPResCompAttrErr(ctxt, 
 				XML_SCHEMAP_SRC_RESOLVE, 
 				NULL, NULL, 
-				(xmlNodePtr) xmlSchemaGetPropNode(typeDecl->node, "base"),
-				"base", typeDecl->base, typeDecl->baseNs,
+				(xmlNodePtr) xmlSchemaGetPropNode(item->node, "base"),
+				"base", item->base, item->baseNs,
 				XML_SCHEMA_TYPE_BASIC, "type definition");			    
                         } else if (base->contentType == 
 			    XML_SCHEMA_CONTENT_UNKNOWN) {
@@ -11034,24 +12151,24 @@
 			/*
 			* Content type.
 			*/
-			if (typeDecl->subtypes == NULL)
+			if (item->subtypes == NULL)
 			    /* 1.1.1 */
-			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-			else if ((typeDecl->subtypes->subtypes == NULL) &&
-			    ((typeDecl->subtypes->type ==
+			    item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((item->subtypes->subtypes == NULL) &&
+			    ((item->subtypes->type ==
 			    XML_SCHEMA_TYPE_ALL)
-			    || (typeDecl->subtypes->type ==
+			    || (item->subtypes->type ==
 			    XML_SCHEMA_TYPE_SEQUENCE)))
 			    /* 1.1.2 */
-			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-			else if ((typeDecl->subtypes->type ==
+			    item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((item->subtypes->type ==
 			    XML_SCHEMA_TYPE_CHOICE)
-			    && (typeDecl->subtypes->subtypes == NULL))
+			    && (item->subtypes->subtypes == NULL))
 			    /* 1.1.3 */
-			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			    item->contentType = XML_SCHEMA_CONTENT_EMPTY;
 			else {
 			    /* 1.2 and 2.X are applied at the other layer */
-			    typeDecl->contentType =
+			    item->contentType =
 				XML_SCHEMA_CONTENT_ELEMENTS;
 			}
 		    } else {	
@@ -11071,29 +12188,29 @@
 		    */
 		    ctxt->ctxtType->flags |= 
 			XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION;
-		    if (typeDecl->recurse) {
+		    if (item->recurse) {
 			/* TODO: The word "recursive" should be changed to "circular" here. */
 			xmlSchemaPCustomErr(ctxt,
 			    XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-			    NULL, typeDecl, typeDecl->node,	
+			    NULL, item, item->node,	
 			    "This item is circular", NULL);
                         return;
 		    }
-		    if (typeDecl->base != NULL) {                        
+		    if (item->base != NULL) {                        
                         base =
-                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                             typeDecl->baseNs);
+                            xmlSchemaGetType(ctxt->schema, item->base,
+                                             item->baseNs);
                         if (base == NULL) {
 			    xmlSchemaPResCompAttrErr(ctxt, 
 				XML_SCHEMAP_SRC_RESOLVE, 
-				NULL, typeDecl, typeDecl->node,
-				"base", typeDecl->base, typeDecl->baseNs,
+				NULL, item, item->node,
+				"base", item->base, item->baseNs,
 				XML_SCHEMA_TYPE_BASIC, "type definition");				   
                         } else if (base->contentType == 
 			    XML_SCHEMA_CONTENT_UNKNOWN) {
-			    typeDecl->recurse = 1;
+			    item->recurse = 1;
 			    xmlSchemaTypeFixup(base, ctxt, NULL);
-			    typeDecl->recurse = 0;
+			    item->recurse = 0;
                         }
 			/*
 			* The type definition ·resolved· to by the ·actual 
@@ -11105,41 +12222,41 @@
 			* the content model by xmlSchemaBuildAContentModel.
 			* Try to get rid of it.
 			*/
-			typeDecl->baseType = base;			
+			item->baseType = base;			
                     }
-		    if ((typeDecl->subtypes != NULL) &&
-			(typeDecl->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
-                        xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);	    
+		    if ((item->subtypes != NULL) &&
+			(item->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
+                        xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);	    
 		    
 		    explicitContentType = XML_SCHEMA_CONTENT_ELEMENTS;
-		    if (typeDecl->subtypes == NULL)
+		    if (item->subtypes == NULL)
 			/* 1.1.1 */
 			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-		    else if ((typeDecl->subtypes->subtypes == NULL) &&
-			((typeDecl->subtypes->type ==
+		    else if ((item->subtypes->subtypes == NULL) &&
+			((item->subtypes->type ==
 			XML_SCHEMA_TYPE_ALL)
-			|| (typeDecl->subtypes->type ==
+			|| (item->subtypes->type ==
 			XML_SCHEMA_TYPE_SEQUENCE)))
 			/* 1.1.2 */
 			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-		    else if ((typeDecl->subtypes->type ==
+		    else if ((item->subtypes->type ==
 			XML_SCHEMA_TYPE_CHOICE)
-			&& (typeDecl->subtypes->subtypes == NULL))
+			&& (item->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;
+			    item->contentType = base->contentType;
 			} else if (base->contentType ==
 			    XML_SCHEMA_CONTENT_EMPTY) {
 			    /* 2.2 imbitable ! */
-			    typeDecl->contentType =
+			    item->contentType =
 				XML_SCHEMA_CONTENT_ELEMENTS;
 			} else {
 			    /* 2.3 imbitable pareil ! */
-			    typeDecl->contentType =
+			    item->contentType =
 				XML_SCHEMA_CONTENT_ELEMENTS;
 			}
 		    }		                
@@ -11147,11 +12264,17 @@
                 }
             case XML_SCHEMA_TYPE_COMPLEX:{
 		    ctxtType = ctxt->ctxtType;
-		    ctxt->ctxtType = typeDecl;
-		    if ((typeDecl->subtypes == NULL) || 
-			((typeDecl->subtypes->type != 
+		    ctxt->ctxtType = item;
+		    /*
+		    * Start with an empty content-type type.
+		    */
+		    if (item->subtypes == NULL)
+			item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+
+		    if ((item->subtypes == NULL) || 
+			((item->subtypes->type != 
 			XML_SCHEMA_TYPE_SIMPLE_CONTENT) && 
-			(typeDecl->subtypes->type != 
+			(item->subtypes->type != 
 			XML_SCHEMA_TYPE_COMPLEX_CONTENT))) {
 			/* 
 			* This case is understood as shorthand for complex 
@@ -11159,60 +12282,64 @@
 			* the details of the mappings should be modified as 
 			* necessary.
 			*/			
-			typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
-			typeDecl->flags |= 
+			item->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+			item->flags |= 
 			    XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
+			/*
+			* Assume that we inherit the content-type type 
+			* from 'anyType', which is 'mixed' and a particle
+			* emptiable.
+			*/
+			item->contentType = item->baseType->contentType;
 		    }
-                    if (typeDecl->subtypes == NULL) {
-			typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
-                            typeDecl->contentType =
-                                XML_SCHEMA_CONTENT_MIXED;			
-                    } else {
-			if ((typeDecl->subtypes != NULL) &&
-			    (typeDecl->subtypes->contentType ==
-			    XML_SCHEMA_CONTENT_UNKNOWN)) {			    
-			    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
-				NULL);			    
-			}
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED) {
-                            typeDecl->contentType =
-                                XML_SCHEMA_CONTENT_MIXED;
-                        } else {			    
-                            if (typeDecl->subtypes != NULL) {
-                                typeDecl->contentType =
-                                    typeDecl->subtypes->contentType;
-			    }
-                        }			
-                    }
-		    xmlSchemaBuildAttributeValidation(ctxt, typeDecl);
+		    /*
+		    * Fixup the sub components.
+		    */
+		    if ((item->subtypes != NULL) &&
+			(item->subtypes->contentType ==
+			XML_SCHEMA_CONTENT_UNKNOWN)) {			    
+			xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);
+		    }	
+		    if (item->flags & XML_SCHEMAS_TYPE_MIXED) {
+			item->contentType = XML_SCHEMA_CONTENT_MIXED;			
+		    } else if (item->subtypes != NULL) {
+			/*
+			* Use the content-type type of the model groups
+			* defined, if 'mixed' is not set. If 'mixed' is set
+			* it will expand the content-type by allowing character
+			* content to appear.
+			*/
+			item->contentType =
+			    item->subtypes->contentType;
+		    }
+		    xmlSchemaBuildAttributeValidation(ctxt, item);
 		    ctxt->ctxtType = ctxtType;
                     break;
                 }
             case XML_SCHEMA_TYPE_COMPLEX_CONTENT:{
-                    if (typeDecl->subtypes == NULL) {
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
-                            typeDecl->contentType =
+                    if (item->subtypes == NULL) {
+                        item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+                        if (item->flags & XML_SCHEMAS_TYPE_MIXED)
+                            item->contentType =
                                 XML_SCHEMA_CONTENT_MIXED;
                     } else {
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED) {
-                            typeDecl->contentType =
+                        if (item->flags & XML_SCHEMAS_TYPE_MIXED) {
+                            item->contentType =
                                 XML_SCHEMA_CONTENT_MIXED;
                         } else {
-                            xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
+                            xmlSchemaTypeFixup(item->subtypes, ctxt,
                                                NULL);
-                            if (typeDecl->subtypes != NULL)
-                                typeDecl->contentType =
-                                    typeDecl->subtypes->contentType;
+                            if (item->subtypes != NULL)
+                                item->contentType =
+                                    item->subtypes->contentType;
                         }
 			/* 
 			 * Removed due to implementation of the build of attribute uses. 
 			 */
 			/*
-			if (typeDecl->attributes == NULL)
-			    typeDecl->attributes =
-			        typeDecl->subtypes->attributes;
+			if (item->attributes == NULL)
+			    item->attributes =
+			        item->subtypes->attributes;
 			*/
                     }
                     break;
@@ -11223,35 +12350,35 @@
 		*
 		*/
 		ctxtType = ctxt->ctxtType;		
-		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
-		if (typeDecl->subtypes->contentType == 
+		item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		if (item->subtypes->contentType == 
 		    XML_SCHEMA_CONTENT_UNKNOWN) {
-		    ctxt->ctxtType = typeDecl;
-		    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
+		    ctxt->ctxtType = item;
+		    xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);
 		}
 		/* Fixup base type */		
-		if ((typeDecl->baseType != NULL) && 
-		    (typeDecl->baseType->contentType ==
+		if ((item->baseType != NULL) && 
+		    (item->baseType->contentType ==
 		    XML_SCHEMA_CONTENT_UNKNOWN)) {
 		    /* OPTIMIZE: Actually this one will never by hit, since
 		    * the base type is already type-fixed in <restriction>.
 		    */
-		    ctxt->ctxtType = typeDecl;
-		    xmlSchemaTypeFixup(typeDecl->baseType, ctxt, NULL);
+		    ctxt->ctxtType = item;
+		    xmlSchemaTypeFixup(item->baseType, ctxt, NULL);
 		}
 		/* Base type: 
 		* 2 If the <list> or <union> alternative is chosen, 
 		* then the ·simple ur-type definition·.
 		*/
-		if (typeDecl->subtypes->type ==
+		if (item->subtypes->type ==
 		    XML_SCHEMA_TYPE_LIST) {
-		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
-		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;		    
-		} else if (typeDecl->subtypes->type ==
+		    item->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    item->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;		    
+		} else if (item->subtypes->type ==
 		    XML_SCHEMA_TYPE_UNION) {
-		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
-		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;
-		} else if (typeDecl->subtypes->type ==
+		    item->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    item->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;
+		} else if (item->subtypes->type ==
 		    XML_SCHEMA_TYPE_RESTRICTION) {
 		    xmlSchemaFacetLinkPtr facet, cur, last = NULL;
 		    		    	    		   
@@ -11260,16 +12387,16 @@
 		    * If the <restriction> alternative is chosen, then the 
 		    * {variety} of the {base type definition}.
 		    */	
-		    if (typeDecl->baseType != NULL) {
-			if (typeDecl->baseType->flags & 
+		    if (item->baseType != NULL) {
+			if (item->baseType->flags & 
 			    XML_SCHEMAS_TYPE_VARIETY_ATOMIC)
-			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
-			else if (typeDecl->baseType->flags & 
+			    item->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
+			else if (item->baseType->flags & 
 			    XML_SCHEMAS_TYPE_VARIETY_LIST)
-			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
-			else if (typeDecl->baseType->flags & 
+			    item->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
+			else if (item->baseType->flags & 
 			    XML_SCHEMAS_TYPE_VARIETY_UNION)
-			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;		    		    		   
+			    item->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;		    		    		   
 			/*
 			* Schema Component Constraint: Simple Type Restriction 
 			* (Facets)
@@ -11284,12 +12411,12 @@
 			* facets, for which multiple occurrences with distinct values 
 			* are allowed.
 			*/
-			if (typeDecl->baseType->facetSet != NULL) {
-			    last = typeDecl->facetSet;
+			if (item->baseType->facetSet != NULL) {
+			    last = item->facetSet;
 			    if (last != NULL)
 				while (last->next != NULL)
 				    last = last->next;
-				cur = typeDecl->baseType->facetSet;
+				cur = item->baseType->facetSet;
 				for (; cur != NULL; cur = cur->next) {
 				    /* 
 				    * Base patterns won't be add here:
@@ -11302,12 +12429,12 @@
 					XML_SCHEMA_FACET_PATTERN) 
 					continue;
 				    facet = NULL;
-				    if ((typeDecl->facetSet != NULL) &&
+				    if ((item->facetSet != NULL) &&
 					(cur->facet->type != 
 					XML_SCHEMA_FACET_PATTERN) &&
 					(cur->facet->type != 
 					XML_SCHEMA_FACET_ENUMERATION)) {				
-					facet = typeDecl->facetSet;
+					facet = item->facetSet;
 					do {
 					    if (cur->facet->type == 
 						facet->facet->type) 
@@ -11326,7 +12453,7 @@
 					facet->facet = cur->facet;
 					facet->next = NULL;
 					if (last == NULL)
-					    typeDecl->facetSet = facet;		    
+					    item->facetSet = facet;		    
 					else 
 					    last->next = facet;
 					last = facet;				
@@ -11338,22 +12465,26 @@
 		/*
 		* Check constraints.
 		*/
-		xmlSchemaCheckSRCSimpleType(ctxt, typeDecl);
+		xmlSchemaCheckSRCSimpleType(ctxt, item);
 		ctxt->ctxtType = ctxtType;
 		break;
-            case XML_SCHEMA_TYPE_SEQUENCE:
-            case XML_SCHEMA_TYPE_GROUP:
+            case XML_SCHEMA_TYPE_SEQUENCE:            
             case XML_SCHEMA_TYPE_ALL:
             case XML_SCHEMA_TYPE_CHOICE:
-                typeDecl->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
+                item->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
                 break;
+	    case XML_SCHEMA_TYPE_GROUP:
+		/*
+		* TODO: Handling was moved to xmlSchemaGroupDefFixup.
+		*/
+		break;
             case XML_SCHEMA_TYPE_LIST: 
-		xmlSchemaParseListRefFixup(typeDecl, ctxt);
-		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		xmlSchemaParseListRefFixup(item, ctxt);
+		item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
 		break;
             case XML_SCHEMA_TYPE_UNION:		
-		xmlSchemaParseUnionRefCheck(typeDecl, ctxt);
-		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		xmlSchemaParseUnionRefCheck(item, ctxt);
+		item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
 		break;
             case XML_SCHEMA_TYPE_BASIC:
             case XML_SCHEMA_TYPE_ANY:
@@ -11376,22 +12507,22 @@
             case XML_SCHEMA_FACET_LENGTH:
             case XML_SCHEMA_FACET_MAXLENGTH:
             case XML_SCHEMA_FACET_MINLENGTH:
-                typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
-		if (typeDecl->subtypes != NULL)
-		    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
+                item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		if (item->subtypes != NULL)
+		    xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);
                 break;
         }
     }
 #ifdef DEBUG_TYPE
-    if (typeDecl->node != NULL) {
+    if (item->node != NULL) {
         xmlGenericError(xmlGenericErrorContext,
                         "Type of %s : %s:%d :", name,
-                        typeDecl->node->doc->URL,
-                        xmlGetLineNo(typeDecl->node));
+                        item->node->doc->URL,
+                        xmlGetLineNo(item->node));
     } else {
         xmlGenericError(xmlGenericErrorContext, "Type of %s :", name);
     }
-    switch (typeDecl->contentType) {
+    switch (item->contentType) {
         case XML_SCHEMA_CONTENT_SIMPLE:
             xmlGenericError(xmlGenericErrorContext, "simple\n");
             break;
@@ -11441,8 +12572,13 @@
                     xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
     xmlSchemaTypePtr nonNegativeIntegerType = NULL;
-    int ret = 0;
+    int ret = 0, reuseValCtxt = 0;
 
+    /* 
+    * TODO: will the parser context be given if used from
+    * the relaxNG module?
+    */
+
     if (nonNegativeIntegerType == NULL) {
         nonNegativeIntegerType =
             xmlSchemaGetBuiltInType(XML_SCHEMAS_NNINTEGER);
@@ -11490,19 +12626,40 @@
 		} else
 		    base = typeDecl;
 		/*
-		* TODO: Try to avoid creating a new context.
+		* This avoids perseverative creation of the 
+		* validation context if a parser context is
+		* used.
 		*/
-                vctxt = xmlSchemaNewValidCtxt(NULL);
-                if (vctxt == NULL) {
-		    xmlSchemaPErr(ctxt, typeDecl->node,
-			XML_SCHEMAP_INTERNAL,
-			"Internal error: xmlSchemaCheckFacet, "
-			"creating a new validation context.\n",
-			NULL, NULL);
-                    return (-1);	
+		if (ctxt != NULL) {
+		    reuseValCtxt = 1;
+		    if (ctxt->vctxt == NULL) {
+			if (xmlSchemaCreateVCtxtOnPCtxt(ctxt) == -1)
+			    return (-1);
+		    }
+		    vctxt = ctxt->vctxt;
+		} else {
+		    vctxt = xmlSchemaNewValidCtxt(NULL);
+		    if (vctxt == NULL) {
+			xmlSchemaPErr(ctxt, typeDecl->node,
+			    XML_SCHEMAP_INTERNAL,
+			    "Internal error: xmlSchemaCheckFacet, "
+			    "creating a new validation context.\n",
+			    NULL, NULL);
+			return (-1);	
+		    }
 		}
-		vctxt->type = base;		
-		ret = xmlSchemaValidateSimpleTypeValue(vctxt, facet->value, 0, 1, 1);
+	                
+		vctxt->node = facet->node;
+		vctxt->cur = NULL;
+		/*
+		* NOTE: This call does not check the content nodes, 
+		* since they are not available:
+		* facet->node is just the node holding the facet 
+		* definition, *not* the attribute holding the *value* 
+		* of the facet.
+		*/
+		ret = xmlSchemaValidateSimpleTypeValue(vctxt, base, 
+		    facet->value, 0, 1, 1, 0);
 		facet->val = vctxt->value;
 		vctxt->value = NULL;		
                 if (ret > 0) {
@@ -11529,8 +12686,9 @@
 			BAD_CAST xmlSchemaFacetTypeToString(facet->type),
 			base->name, NULL, NULL); 
 		    ret = -1;
-		}                				
-		xmlSchemaFreeValidCtxt(vctxt);
+		}   
+		if (reuseValCtxt == 0)
+		    xmlSchemaFreeValidCtxt(vctxt);
                 break;
             }
         case XML_SCHEMA_FACET_PATTERN:
@@ -11623,6 +12781,234 @@
 }
 
 /**
+ * xmlSchemaGetCircModelGrDefRef:
+ * @ctxtGr: the searched model group
+ * @list: the list of model groups to be processed
+ *
+ * This one is intended to be used by
+ * xmlSchemaCheckGroupDefCircular only.
+ *
+ * Returns the circular model group definition reference, otherwise NULL.
+ */
+static xmlSchemaTypePtr
+xmlSchemaGetCircModelGrDefRef(xmlSchemaTypePtr ctxtGrDef,
+			  xmlSchemaTypePtr gr)
+{    
+    xmlSchemaTypePtr circ = NULL;
+    int marked;
+    /*
+    * We will search for an model group reference which
+    * references the context model group definition.
+    */        
+    while (gr != NULL) {
+	if (((gr->type == XML_SCHEMA_TYPE_GROUP) ||
+	     (gr->type == XML_SCHEMA_TYPE_ALL) ||
+	     (gr->type == XML_SCHEMA_TYPE_SEQUENCE) ||
+	     (gr->type == XML_SCHEMA_TYPE_CHOICE)) &&
+	    (gr->subtypes != NULL)) {		 
+	    marked = 0;
+	    if ((gr->type == XML_SCHEMA_TYPE_GROUP) &&
+		(gr->ref != NULL)) {
+		if (gr->subtypes == ctxtGrDef)
+		    return (gr);
+		else if (gr->subtypes->flags & 
+		    XML_SCHEMAS_TYPE_MARKED) {
+		    gr = gr->next;
+		    continue;
+		} else {
+		    /*
+		    * Mark to avoid infinite recursion on
+		    * circular references not yet examined.
+		    */
+		    gr->subtypes->flags |= XML_SCHEMAS_TYPE_MARKED;
+		    marked = 1;
+		} 
+		if (gr->subtypes->subtypes != NULL)
+		    circ = xmlSchemaGetCircModelGrDefRef(ctxtGrDef, 
+			gr->subtypes->subtypes);
+		    /*
+		    * Unmark the visited model group definition.
+		*/
+		if (marked)
+		    gr->subtypes->flags ^= XML_SCHEMAS_TYPE_MARKED;
+		if (circ != NULL)
+		    return (circ);
+	    } else {
+		circ = xmlSchemaGetCircModelGrDefRef(ctxtGrDef, 
+		    (xmlSchemaTypePtr) gr->subtypes);
+		if (circ != NULL)
+		    return (circ);
+	    }
+
+	}
+	gr = gr->next;
+    }
+    return (NULL);
+}
+
+/**
+ * xmlSchemaCheckGroupDefCircular:
+ * attrGr:  the model group definition
+ * @ctxt:  the parser context
+ * @name:  the name
+ *
+ * Checks for circular references to model group definitions.
+ */
+static void
+xmlSchemaCheckGroupDefCircular(xmlSchemaTypePtr modelGrDef,
+			    xmlSchemaParserCtxtPtr ctxt, 
+			    const xmlChar * name ATTRIBUTE_UNUSED)
+{    
+    /*
+    * Schema Component Constraint: Model Group Correct
+    * 2 Circular groups are disallowed. That is, within the {particles} 
+    * of a group there must not be at any depth a particle whose {term} 
+    * is the group itself.
+    */
+    /*
+    * NOTE: "gr->subtypes" holds the referenced group.
+    */
+    if ((modelGrDef->type != XML_SCHEMA_TYPE_GROUP) || 
+	((modelGrDef->flags & XML_SCHEMAS_TYPE_GLOBAL) == 0) ||
+	(modelGrDef->subtypes == NULL))
+	return;
+    else {
+	xmlSchemaTypePtr circ;
+
+	circ = xmlSchemaGetCircModelGrDefRef(modelGrDef, modelGrDef->subtypes);
+	if (circ != NULL) {
+	    /*
+	    * TODO: Report the referenced attr group as QName.
+	    */
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_MG_PROPS_CORRECT_2,
+		NULL, NULL, circ->node,
+		"Circular reference to the model group definition '%s' "
+		"defined", modelGrDef->name);
+	    /*
+	    * NOTE: We will cut the reference to avoid further
+	    * confusion of the processor.
+	    * TODO: SPEC: Does the spec define how to process here?
+	    */
+	    circ->subtypes = NULL;
+	}
+    }
+}
+
+
+/**
+ * xmlSchemaGetCircAttrGrRef:
+ * @ctxtGr: the searched attribute group
+ * @attr: the current attribute list to be processed
+ *
+ * This one is intended to be used by
+ * xmlSchemaCheckSRCAttributeGroupCircular only.
+ *
+ * Returns the circular attribute grou reference, otherwise NULL.
+ */
+static xmlSchemaAttributeGroupPtr
+xmlSchemaGetCircAttrGrRef(xmlSchemaAttributeGroupPtr ctxtGr,
+			  xmlSchemaAttributePtr attr)
+{    
+    xmlSchemaAttributeGroupPtr circ = NULL, gr;
+    int marked;
+    /*
+    * We will search for an attribute group reference which
+    * references the context attribute group.
+    */    	
+    while (attr != NULL) {
+	marked = 0;
+	if (attr->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
+	    gr = (xmlSchemaAttributeGroupPtr) attr;
+	    if (gr->refItem != NULL)  {
+		if (gr->refItem == ctxtGr)
+		    return (gr);
+		else if (gr->refItem->flags & 
+		    XML_SCHEMAS_ATTRGROUP_MARKED) {
+		    attr = attr->next;
+		    continue;
+		} else {
+		    /*
+		    * Mark as visited to avoid infinite recursion on
+		    * circular references not yet examined.
+		    */
+		    gr->refItem->flags |= XML_SCHEMAS_ATTRGROUP_MARKED;
+		    marked = 1;
+		}
+	    }
+	    if (gr->attributes != NULL)
+		circ = xmlSchemaGetCircAttrGrRef(ctxtGr, gr->attributes);
+	    /*
+	    * Unmark the visited group's attributes.
+	    */
+	    if (marked)
+		gr->refItem->flags ^= XML_SCHEMAS_ATTRGROUP_MARKED;
+	    if (circ != NULL)
+		return (circ);
+	}
+	attr = attr->next;
+    }
+    return (NULL);
+}
+				
+/**
+ * xmlSchemaCheckSRCAttributeGroupCircular:
+ * attrGr:  the attribute group definition
+ * @ctxt:  the parser context
+ * @name:  the name
+ *
+ * Checks for circular references of attribute groups.
+ */
+static void
+xmlSchemaCheckAttributeGroupCircular(xmlSchemaAttributeGroupPtr attrGr,
+					xmlSchemaParserCtxtPtr ctxt, 
+					const xmlChar * name ATTRIBUTE_UNUSED)
+{    
+    /*
+    * Schema Representation Constraint: 
+    * Attribute Group Definition Representation OK
+    * 3 Circular group reference is disallowed outside <redefine>. 
+    * That is, unless this element information item's parent is 
+    * <redefine>, then among the [children], if any, there must 
+    * not be an <attributeGroup> with ref [attribute] which resolves 
+    * to the component corresponding to this <attributeGroup>. Indirect 
+    * circularity is also ruled out. That is, when QName resolution 
+    * (Schema Document) (§3.15.3) is applied to a ·QName· arising from 
+    * any <attributeGroup>s with a ref [attribute] among the [children], 
+    * it must not be the case that a ·QName· is encountered at any depth 
+    * which resolves to the component corresponding to this <attributeGroup>.
+    */
+    /*
+    * Only global components can be referenced.
+    */
+    if (((attrGr->flags & XML_SCHEMAS_ATTRGROUP_GLOBAL) == 0) || 
+	(attrGr->attributes == NULL))
+	return;
+    else {
+	xmlSchemaAttributeGroupPtr circ;
+
+	circ = xmlSchemaGetCircAttrGrRef(attrGr, attrGr->attributes);
+	if (circ != NULL) {
+	    /*
+	    * TODO: Report the referenced attr group as QName.
+	    */
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3,
+		NULL, NULL, circ->node,
+		"Circular reference to the attribute group '%s' "
+		"defined", attrGr->name);
+	    /*
+	    * NOTE: We will cut the reference to avoid further
+	    * confusion of the processor.
+	    * BADSPEC: The spec should define how to process in this case.
+	    */
+	    circ->attributes = NULL;
+	    circ->refItem = NULL;
+	}
+    }
+}
+
+/**
  * xmlSchemaAttrGrpFixup:
  * @attrgrpDecl:  the schema attribute definition
  * @ctxt:  the schema parser context
@@ -11651,6 +13037,10 @@
 		XML_SCHEMA_TYPE_ATTRIBUTEGROUP, NULL);
             return;
         }
+	attrgrp->refItem = ref;
+	/*
+	* Check for self reference!
+	*/
         xmlSchemaAttrGrpFixup(ref, ctxt, NULL);
         attrgrp->attributes = ref->attributes;
 	attrgrp->attributeWildcard = ref->attributeWildcard;
@@ -11658,19 +13048,235 @@
 }
 
 /**
- * xmlSchemaAttrFixup:
- * @attrDecl:  the schema attribute definition
- * @ctxt:  the schema parser context
- * @name:  the attribute name
+ * xmlSchemaAttrCheckValConstr:
+ * @item:  an schema attribute declaration/use
+ * @ctxt:  a schema parser context
+ * @name:  the name of the attribute
+ * 
+ * Validates the value constraints of an attribute declaration/use.
  *
  * Fixes finish doing the computations on the attributes definitions
  */
 static void
-xmlSchemaAttrFixup(xmlSchemaAttributePtr attrDecl,
-                   xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
+xmlSchemaCheckAttrValConstr(xmlSchemaAttributePtr item,
+			    xmlSchemaParserCtxtPtr ctxt, 
+			    const xmlChar * name ATTRIBUTE_UNUSED)
 {
+
+    /*
+    * a-props-correct
+    * Schema Component Constraint: Attribute Declaration Properties Correct
+    *
+    * 2 if there is a {value constraint}, the canonical lexical 
+    * representation of its value must be ·valid· with respect 
+    * to the {type definition} as defined in String Valid (§3.14.4). 
+    */
+
+    if (item->defValue != NULL) {
+	int ret;
+	xmlNodePtr node;
+	xmlSchemaTypePtr type;
+
+	if (item->subtypes == NULL) {
+	    xmlSchemaPErr(ctxt, item->node,
+		XML_SCHEMAP_INTERNAL,
+		"Internal error: xmlSchemaCheckAttrValConstr, "
+		"type is missing... skipping validation of "
+		"value constraint", NULL, NULL);
+	    return;
+	}
+
+	/*
+	* TODO: Try to avoid creating a new context.
+	* TODO: This all is not very performant.
+	*/
+	type = item->subtypes;
+	/*
+	* Ensure there's validation context.
+	*/
+	if (ctxt->vctxt == NULL) {
+	    if (xmlSchemaCreateVCtxtOnPCtxt(ctxt) == -1) {
+		xmlSchemaPErr(ctxt, item->node,
+		    XML_SCHEMAP_INTERNAL,
+		    "Internal error: xmlSchemaCheckAttrValConstr, "
+		    "creating a new validation context.\n",
+		    NULL, NULL);
+		return;
+	    }
+	}
+
+	if (item->flags & XML_SCHEMAS_ATTR_FIXED)
+	    node = (xmlNodePtr) xmlHasProp(item->node, BAD_CAST "fixed");
+	else
+	    node = (xmlNodePtr) xmlHasProp(item->node, BAD_CAST "default");
+	ctxt->vctxt->node = node;
+	ctxt->vctxt->cur = NULL;
+	/*
+	* NOTE: This call does not check the content nodes, 
+	* since they are not available:
+	* facet->node is just the node holding the facet 
+	* definition, *not* the attribute holding the *value* 
+	* of the facet.
+	*/
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt->vctxt, type, 
+	    item->defValue, 0, 1, 1, 0);
+	if (ret == 0) {
+	    /*
+	    * Store the computed value.
+	    */
+    	    item->defVal = ctxt->vctxt->value;
+	    ctxt->vctxt->value = NULL;	
+	} else if (ret > 0) {
+	    if (ctxt != NULL) {
+		xmlSchemaPSimpleTypeErr(ctxt, 
+		    XML_SCHEMAP_A_PROPS_CORRECT_2, 
+		    NULL, NULL, node, 
+		    type, NULL, item->defValue,
+		    NULL, NULL, NULL);
+	    }
+	} else if (ret < 0) {
+	    xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL,
+		NULL, NULL, node,
+		"Internal error: xmlSchemaAttrCheckValConstr, "
+		"failed to validate the value constraint of the "
+		"attribute decl/use against the type '%s'",
+		type->name); 	    
+	}	   	
+    }    
+}
+
+#if 0 /* Not used yet. */
+static int
+xmlSchemaCheckElemPropsCorrect(xmlSchemaParserCtxtPtr ctxt,
+			       xmlSchemaElementPtr edecl)
+{
+    /*
+    * TODO: 1 The values of the properties of an element declaration must be as 
+    * described in the property tableau in The Element Declaration Schema 
+    * Component (§3.3.1), modulo the impact of Missing Sub-components (§5.3).
+    */
+    /*
+    * 2 If there is a {value constraint}, the canonical lexical 
+    * representation of its value must be ·valid· with respect to the {type 
+    * definition} as defined in Element Default Valid (Immediate) (§3.3.6).
+    *
+    * NOTE: This is done in xmlSchemaCheckElemValConstr.
+    */
+    /*
+    * 3 If there is a non-·absent· {substitution group affiliation}, 
+    * then {scope} must be global.
+    *
+    * NOTE: This is done in xmlSchemaParseElement.
+    * TODO: Move it to this layer here.
+    */
+    /*
+    * TODO: 4 If there is a {substitution group affiliation}, the {type definition} 
+    * of the element declaration must be validly derived from the {type 
+    * definition} of the {substitution group affiliation}, given the value 
+    * of the {substitution group exclusions} of the {substitution group 
+    * affiliation}, as defined in Type Derivation OK (Complex) (§3.4.6) 
+    * (if the {type definition} is complex) or as defined in 
+    * Type Derivation OK (Simple) (§3.14.6) (if the {type definition} is 
+    * simple). 
+    */
+    /*
+    * TODO: 5 If the {type definition} or {type definition}'s {content type} 
+    * is or is derived from ID then there must not be a {value constraint}.
+    * Note: The use of ID as a type definition for elements goes beyond 
+    * XML 1.0, and should be avoided if backwards compatibility is desired
+    */
+    /*
+    * TODO: 6 Circular substitution groups are disallowed. That is, it must not 
+    * be possible to return to an element declaration by repeatedly following 
+    * the {substitution group affiliation} property.
+    */
+}
+#endif
+
+/**
+ * xmlSchemaCheckElemValConstr:
+ * @item:  an schema element declaration/particle
+ * @ctxt:  a schema parser context
+ * @name:  the name of the attribute
+ * 
+ * Validates the value constraints of an element declaration.
+ *
+ * Fixes finish doing the computations on the element declarations.
+ */
+static void
+xmlSchemaCheckElemValConstr(xmlSchemaElementPtr decl,
+			    xmlSchemaParserCtxtPtr ctxt, 
+			    const xmlChar * name ATTRIBUTE_UNUSED)
+{   
+    if (decl->value != NULL) {
+	int ret;
+	xmlNodePtr node = NULL;
+	xmlSchemaTypePtr type;
+
+	/*
+	* 2 If there is a {value constraint}, the canonical lexical 
+	* representation of its value must be ·valid· with respect to the {type 
+	* definition} as defined in Element Default Valid (Immediate) (§3.3.6).
+	*/    
+	if (decl->subtypes == NULL) {
+	    xmlSchemaPErr(ctxt, decl->node,
+		XML_SCHEMAP_INTERNAL,
+		"Internal error: xmlSchemaCheckElemValConstr, "
+		"type is missing... skipping validation of "
+		"the value constraint", NULL, NULL);
+	    return;
+	}
+	/*
+	* Ensure there's a validation context.
+	*/
+	if (xmlSchemaCreateVCtxtOnPCtxt(ctxt) == -1)
+	    return;
+
+	type = decl->subtypes;
+
+	if (decl->node != NULL) {
+	    if (decl->flags & XML_SCHEMAS_ELEM_FIXED)
+		node = (xmlNodePtr) xmlHasProp(decl->node, BAD_CAST "fixed");
+	    else
+		node = (xmlNodePtr) xmlHasProp(decl->node, BAD_CAST "default");
+	}
+	ctxt->vctxt->node = node;
+	ctxt->vctxt->cur = NULL;
+	ret = xmlSchemaCheckCOSValidDefault(ctxt, ctxt->vctxt, type, decl->value, 
+	    node);
+	if (ret == 0) {
+	    /*
+	    * Consume the computed value.
+	    */
+    	    decl->defVal = ctxt->vctxt->value;
+	    ctxt->vctxt->value = NULL;	
+	} else if (ret < 0) {
+	    xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL,
+		NULL, NULL, node,
+		"Internal error: xmlSchemaElemCheckValConstr, "
+		"failed to validate the value constraint of the "
+		"element declaration '%s'",
+		decl->name); 	    
+	}	   	
+    }    
+}
+
+/**
+ * xmlSchemaAttrFixup:
+ * @item:  an schema attribute declaration/use.
+ * @ctxt:  a schema parser context
+ * @name:  the name of the attribute 
+ *
+ * Fixes finish doing the computations on attribute declarations/uses.
+ */
+static void
+xmlSchemaAttrFixup(xmlSchemaAttributePtr item,
+                   xmlSchemaParserCtxtPtr ctxt, 
+		   const xmlChar * name ATTRIBUTE_UNUSED)
+{
     /* 
     * TODO: If including this is done twice (!) for every attribute.
+    *       -> Hmm, check if this is still done.
     */
     /*
     * The simple type definition corresponding to the <simpleType> element 
@@ -11678,48 +13284,78 @@
     * type definition ·resolved· to by the ·actual value· of the type 
     * [attribute], if present, otherwise the ·simple ur-type definition·.
     */
-    if (attrDecl->flags & XML_SCHEMAS_ATTR_INTERNAL_RESOLVED)
+    if (item->flags & XML_SCHEMAS_ATTR_INTERNAL_RESOLVED)
 	return;
-    attrDecl->flags |= XML_SCHEMAS_ATTR_INTERNAL_RESOLVED;
-    if (name == NULL)
-        name = attrDecl->name;
-    if (attrDecl->subtypes != NULL)
+    item->flags |= XML_SCHEMAS_ATTR_INTERNAL_RESOLVED;
+    if (item->subtypes != NULL)
         return;
-    if (attrDecl->typeName != NULL) {
+    if (item->typeName != NULL) {
         xmlSchemaTypePtr type;
 
-	type = xmlSchemaGetType(ctxt->schema, attrDecl->typeName,
-	    attrDecl->typeNs);
-	if (type == NULL) {
+	type = xmlSchemaGetType(ctxt->schema, item->typeName,
+	    item->typeNs);
+	if ((type == NULL) || (! IS_SIMPLE_TYPE(type))) {
 	    xmlSchemaPResCompAttrErr(ctxt,
 		XML_SCHEMAP_SRC_RESOLVE,
-		NULL, (xmlSchemaTypePtr) attrDecl, attrDecl->node,
-		"type", attrDecl->typeName, attrDecl->typeNs, 
-		XML_SCHEMA_TYPE_BASIC, "type definition");
-	}
-        attrDecl->subtypes = type;
-    } else if (attrDecl->ref != NULL) {
-        xmlSchemaAttributePtr ref;
+		NULL, (xmlSchemaTypePtr) item, item->node,
+		"type", item->typeName, item->typeNs, 
+		XML_SCHEMA_TYPE_SIMPLE, NULL);
+	} else
+	    item->subtypes = type;
+	
+    } else if (item->ref != NULL) {
+        xmlSchemaAttributePtr decl;
 
 	/*
+	* We have an attribute use here; assign the referenced 
+	* attribute declaration.
+	*/
+	/*
 	* TODO: Evaluate, what errors could occur if the declaration is not
 	* found. It might be possible that the "typefixup" might crash if
 	* no ref declaration was found.
 	*/
-	ref = xmlSchemaGetAttribute(ctxt->schema, attrDecl->ref, attrDecl->refNs);
-        if (ref == NULL) {
+	decl = xmlSchemaGetAttribute(ctxt->schema, item->ref, item->refNs);
+        if (decl == NULL) {
 	    xmlSchemaPResCompAttrErr(ctxt,
 	    	XML_SCHEMAP_SRC_RESOLVE,
-		NULL, (xmlSchemaTypePtr) attrDecl, attrDecl->node,
-		"ref", attrDecl->ref, attrDecl->refNs, 
+		NULL, (xmlSchemaTypePtr) item, item->node,
+		"ref", item->ref, item->refNs, 
 		XML_SCHEMA_TYPE_ATTRIBUTE, NULL);
             return;
         }
-        xmlSchemaAttrFixup(ref, ctxt, NULL);
-        attrDecl->subtypes = ref->subtypes;
+	item->refDecl = decl;
+        xmlSchemaAttrFixup(decl, ctxt, NULL);
+	
+        item->subtypes = decl->subtypes;
+	/*
+	* Attribute Use Correct
+	* au-props-correct.2: If the {attribute declaration} has a fixed 
+	* {value constraint}, then if the attribute use itself has a 
+	* {value constraint}, it must also be fixed and its value must match 
+	* that of the {attribute declaration}'s {value constraint}.
+	*/
+	if ((decl->flags & XML_SCHEMAS_ATTR_FIXED) && 
+	    (item->defValue != NULL)) {
+	    if (((item->flags & XML_SCHEMAS_ATTR_FIXED) == 0) ||
+		(!xmlStrEqual(item->defValue, decl->defValue))) {
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_AU_PROPS_CORRECT_2, 
+		    NULL, NULL, item->node, 
+		    "The value constraint must be fixed "
+		    "and match the referenced attribute "
+		    "declarations's value constraint '%s'",
+		    decl->defValue);
+	    }
+	    /*
+	    * FUTURE: One should change the values of the attr. use
+	    * if ever validation should be attempted even if the
+	    * schema itself was not fully valid.
+	    */
+	}
     } else {
-	attrDecl->subtypes = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);        
-    }
+	item->subtypes = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);        
+    }	
 }
 
 /**
@@ -11739,15 +13375,18 @@
     xmlSchemaPtr ret = NULL;
     xmlDocPtr doc;
     xmlNodePtr root;
-    int nberrors;
     int preserve = 0;
 
+    /*
+    * This one is used if the schema to be parsed was specified via 
+    * the API; i.e. not automatically by the validated instance document.
+    */
+
     xmlSchemaInitTypes();
 
     if (ctxt == NULL)
         return (NULL);
 
-    nberrors = ctxt->nberrors;
     ctxt->nberrors = 0;
     ctxt->counter = 0;
     ctxt->container = NULL;
@@ -11834,9 +13473,20 @@
                 ctxt);
 
     /*
+    * Check attribute groups for circular references.
+    */
+    xmlHashScan(ret->attrgrpDecl, (xmlHashScanner) 
+	xmlSchemaCheckAttributeGroupCircular, ctxt);
+
+    /*
+    * Then fixup all model group definitions.
+    */    
+    xmlHashScan(ret->groupDecl, (xmlHashScanner) xmlSchemaGroupDefFixup, ctxt);
+    
+    /*
      * Then fixup all types properties
      */    
-    xmlHashScan(ret->typeDecl, (xmlHashScanner) xmlSchemaTypeFixup, ctxt);    
+    xmlHashScan(ret->typeDecl, (xmlHashScanner) xmlSchemaTypeFixup, ctxt);
 
     /*
      * Then fix references of element declaration; apply constraints.
@@ -11844,10 +13494,16 @@
     xmlHashScanFull(ret->elemDecl,
                     (xmlHashScannerFull) xmlSchemaRefFixupCallback, ctxt);
 
+     /*
+    * Check model groups defnitions for circular references.
+    */
+    xmlHashScan(ret->groupDecl, (xmlHashScanner) 
+	xmlSchemaCheckGroupDefCircular, ctxt);
+
     /*
-     * Then build the content model for all elements
+     * Then build the content model for all complex types
      */
-    xmlHashScan(ret->elemDecl,
+    xmlHashScan(ret->typeDecl,
                 (xmlHashScanner) xmlSchemaBuildContentModel, ctxt);
 
     /*
@@ -11856,7 +13512,17 @@
     xmlHashScan(ret->typeDecl, (xmlHashScanner) xmlSchemaCheckDefaults,
                 ctxt);
 
+    /*
+    * Validate the value constraint of attribute declarations/uses.
+    */
+    xmlHashScan(ret->attrDecl, (xmlHashScanner) xmlSchemaCheckAttrValConstr, ctxt);
 
+    /*
+    * Validate the value constraint of element declarations.
+    */
+    xmlHashScan(ret->elemDecl, (xmlHashScanner) xmlSchemaCheckElemValConstr, ctxt);
+
+
     if (ctxt->nberrors != 0) {
         xmlSchemaFree(ret);
         ret = NULL;
@@ -12074,10 +13740,11 @@
 				int fireErrors)
 {
     int ret = 0;
+    xmlNodePtr node;
     xmlSchemaTypePtr  biType; /* The build-in type. */
     xmlSchemaTypePtr tmpType;
     xmlSchemaFacetLinkPtr facetLink;
-    int retFacet, hasFacet;
+    int retFacet;
     xmlSchemaFacetPtr facet;
     unsigned long len = 0;
 
@@ -12086,6 +13753,7 @@
     printf("  fireErrors: %d\n", fireErrors);
 #endif
         
+    node = ctxt->node;
     /*
     * NOTE: Do not jump away, if the facetSet of the given type is
     * empty: until now, "pattern" facets of the *base types* need to
@@ -12095,7 +13763,7 @@
     while ((biType != NULL) && (biType->type != XML_SCHEMA_TYPE_BASIC))
 	biType = biType->baseType;
     if (biType == NULL) {
-	xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,		    
+	xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,		    
 	    "Internal error: xmlSchemaValidateFacetsInternal, "
 	    "the base type axis of the given type '%s' does not resolve to "
 	    "a built-in type.\n",
@@ -12132,13 +13800,13 @@
 			ctxt->value);
 	    }
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateFacetsInternal, "
 		    "validating facet of type '%s'.\n",
 		    type->name, NULL);
 		break;
 	    } else if ((ret > 0) && (fireErrors)) {
-		xmlSchemaVFacetErr(ctxt, ret, ctxt->cur, value, len,
+		xmlSchemaVFacetErr(ctxt, ret, node, value, len,
 		    type, facet, NULL, NULL, NULL, NULL);
 	    }
 
@@ -12162,10 +13830,10 @@
 	    if (retFacet > 0) {
 		ret = XML_SCHEMAV_CVC_ENUMERATION_VALID;
 		if (fireErrors)
-		    xmlSchemaVFacetErr(ctxt, ret, ctxt->cur,
+		    xmlSchemaVFacetErr(ctxt, ret, node,
 			value, 0, type, NULL, NULL, NULL, NULL, NULL);
 	    } else if (retFacet < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateFacetsInternal, "
 		    "validating facet of type '%s'.\n",
 		    BAD_CAST "enumeration", NULL);
@@ -12178,20 +13846,26 @@
 	* Process patters. Pattern facets are ORed at type level 
 	* and ANDed if derived. Walk the base type axis.
 	*/
-	hasFacet = 0;
 	tmpType = type;
 	facet = NULL;
 	do {
 	    retFacet = 0;
 	    for (facetLink = tmpType->facetSet; facetLink != NULL; 
-	    facetLink = facetLink->next) {
+		facetLink = facetLink->next) {
 		if (facetLink->facet->type != XML_SCHEMA_FACET_PATTERN)
 		    continue;
 		retFacet = xmlSchemaValidateFacet(biType, facetLink->facet, 
 		    value, ctxt->value);
-		if (retFacet <= 0)
+		if (retFacet == 0) 
 		    break;
-		else
+		else if (retFacet < 0) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+			"Internal error: xmlSchemaValidateFacetsInternal, "
+			"validating 'pattern' facet '%s' of type '%s'.\n",
+			facetLink->facet->value, tmpType->name);
+		    ret = -1;
+		    break;
+		} else
 		    /* Save the last non-validating facet. */
 		    facet = facetLink->facet;
 	    }
@@ -12199,16 +13873,10 @@
 		break;		    
 	    tmpType = tmpType->baseType;
 	} while ((tmpType != NULL) && (tmpType->type != XML_SCHEMA_TYPE_BASIC));
-	if (retFacet < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
-		"Internal error: xmlSchemaValidateSimpleTypeValue, "
-		"validating 'pattern' facets of type '%s'.\n",
-		tmpType->name, NULL);
-	    ret = -1;
-	} else if (retFacet > 0) {
+	if (retFacet > 0) {
 	    ret = XML_SCHEMAV_CVC_PATTERN_VALID;
 	    if (fireErrors) {
-		xmlSchemaVFacetErr(ctxt, ret, ctxt->cur, value, 0, type, facet, 
+		xmlSchemaVFacetErr(ctxt, ret, node, value, 0, type, facet, 
 		    NULL, NULL, NULL, NULL);
 	    }
 	}
@@ -12230,15 +13898,12 @@
  * 									*
  ************************************************************************/
 
-static int xmlSchemaValidateContent(xmlSchemaValidCtxtPtr ctxt,
-                                    xmlNodePtr node);
 static int xmlSchemaValidateAttributes(xmlSchemaValidCtxtPtr ctxt,
                                        xmlNodePtr elem,
                                        xmlSchemaTypePtr type);
-static int xmlSchemaValidateType(xmlSchemaValidCtxtPtr ctxt,
-                                 xmlNodePtr elem,
-                                 xmlSchemaElementPtr elemDecl,
-                                 xmlSchemaTypePtr type);
+static int xmlSchemaValidateElementByType(xmlSchemaValidCtxtPtr ctxt,                                
+					  xmlSchemaTypePtr type,
+					  int valSimpleContent);
 
 
 /**
@@ -12290,6 +13955,7 @@
 	tmp->attr = attrs;
 	tmp->state = XML_SCHEMAS_ATTR_UNKNOWN;
 	tmp->next = NULL;
+	tmp->decl = NULL;
 	if (ctxt->attr == NULL) 
             ctxt->attr = tmp;
 	else
@@ -12329,7 +13995,354 @@
 }
 #endif
 
+static void
+xmlSchemaPostSchemaAssembleFixup(xmlSchemaParserCtxtPtr ctxt)
+{
+    int i, nbItems;
+    xmlSchemaTypePtr item, *items;
+
+
+    /*
+    * During the Assemble of the schema ctxt->curItems has
+    * been filled with the relevant new items. Fix those up.
+    */
+    nbItems = ctxt->assemble->nbItems;
+    items = (xmlSchemaTypePtr *) ctxt->assemble->items;
+    
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {
+	    case XML_SCHEMA_TYPE_ATTRIBUTE:
+		xmlSchemaAttrFixup((xmlSchemaAttributePtr) item, ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ELEMENT:
+		xmlSchemaRefFixupCallback((xmlSchemaElementPtr) item, ctxt, 
+		    NULL, NULL, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
+		xmlSchemaAttrGrpFixup((xmlSchemaAttributeGroupPtr) item, 
+		    ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_GROUP:
+		xmlSchemaGroupDefFixup(item, ctxt, NULL);            
+	    default:
+		break;
+	}
+    }
+    /*
+    * Circularity checks.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	    
+	    case XML_SCHEMA_TYPE_GROUP:
+		xmlSchemaCheckGroupDefCircular(item, ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
+		xmlSchemaCheckAttributeGroupCircular(
+		    (xmlSchemaAttributeGroupPtr) item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+    /*
+    * Fixup for all other item. 
+    * TODO: Hmm, not sure if starting from complex/simple types,
+    * all subsequent items will be reached.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	    
+            case XML_SCHEMA_TYPE_SIMPLE:
+	    case XML_SCHEMA_TYPE_COMPLEX:
+		xmlSchemaTypeFixup(item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+    /*
+    * Check facet values. Note that facets are
+    * hold by complex and simple type components only.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	 
+	    case XML_SCHEMA_TYPE_SIMPLE:
+	    case XML_SCHEMA_TYPE_COMPLEX:
+		xmlSchemaCheckDefaults(item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+    /*
+    * Build the content model for complex types.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	    
+	    case XML_SCHEMA_TYPE_COMPLEX:
+		xmlSchemaBuildContentModel(item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    } 
+    /*
+    * Validate value contraint values.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {
+	    case XML_SCHEMA_TYPE_ATTRIBUTE:
+		xmlSchemaCheckAttrValConstr((xmlSchemaAttributePtr) item, ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ELEMENT:
+		xmlSchemaCheckElemValConstr((xmlSchemaElementPtr) item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+}
+
 /**
+ * xmlSchemaAssembleByLocation:
+ * @pctxt:  a schema parser context
+ * @vctxt:  a schema validation context
+ * @schema: the existing schema
+ * @node: the node that fired the assembling
+ * @nsName: the namespace name of the new schema
+ * @location: the location of the schema
+ *
+ * Expands an existing schema by an additional schema.
+ *
+ * Returns 0 if the new schema is correct, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaAssembleByLocation(xmlSchemaValidCtxtPtr vctxt,			    
+			    xmlSchemaPtr schema,
+			    xmlNodePtr node,
+			    const xmlChar *nsName,
+			    const xmlChar *location)
+{
+    const xmlChar *targetNs, *oldtns; 
+    xmlDocPtr doc, olddoc;
+    int oldflags, ret = 0;
+    xmlNodePtr docElem;
+    xmlSchemaParserCtxtPtr pctxt;
+
+    /*
+    * This should be used:
+    * 1. on <import>(s)
+    * 2. if requested by the validated instance 
+    * 3. if requested via the API
+    */
+    if ((vctxt == NULL) || (schema == NULL))
+	return (-1);
+    /*
+    * Create a temporary parser context.
+    */
+    if ((vctxt->pctxt == NULL) &&
+	(xmlSchemaCreatePCtxtOnVCtxt(vctxt) == -1)) {
+	xmlSchemaVErr(vctxt, node,
+	    XML_SCHEMAV_INTERNAL,
+	    "Internal error: xmlSchemaAssembleByLocation, "
+	    "failed to create a temp. parser context.\n", 
+	    NULL, NULL);
+	return (-1);		
+    }            
+    pctxt = vctxt->pctxt;
+    /*
+    * Set the counter to produce unique names for anonymous items.
+    */
+    pctxt->counter = schema->counter;    
+    /*
+    * Acquire the schema document.
+    */
+    ret = xmlSchemaAcquireSchemaDoc(pctxt, schema, node,
+	nsName, location, &doc, &targetNs, 0);
+    if (ret != 0) {
+	if (doc != NULL)
+	    xmlFreeDoc(doc);
+    } else if (doc != NULL) {
+	docElem = xmlDocGetRootElement(doc);
+	/*
+	* Create new assemble info.
+	*/
+	if (pctxt->assemble == NULL) {
+	    pctxt->assemble = xmlSchemaNewAssemble();
+	    if (pctxt->assemble == NULL) {
+		xmlSchemaVErrMemory(vctxt, 
+		    "Memory error: xmlSchemaAssembleByLocation, "
+		    "allocating assemble info", NULL);
+		xmlFreeDoc(doc);
+		return (-1);
+	    }
+	}
+	/*
+	* Save and reset the context & schema.
+	*/
+	oldflags = schema->flags;
+	oldtns = schema->targetNamespace;
+	olddoc = schema->doc;
+	
+	xmlSchemaClearSchemaDefaults(schema);
+	schema->targetNamespace = targetNs;
+	/* schema->nbCurItems = 0; */
+	pctxt->schema = schema;
+	pctxt->ctxtType = NULL;
+	pctxt->parentItem = NULL;
+	
+	xmlSchemaParseSchemaDefaults(pctxt, schema, docElem);		
+	xmlSchemaParseSchemaTopLevel(pctxt, schema, docElem->children);
+	xmlSchemaPostSchemaAssembleFixup(pctxt);
+	/*
+	* Set the counter of items.
+	*/
+	schema->counter = pctxt->counter;
+	/*
+	* Free the list of assembled components.
+	*/
+	pctxt->assemble->nbItems = 0;
+	/*
+	* Restore the context & schema.
+	*/
+	schema->flags = oldflags;
+	schema->targetNamespace = oldtns;
+	schema->doc = olddoc;
+	ret = pctxt->err;
+    }        
+    return (ret);
+}
+
+/**
+ * xmlSchemaAssembleByXSIAttr:
+ * @vctxt:  a schema validation context
+ * @xsiAttr: an xsi attribute
+ * @noNamespace: whether a schema with no target namespace is exptected
+ *
+ * Expands an existing schema by an additional schema using
+ * the xsi:schemaLocation or xsi:noNamespaceSchemaLocation attribute
+ * of an instance. If xsi:noNamespaceSchemaLocation is used, @noNamespace
+ * must be set to 1.
+ *
+ * Returns 0 if the new schema is correct, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaAssembleByXSIAttr(xmlSchemaValidCtxtPtr vctxt,
+			 xmlAttrPtr xsiAttr,
+			 int noNamespace)
+{
+    xmlChar *value;
+    const xmlChar *cur, *end;
+    const xmlChar *nsname = NULL, *location;
+    int count = 0;
+    int ret = 0;
+    
+    if (xsiAttr == NULL) {
+	xmlSchemaVCustomErr(vctxt, XML_SCHEMAV_INTERNAL, 
+	    NULL, NULL,
+	    "Internal error: xmlSchemaAssembleByXSIAttr, "
+	    "bad arguments", NULL);
+	return (-1);
+    }
+    /*
+    * Parse the value; we will assume an even number of values
+    * to be given (this is how Xerces and XSV work).
+    */
+    value = xmlNodeGetContent((xmlNodePtr) xsiAttr);    
+    cur = value;
+    do {	
+	if (noNamespace != 1) {
+	    /*
+	    * Get the namespace name.
+	    */
+	    while (IS_BLANK_CH(*cur))
+		cur++;
+	    end = cur;
+	    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+		end++;
+	    if (end == cur)
+		break;
+	    count++;
+	    nsname = xmlDictLookup(vctxt->schema->dict, cur, end - cur);		
+	    cur = end;
+	}
+	/*
+	* Get the URI.
+	*/
+	while (IS_BLANK_CH(*cur))
+	    cur++;
+	end = cur;
+	while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+	    end++;
+	if (end == cur)
+	    break;
+	count++;
+	location = xmlDictLookup(vctxt->schema->dict, cur, end - cur);
+	cur = end;	
+	ret = xmlSchemaAssembleByLocation(vctxt, vctxt->schema, 
+	    xsiAttr->parent, nsname, location);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(vctxt, 
+		XML_SCHEMAV_INTERNAL,
+		(xmlNodePtr) xsiAttr, NULL,
+		"Internal error: xmlSchemaAssembleByXSIAttr, "
+		"assembling schemata", NULL);
+	    if (value != NULL)
+		xmlFree(value);
+	    return (-1);
+	}
+    } while (*cur != 0);
+    if (value != NULL)
+	xmlFree(value);
+    return (ret);
+}
+
+/**
+ * xmlSchemaAssembleByXSIElem:
+ * @vctxt:  a schema validation context
+ * @elem: an element node possibly holding xsi attributes
+ * @noNamespace: whether a schema with no target namespace is exptected
+ *
+ * Assembles an existing schema by an additional schema using
+ * the xsi:schemaLocation or xsi:noNamespaceSchemaLocation attributes
+ * of the given @elem.
+ *
+ * Returns 0 if the new schema is correct, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaAssembleByXSIElem(xmlSchemaValidCtxtPtr vctxt,  
+			 xmlNodePtr elem)
+{    
+    int ret = 0, retNs = 0;
+    xmlAttrPtr attr;
+
+    attr = xmlHasNsProp(elem, BAD_CAST "schemaLocation", xmlSchemaInstanceNs);
+    if (attr != NULL) {
+	retNs = xmlSchemaAssembleByXSIAttr(vctxt, attr, 0);
+	if (retNs == -1)
+	    return (-1);
+    }
+    attr = xmlHasNsProp(elem, BAD_CAST "noNamespaceSchemaLocation", xmlSchemaInstanceNs);
+    if (attr != NULL) {
+	ret = xmlSchemaAssembleByXSIAttr(vctxt, attr, 1);
+	if (ret == -1)
+	    return (-1);
+    }
+    if (retNs != 0)
+	return (retNs);
+    else
+	return (ret);
+}
+
+/**
  * xmlSchemaValidateCallback:
  * @ctxt:  a schema validation context
  * @name:  the name of the element detected (might be NULL)
@@ -12351,12 +14364,66 @@
                     "xmlSchemaValidateCallback: %s, %s, %s\n",
                     name, type->name, node->name);
 #endif
+    /*
+    * @type->type will be XML_SCHEMA_TYPE_ANY or XML_SCHEMA_TYPE_ELEMENT.
+    */
     ctxt->type = type;
-    ctxt->node = node;
-    xmlSchemaValidateContent(ctxt, node);    
+    ctxt->node = node;    
+    ctxt->cur = node->children;
+    /*
+    * Assemble new schemata using xsi.
+    */
+    if (ctxt->xsiAssemble) {
+	int ret;
+
+	ret = xmlSchemaAssembleByXSIElem(ctxt, ctxt->node);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL,
+		ctxt->node, NULL, 	
+		"Internal error: xmlSchemaValidateElement, "
+		"assembling schema by xsi", NULL);
+	    return;
+	}
+	/*
+	* NOTE: We won't react on schema parser errors here.
+	* TODO: But a warning would be nice.
+	*/
+    }    
+    switch (type->type) {
+	case XML_SCHEMA_TYPE_ELEMENT: {
+	    /*
+	    * NOTE: The build of the content model 
+	    * (xmlSchemaBuildAContentModel) ensures that the element 
+	    * declaration (and not a reference to it) will be given.
+	    */
+	    if (((xmlSchemaElementPtr) ctxt->type)->ref != NULL) {
+		/*
+		* This is paranoid coding ;-)... it should not
+		* happen here any more.
+		*/
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL, 
+		    node, NULL,						
+		    "Internal error: xmlSchemaValidateCallback, "
+		    "element declaration 'reference' encountered, "
+		    "but an element declaration was expected", 
+		    NULL);
+		return;
+	    }
+	    xmlSchemaValidateElementByDeclaration(ctxt, 
+		(xmlSchemaElementPtr) type);
+	    break;
+	}
+        case XML_SCHEMA_TYPE_ANY:
+	    xmlSchemaValidateElementByWildcard(ctxt, type);
+            break;
+	default: 
+	    break;
+    }
     ctxt->type = oldtype;
     ctxt->node = oldnode;
-}
+}  
 
 /**
  * xmlSchemaValidateSimpleTypeValue:
@@ -12365,6 +14432,7 @@
  * @fireErrors: shall errors be reported?
  * @applyFacets: shall facets be applied?
  * @normalize: shall the value be normalized?
+ * @checkNodes: shall the content nodes be checked?
  *
  * Validates a value by the given type (user derived or built-in).
  *
@@ -12373,17 +14441,20 @@
  */
 static int
 xmlSchemaValidateSimpleTypeValue(xmlSchemaValidCtxtPtr ctxt, 
-				 const xmlChar *value,
+				 xmlSchemaTypePtr type,
+				 const xmlChar *value,				 
 				 int fireErrors,				 
 				 int applyFacets,
-				 int normalize)
+				 int normalize,
+				 int checkNodes)
 {
-    xmlSchemaTypePtr type;
+    xmlNodePtr node;
     int ret = 0;  
     xmlChar *normValue = NULL;
     int wtsp;       
  
-    type = ctxt->type;
+    node = ctxt->node;
+    /* Save the current whitespace normalization type. */
     wtsp = ctxt->valueWS;
     /*
     * Normalize the value.
@@ -12402,6 +14473,67 @@
 		value = (const xmlChar *) normValue;
 	}		
     }    
+    /*
+    * The nodes of a content must be checked only once,
+    * this is not working since list types will fire this
+    * multiple times.
+    */
+    if ((checkNodes == 1) && (ctxt->cur != NULL)) {
+	xmlNodePtr cur = ctxt->cur;
+
+	do {
+	    switch (cur->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: Scour the entities for illegal nodes. */
+		TODO break;
+	    case XML_ELEMENT_NODE: {
+	    /* NOTE: Changed to an internal error, since the 
+	    * existence of an element node will be already checked in
+	    * xmlSchemaValidateElementBySimpleType and in
+	    * xmlSchemaValidateElementByComplexType.
+		*/
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL,
+		    /* XML_SCHEMAS_ERR_INVALIDELEM, */
+		    node, type,
+		    "Element '%s' found in simple type content", 
+		    cur->name);
+		return (XML_SCHEMAV_INTERNAL);
+				   }
+	    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		    		    		    
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL,
+		    /* XML_SCHEMAS_ERR_INVALIDELEM, */
+		    node, NULL,
+		    "Node of unexpected type found in simple type content",
+		    NULL);
+		return (XML_SCHEMAV_INTERNAL);
+	    }
+	    cur = cur->next;
+	} while (cur != NULL);
+    }
+
     if (type->type == XML_SCHEMA_TYPE_COMPLEX) {
 	xmlSchemaTypePtr base, anyType;
 
@@ -12414,11 +14546,9 @@
 	    (base != anyType)) {
 	    base = base->baseType;
 	}
-	ctxt->type = base;
-	ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 0, 1);
-	ctxt->type = type;
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt, base, value, 1, 0, 1, 0);
 	if (ret < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
 		"validating complex type '%s'\n",
 		type->name, NULL);
@@ -12436,90 +14566,35 @@
 	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
 		value, 0, fireErrors);
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
 		    "validating facets of complex type '%s'\n",
 		    type->name, NULL);
 	    } else if (ret > 0) {
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
-		/*
-		 Disabled, since the facet validation already reports errors.
 		if (fireErrors) 
-		    xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);
-		*/
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
 	    }	
 	}	
     } else 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: Scour the entities for illegal nodes. */
-		    TODO break;
-		case XML_ELEMENT_NODE: {
-		    /* NOTE: Changed to an internal error, since the 
-		    * existence of an element node will be already checked in
-		    * xmlSchemaValidateSimpleTypeElement and in
-		    * xmlSchemaValidateComplexType.
-		    */
-		    xmlSchemaVCustomErr(ctxt, 
-			XML_SCHEMAV_INTERNAL,
-			/* XML_SCHEMAS_ERR_INVALIDELEM, */
-			ctxt->cur, type,
-			"Element found in content", NULL);
-		    return (XML_SCHEMAV_INTERNAL);
-				       }
-		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		
-		{		    		    
-		    xmlSchemaVCustomErr(ctxt, 
-			XML_SCHEMAV_INTERNAL,
-			/* XML_SCHEMAS_ERR_INVALIDELEM, */
-			ctxt->cur, NULL,
-			"Node of unexpected type found in content", 
-			NULL);
-		    return (XML_SCHEMAV_INTERNAL);
-		}
-	    }
-	    child = child->next;
-	    
-	}	
-	ret = xmlSchemaValPredefTypeNodeNoNorm(type, value, &(ctxt->value), ctxt->cur);
+	/*
+	* STREAM-READ-CHILDREN.
+	*/	    		
+	ret = xmlSchemaValPredefTypeNodeNoNorm(type, value, &(ctxt->value), node);
 	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)
-		xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);
+		xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
 	} else if (ret < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
 		"validating built-in type '%s'\n", type->name, NULL);
 	}
@@ -12527,18 +14602,16 @@
 	/* 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, 0);
-	ctxt->type = type;
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt, type->baseType, value, 0, 0, 0, 0);
 	if (ret < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_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)
-		xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);	
+		xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);	
 	} else if ((applyFacets) && (type->facetSet != NULL)) {
 	    /* 
 	    * Check facets.
@@ -12546,7 +14619,7 @@
 	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
 		value, 0, fireErrors);
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
 		    "validating facets of atomic simple type '%s'\n",
 		    type->name, NULL);
@@ -12583,12 +14656,10 @@
 		break;
 	    tmp = xmlStrndup(cur, end - cur);
 	    len++;
-	    ctxt->type = tmpType;
-	    ret = xmlSchemaValidateSimpleTypeValue(ctxt, tmp, 0, 1, 0);
-	    ctxt->type = type;
+	    ret = xmlSchemaValidateSimpleTypeValue(ctxt, tmpType, tmp, 0, 1, 0, 0);
 	    xmlFree(tmp);
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
 		    "validating an item of list simple type '%s'\n",
 		    type->name, NULL);	
@@ -12596,7 +14667,7 @@
 	    } else if (ret > 0) {
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
 		if (fireErrors)
-		    xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
 		break;
 	    }	
 	    cur = end;
@@ -12605,7 +14676,7 @@
 	* Check facets.
 	*/
 	if (ret < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
 		"validating list simple type '%s'\n",
 		type->name, NULL);
@@ -12613,7 +14684,7 @@
 	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
 		value, len, fireErrors);
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
 		    "validating facets of list simple type '%s'\n",
 		    type->name, NULL);
@@ -12653,7 +14724,7 @@
 #endif
 	memberLink = xmlSchemaGetUnionSimpleTypeMemberTypes(type);
 	if (memberLink == NULL) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
 		"union simple type '%s' has no member types\n",
 		type->name, NULL);
@@ -12661,22 +14732,21 @@
 	} 
 	if (ret == 0) {
 	    while (memberLink != NULL) {
-		ctxt->type = memberLink->type;
-		ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 0, 1, 1);
+		ret = xmlSchemaValidateSimpleTypeValue(ctxt, memberLink->type, 
+		    value, 0, 1, 1, 0);
 		if ((ret <= 0) || (ret == 0))
 		    break;	    
 		memberLink = memberLink->next;
 	    }     
-	    ctxt->type = type;
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
 		    "validating members of union simple type '%s'\n",
 		    type->name, NULL);
 	    } else if (ret > 0) {
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
 		if (fireErrors)
-		    xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
 	    }
 	}
 	/*
@@ -12690,7 +14760,7 @@
 	    * against which the ·union· is successfully validated. 
 	    */		    
 	    if (normValue != NULL) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
 		    "the value was already normalized for the union simple "
 		    "type '%s'.\n", type->name, NULL);
@@ -12708,7 +14778,7 @@
 	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
 		value, 0, fireErrors);
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
 		    "validating facets of union simple type '%s'\n",
 		    type->name, NULL);
@@ -12721,7 +14791,6 @@
 	    }	
 	}
     }           
-    ctxt->type = type;
     ctxt->valueWS = wtsp;
     if (normValue != NULL)
 	xmlFree(normValue);
@@ -12739,38 +14808,43 @@
  * number otherwise and -1 in case of an internal or API error.
  */
 static int
-xmlSchemaValidateSimpleTypeElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementBySimpleType(xmlSchemaValidCtxtPtr ctxt, 
+				     xmlSchemaTypePtr type,
+				     int valSimpleContent)
 {
-    xmlNodePtr child;
-    xmlSchemaTypePtr type;
+    xmlSchemaTypePtr oldtype;
+    xmlNodePtr node;
     xmlAttrPtr attr;
-    int ret = 0;
-    xmlChar *value;
     xmlNodePtr cur;
-    
-
-    child = ctxt->node;
-    type = ctxt->type;
-
+    int ret = 0, retval = 0;
+        
     if ((ctxt == NULL) || (type == NULL)) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleTypeElement %s\n",
-		      node->name, NULL);
-        return (-1);
+        xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_INTERNAL, NULL, NULL,
+	    "Internal error: xmlSchemaValidateElementBySimpleType, "
+	    "bad arguments", NULL);
+        return (-1);    
     }
 
+    oldtype = ctxt->type;
+    node = ctxt->node;
     /* 
     * cvc-type: 3.1.2 The element information item must have no element 
     * information item [children].
     */   
-    cur = child;
+    /*
+    * STREAM: Child nodes are processed.
+    */
+    cur = node->children;
     while (cur != NULL) {
+	/*
+	* TODO: Entities, will they produce elements as well?
+	*/
 	if (cur->type == XML_ELEMENT_NODE) {
 	    xmlSchemaVCustomErr(ctxt,
 		XML_SCHEMAV_CVC_TYPE_3_1_2,
 		node, type,		
 		"No element content allowed", NULL);
-	    return (XML_SCHEMAV_CVC_TYPE_3_1_2);
+	    ret = XML_SCHEMAV_CVC_TYPE_3_1_2;
 	}
 	cur = cur->next;
     }
@@ -12781,7 +14855,10 @@
     * The attributes of 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.
-    */        
+    */   
+    /*
+    * STREAM: Attribute nodes are processed.
+    */
     attr = node->properties;
     while (attr != NULL) {
         if ((attr->ns == NULL) ||
@@ -12792,172 +14869,640 @@
              (!xmlStrEqual
               (attr->name, BAD_CAST "noNamespaceSchemaLocation")))) {
 	    xmlSchemaVIllegalAttrErr(ctxt, 
-		XML_SCHEMAV_CVC_TYPE_3_1_1, attr);						
-            return (ctxt->err);
+		XML_SCHEMAV_CVC_TYPE_3_1_1, attr);
+	    ret = XML_SCHEMAV_CVC_TYPE_3_1_1;
         }
 	attr = attr->next;
     }
-    if ((type->type != XML_SCHEMA_TYPE_BASIC) ||
-	(type->builtInType != XML_SCHEMAS_ANYSIMPLETYPE)) {
-	value = xmlNodeGetContent(child);
-	ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1, 1);
+    /*
+    * This will skip validation if the type is 'anySimpleType' and
+    * if the value was already validated (e.g. default values).
+    */
+    if ((valSimpleContent == 1) &&
+	((type->type != XML_SCHEMA_TYPE_BASIC) ||
+	 (type->builtInType != XML_SCHEMAS_ANYSIMPLETYPE))) {
+	xmlChar *value;	
+
+	value = xmlNodeGetContent(node);
+	/*
+	* NOTE: This call will not check the content nodes, since
+	* this should be checked here already.
+	*/
+	retval = xmlSchemaValidateSimpleTypeValue(ctxt, type, value, 
+	    1, 1, 1, 0);
 	if (value != NULL)
 	    xmlFree(value);
-	ctxt->type = type;
+	if (retval != 0)
+	    ret = retval;
     }
+    ctxt->type = oldtype;
     return (ret);
 }
 
 /**
- * xmlSchemaValidateElementType:
+ * xmlSchemaValQNameAcquire:
+ * @value: the lexical represantation of the QName value
+ * @node: the node to search for the corresponding namespace declaration
+ * @nsName: the resulting namespace name if found
+ *
+ * Checks that a value conforms to the lexical space of the type QName;
+ * if valid, the corresponding namespace name is searched and retured 
+ * as a copy in @nsName. The local name is returned in @localName as
+ * a copy.
+ *
+ * Returns 0 if valid, 1 if not valid by type, 2 if no corresponding 
+ * namespace declaration was found in scope; -1 in case of an internal or 
+ * API error.
+ */
+static int
+xmlSchemaValQNameAcquire(const xmlChar *value, xmlNodePtr node,
+			xmlChar **nsName, xmlChar **localName)
+{
+    int ret;
+    xmlChar *local = NULL;
+
+    if ((nsName == NULL) || (localName == NULL) || (node == NULL))
+	return (-1);  
+    *nsName = NULL;   
+    *localName = NULL;
+    ret = xmlValidateQName(value, 1);
+    if (ret == 0) {
+	xmlChar *prefix;
+	xmlNsPtr ns;
+	
+	/*
+	* NOTE: xmlSplitQName2 will return a duplicated
+	* string.
+	*/
+	local = xmlSplitQName2(value, &prefix);
+	if (local == NULL)
+	    local = xmlStrdup(value);
+	ns = xmlSearchNs(node->doc, node, prefix);
+	/*
+        * A namespace need not to be found if the prefix is NULL.
+	*/
+	if (ns != NULL) {
+	    /*
+	    * TODO: Is it necessary to duplicate the URI here?
+	    */
+	    *nsName = xmlStrdup(ns->href);
+	} else if (prefix != NULL) {
+	    xmlFree(prefix); 
+	    if (local != NULL)
+		xmlFree(local);
+	    return (2);
+	}		
+	*localName = local;
+	if (prefix != NULL)
+	    xmlFree(prefix);    
+    } else
+	return (1);
+    return (ret);
+}
+
+/**
+ * xmlSchemaHasElemContent: 
+ * @node:  the node
+ *
+ * Scours the content of the given node for element
+ * nodes.
+ *
+ * Returns 1 if an element node is found,
+ * 0 otherwise.
+ */
+static int
+xmlSchemaHasElemContent(xmlNodePtr node)
+{
+    if (node == NULL)
+	return (0);
+    node = node->children;
+    while (node != NULL) {
+	if (node->type == XML_ELEMENT_NODE)
+	    return (1);
+	node = node->next;
+    }
+    return (0);
+}
+/**
+ * xmlSchemaHasElemOrCharContent: 
+ * @node:  the node
+ *
+ * Scours the content of the given node for element
+ * and character nodes.
+ *
+ * Returns 1 if an element or character node is found,
+ * 0 otherwise.
+ */
+static int
+xmlSchemaHasElemOrCharContent(xmlNodePtr node)
+{
+    if (node == NULL)
+	return (0);
+    node = node->children;
+    while (node != NULL) {
+	switch (node->type) {
+	    case XML_ELEMENT_NODE:	
+	    /* 
+	    * TODO: Ask Daniel if these are all character nodes.
+	    */
+	    case XML_TEXT_NODE:
+	    case XML_CDATA_SECTION_NODE:
+	    /*
+	    * TODO: How XML_ENTITY_NODEs evaluated?
+	    */
+	    case XML_ENTITY_REF_NODE:
+	    case XML_ENTITY_NODE:
+		return (1);
+		break;
+	    default:
+		break;
+	}
+	node = node->next;
+    }
+    return (0);
+}
+
+
+/**
+ * xmlSchemaValidateElementByDeclaration:
  * @ctxt:  a schema validation context
  * @node:  the top node.
  *
  * Validate the content of an element type.
- * Validation Rule: Element Locally Valid (Complex Type)
+ * Validation Rule: Element Locally Valid (Element)
  *
  * Returns 0 if the element is schemas valid, a positive error code
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
-xmlSchemaValidateElementType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementByDeclaration(xmlSchemaValidCtxtPtr ctxt,
+				      xmlSchemaElementPtr elemDecl)
 {
-    xmlNodePtr child;
-    xmlRegExecCtxtPtr oldregexp;        /* cont model of the parent */
-    xmlSchemaElementPtr decl;
-    int ret;
-    xmlSchemaAttrStatePtr attrs = NULL, attrTop = NULL;
+    xmlNodePtr elem;
+    int ret = 0;
+    xmlSchemaTypePtr actualType = NULL;
+    xmlAttrPtr attr;
+    xmlChar *attrValue; 
+    int nilled = 0, elemHasContent = -1;
 
-    /* This one is called by xmlSchemaValidateContent only. */
     /* 
-     * TODO: Look into "xmlSchemaValidateElement" for missing parts, which should
-     * go in here as well.
-     */
+    * This one is called by xmlSchemaValidateElementByWildcardInternal, 
+    * xmlSchemaValidateElementByAnyType and xmlSchemaValidateElement.
+    * Note that @elemDecl will be the declaration and never the
+    * reference to a declaration.
+    */
 
-    /* TODO: Is this one called always with an element declaration as the 
-     * context's type?
-     */
+    if (ctxt == NULL) {
+        xmlSchemaVErr(ctxt, NULL, XML_SCHEMAV_INTERNAL,
+	    "Internal error: xmlSchemaValidateElementByDeclaration, "
+	    "bad arguments.\n",
+	    NULL, NULL);
+        return (-1);
+    }
 
-    oldregexp = ctxt->regexp;
+    elem = ctxt->node;   
 
-    child = ctxt->node;
-    decl = (xmlSchemaElementPtr) ctxt->type;
+    /*
+    * cvc-elt (3.3.4) : 1
+    */
+    if (elemDecl == NULL) {
+	xmlSchemaVCustomErr(ctxt,
+	    XML_SCHEMAV_CVC_ELT_1, 
+	    elem, NULL,
+	    "No matching declaration available", NULL);
+        return (ctxt->err);
+    }
+    /*
+    * cvc-elt (3.3.4) : 2
+    */
+    if (elemDecl->flags & XML_SCHEMAS_ELEM_ABSTRACT) {
+	xmlSchemaVCustomErr(ctxt,
+	    XML_SCHEMAV_CVC_ELT_2,
+	    elem, NULL, 
+	    "The element declaration is abstract", NULL);
+        return (ctxt->err);
+    }
+     
+    /*
+    * cvc-elt (3.3.4) : 3
+    * Handle 'xsi:nil'.
+    */
+    
+    attr = xmlHasNsProp(elem, BAD_CAST "nil", xmlSchemaInstanceNs);
+    if (attr != NULL) {
+	attrValue = xmlNodeGetContent((xmlNodePtr) attr);	
+	ctxt->node = (xmlNodePtr) attr;
+	ctxt->cur = attr->children;	
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_BOOLEAN),
+	    BAD_CAST attrValue, 1, 1, 1, 1);
+	ctxt->node = elem;
+	ctxt->type = (xmlSchemaTypePtr) elemDecl;
+	if (ret < 0) {
+	    xmlSchemaVCustomErr(ctxt,
+		XML_SCHEMAV_INTERNAL, 
+		(xmlNodePtr) attr, (xmlSchemaTypePtr) elemDecl,
+		"Internal error: xmlSchemaValidateElementByDeclaration, "
+		"validating the attribute 'xsi:nil'", NULL);
+	    if (attrValue != NULL)
+		xmlFree(attrValue);
+	    return (-1);
+	} 
+	if ((elemDecl->flags & XML_SCHEMAS_ELEM_NILLABLE) == 0) {
+	/* 
+	* cvc-elt (3.3.4) : 3.1 
+	    */
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_CVC_ELT_3_1, 
+		elem, NULL,
+		"The element is not 'nillable'", NULL);	
+	} else {		    
+	    if (xmlStrEqual(BAD_CAST attrValue, BAD_CAST "true") ||
+		xmlStrEqual(BAD_CAST attrValue, BAD_CAST "1")) {		
+		ret = 0;
+		/* 
+		* cvc-elt (3.3.4) : 3.2.1 
+		*/
+		elemHasContent = xmlSchemaHasElemOrCharContent(elem);
+		if (elemHasContent == 1) {
+		    xmlSchemaVCustomErr(ctxt, 
+			XML_SCHEMAV_CVC_ELT_3_2_1, 
+			/* XML_SCHEMAS_ERR_NOTEMPTY, */
+			elem, (xmlSchemaTypePtr) elemDecl,
+			"The 'nilled' element must have no character or "
+			"element content", NULL);
+		    ret = XML_SCHEMAV_CVC_ELT_3_2_1;
+		}
+		/* 
+		* cvc-elt (3.3.4) : 3.2.2 
+		*/
+		if ((elemDecl->flags & XML_SCHEMAS_ELEM_FIXED) &&
+		    (elemDecl->value != NULL)) {
+		    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_CVC_ELT_3_2_2, 
+			/* XML_SCHEMAS_ERR_HAVEDEFAULT, */
+			elem, (xmlSchemaTypePtr) elemDecl,
+			"There is a fixed value constraint defined for "
+			"the 'nilled' element", NULL);		    
+		    ret = XML_SCHEMAV_CVC_ELT_3_2_2;
+		}
+		if (ret == 0)
+		    nilled = 1;		
+	    }
+	}
+	if (attrValue != NULL)
+	    xmlFree(attrValue);
+    }
+    
 
-    if ((ctxt == NULL) || (decl == NULL)) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
-		      "Internal error: xmlSchemaValidateElementType\n",
-		      node->name, NULL);
-        return (-1);
+    actualType = elemDecl->subtypes;
+    /* 
+    * cvc-elt (3.3.4) : 4 
+    * Handle 'xsi:type'.
+    */
+    
+    attr = xmlHasNsProp(elem, BAD_CAST "type",  xmlSchemaInstanceNs);
+    if (attr != NULL) {	
+	xmlChar *nsName = NULL, *local = NULL;
+	
+	/*
+	* TODO: We should report a *warning* that the type was overriden
+	* by the instance.
+	*/
+	
+	/* 
+	* cvc-elt (3.3.4) : 4.1 
+	*/
+	attrValue = xmlNodeGetContent((xmlNodePtr) attr);
+	ret = xmlSchemaValQNameAcquire(attrValue, attr->parent,	
+	    &nsName, &local);
+	if (ret < 0) {
+	    xmlSchemaVCustomErr(ctxt,
+		XML_SCHEMAV_INTERNAL, 
+		(xmlNodePtr) attr, (xmlSchemaTypePtr) elemDecl,
+		"Internal error: xmlSchemaValidateElementByDeclaration, "
+		"validating the attribute 'xsi:type'", NULL);;
+	    FREE_AND_NULL(attrValue)
+		FREE_AND_NULL(nsName)
+		FREE_AND_NULL(local)
+		return (-1);
+	} else if (ret == 1) {
+	    xmlSchemaVSimpleTypeErr(ctxt,
+		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		(xmlNodePtr) attr, attrValue, 
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME));
+	} else if (ret == 2) {
+	    xmlSchemaVCustomErr(ctxt,
+		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		(xmlNodePtr) attr, 
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME),
+		"The QName value '%s' has no "
+		"corresponding namespace declaration in scope", 
+		attrValue);	    	    
+	} else {
+	    /*
+	    * cvc-elt (3.3.4) : 4.2 
+	    */
+	    actualType = xmlSchemaGetType(ctxt->schema, local, nsName);
+	    if (actualType == NULL) {	  
+		xmlChar *strA = NULL;
+		
+		xmlSchemaVCustomErr(ctxt,
+		    XML_SCHEMAV_CVC_ELT_4_2,
+		    (xmlNodePtr) attr, 
+		    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME),
+		    "The value %s does not resolve to a type "
+		    "definition", 
+		    xmlSchemaFormatNsUriLocal(&strA, nsName, local));
+		FREE_AND_NULL(strA);    
+	    } else {		
+		/*
+		* URGENT TODO: cvc-elt (3.3.4) : 4.3 (Type Derivation OK)
+		*/		
+	    }
+	}
+	FREE_AND_NULL(attrValue)
+	FREE_AND_NULL(nsName)
+	FREE_AND_NULL(local)
+    }		
+    /* TODO: Change the handling of missing types according to
+    * the spec.
+    */
+    if (actualType == NULL) {
+    	xmlSchemaVComplexTypeErr(ctxt, 
+    	    XML_SCHEMAV_CVC_TYPE_1,
+    	    elem, (xmlSchemaTypePtr) elemDecl, 
+    	    "The type definition is absent");
+    	return (XML_SCHEMAV_CVC_TYPE_1);
     }
+    
     /*
     * TODO: Since this should be already checked by the content model automaton,
     * and we want to get rid of the XML_SCHEMAS_ERR... types, the error code
     * has been changed to XML_SCHEMAV_INTERNAL.
     */
+    /*
     if (child == NULL) {
         if (decl->minOccurs > 0) {
             xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
-		/* XML_SCHEMAS_ERR_MISSING, */
+		 XML_SCHEMAS_ERR_MISSING, 
 		"Element %s: missing child %s\n",
 		node->name, decl->name);
         }
         return (ctxt->err);
-    }    
-
+    } 
+    */
     /*
      * Verify the element matches
      * TODO, FIXME: Can this still happen here? Isn't this already checked
-     * by the content model automaton?
-     */    
+     * by the content model automaton?         
     if (!xmlStrEqual(child->name, decl->name)) {
         xmlSchemaVErr3(ctxt, node, XML_SCHEMAV_INTERNAL,
-	    /* XML_SCHEMAS_ERR_WRONGELEM, */
+	     XML_SCHEMAS_ERR_WRONGELEM, 
 	    "Element %s: missing child %s found %s\n",
 	    node->name, decl->name, child->name);
         return (ctxt->err);
     }
+    */    
+    if (elemHasContent == -1)
+	elemHasContent = xmlSchemaHasElemOrCharContent(elem);
     /*
-     * Verify the attributes
-     */
+    * cvc-elt (3.3.4) : 5 
+    * The appropriate case among the following must be true:
+    */
     /*
-    * TODO: This "attrTop" thing is not needed any more.
-    */    
-    attrs = ctxt->attr;    
-    attrTop = ctxt->attrTop;    
-    xmlSchemaRegisterAttributes(ctxt, child->properties);     
-    xmlSchemaValidateAttributes(ctxt, child, decl->subtypes);
-    if (ctxt->attr != NULL)
-	xmlSchemaFreeAttributeStates(ctxt->attr);
-    ctxt->attr = attrs;    
-    ctxt->attrTop = attrTop;
+    * cvc-elt (3.3.4) : 5.1 
+    * If the declaration has a {value constraint}, 
+    * the item has neither element nor character [children] and 
+    * clause 3.2 has not applied, then all of the following must be true:
+    */
+    if ((elemHasContent == 0) && (nilled == 0) && (elemDecl->value != NULL)) {
+	/*
+	* cvc-elt (3.3.4) : 5.1.1 
+	* If the ·actual type definition· is a ·local type definition·
+	* then the canonical lexical representation of the {value constraint}
+	* value must be a valid default for the ·actual type definition· as 
+	* defined in Element Default Valid (Immediate) (§3.3.6). 
+	*/
+	/* 
+	* NOTE: 'local' above means types aquired by xsi:type.
+	*/
+	ret = 0;
+	if (actualType != elemDecl->subtypes) {
+	    xmlSchemaCreatePCtxtOnVCtxt(ctxt);
+	    ret = xmlSchemaCheckCOSValidDefault(ctxt->pctxt, ctxt, actualType, 
+		elemDecl->value, NULL);
+	    if (ret < 0) {
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL, 
+		    elem, actualType,
+		    "Internal error: xmlSchemaValidateElementByDeclaration, "
+		    "validating a default value", NULL);
+		return (-1);
+	    }
+	}
+	/*
+	* cvc-elt (3.3.4) : 5.1.2 
+	* The element information item with the canonical lexical 
+	* representation of the {value constraint} value used as its 
+	* ·normalized value· must be ·valid· with respect to the 
+	* ·actual type definition· as defined by Element Locally Valid (Type)
+	* (§3.3.4).
+	*/
+	/*
+        * Disable validation of the simple content, since it was already
+	* done above.
+	*/
+	if (ret == 0) {
+	    if (actualType != elemDecl->subtypes)
+		ret = xmlSchemaValidateElementByType(ctxt, actualType, 0);
+	    else
+		ret = xmlSchemaValidateElementByType(ctxt, actualType, 0);
+	    ctxt->node = elem;
+	    if (ret < 0) {
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL, 
+		    elem, actualType,
+		    "Internal error: xmlSchemaValidateElementByDeclaration, "
+		    "validating against the type", NULL);
+		return (-1);
+	    }
+	    /*
+	    * PSVI: Create a text node on the instance element.
+	    */
+	    if (ctxt->options & XML_SCHEMA_VAL_VC_I_CREATE) {
+		xmlNodePtr textChild;
+		
+		textChild = xmlNewText(elemDecl->value);
+		if (textChild == NULL) {
+		    xmlSchemaVCustomErr(ctxt, 
+			XML_SCHEMAV_INTERNAL, 
+			elem, actualType,
+			"Internal error: xmlSchemaValidateElementByDeclaration, "
+			"could not create a default text node for the instance", 
+			NULL);
+		} else
+		    xmlAddChild(elem, textChild);	    
+	    }
+	}
 
-    /*
-     * Verify the element content recursively
-     */   
-    oldregexp = ctxt->regexp;
-    /*
-    * FIXME TODO: This one creates a regexp even if no content
-    * model was defined. Somehow ->contModel is always not NULL
-    * for complex types, even if they are empty.
-    */    
-    if (decl->contModel != NULL) {	
-        ctxt->regexp = xmlRegNewExecCtxt(decl->contModel,
-                                         (xmlRegExecCallbacks)
-                                         xmlSchemaValidateCallback, ctxt);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext, "====> %s\n", node->name);
-#endif
+    } else {	
+	/*
+	* 5.2.1 The element information item must be ·valid· with respect 
+	* to the ·actual type definition· as defined by Element Locally 
+	* Valid (Type) (§3.3.4).
+	*/
+	ret = xmlSchemaValidateElementByType(ctxt, actualType, 1);
+	ctxt->node = elem;
+	if (ret < 0) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL, 
+		elem, actualType,
+		"Internal error: xmlSchemaValidateElementByDeclaration, "
+		"validating a default value", NULL);
+	    return (-1);
+	}
+	/*
+	* 5.2.2 If there is a fixed {value constraint} and clause 3.2 has 
+	* not applied, all of the following must be true:
+	*/
+
+	if ((elemDecl->flags & XML_SCHEMAS_ELEM_FIXED) && (nilled == 0)) {
+	    /*
+	    * 5.2.2.1 The element information item must have no element 
+	    * information item [children].
+	    *
+	    * TODO REDUNDANT: If the actual type exists, the above call  to 
+	    * xmlSchemaValidateElementByType will already check for element 
+	    * nodes.
+	    */
+	    if (xmlSchemaHasElemContent(elem)) {
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_CVC_ELT_5_2_2_1, 
+		    elem, (xmlSchemaTypePtr) elemDecl,
+		    "Elements in the content are not allowed if it is "
+		    "constrained by a fixed value", NULL);
+	    } else {
+		/*
+		* 5.2.2.2 The appropriate case among the following must 
+		* be true:
+		*/
+		
+		if (actualType->contentType == XML_SCHEMA_CONTENT_MIXED) {
+		    xmlChar *value;
+		    /*
+		    * 5.2.2.2.1 If the {content type} of the ·actual type 
+		    * definition· is mixed, then the *initial value* of the 
+		    * item must match the canonical lexical representation 
+		    * of the {value constraint} value.
+		    *
+		    * ... the *initial value* of an element information 
+		    * item is the string composed of, in order, the 
+		    * [character code] of each character information item in 
+		    * the [children] of that element information item.
+		    */
+		    value = xmlNodeListGetString(elem->doc, elem->children, 1);
+		    if (! xmlStrEqual(BAD_CAST value, elemDecl->value)) {
+			/* 
+			* TODO: Report invalid & expected values as well.
+			* TODO: Implement the cononical stuff.
+			*/
+			xmlSchemaVCustomErr(ctxt, 
+			    XML_SCHEMAV_CVC_ELT_5_2_2_2_1, 
+			    elem, (xmlSchemaTypePtr) elemDecl,
+			    "The value does not match the cononical "
+			    "lexical representation of the fixed constraint", 
+			    NULL);
+		    }
+		    if (value != NULL)
+			xmlFree(value);
+		} else if ((actualType->contentType == 
+		    XML_SCHEMA_CONTENT_SIMPLE) || 
+		    (actualType->contentType == XML_SCHEMA_CONTENT_BASIC)) {
+		    xmlChar *value;
+
+		    /*
+		    * 5.2.2.2.2 If the {content type} of the ·actual type 
+		    * definition· is a simple type definition, then the 
+		    * *actual value* of the item must match the canonical 
+		    * lexical representation of the {value constraint} value.
+		    */
+		    /*
+		    * TODO: *actual value* is the normalized value, impl. this.
+		    * TODO: Report invalid & expected values as well.
+		    * TODO: Implement the cononical stuff.
+		    * 
+		    */
+		    value = xmlNodeListGetString(elem->doc, elem->children, 1);
+		    if (! xmlStrEqual(BAD_CAST value, elemDecl->value)) {
+			xmlSchemaVCustomErr(ctxt, 
+			    XML_SCHEMAV_CVC_ELT_5_2_2_2_2, 
+			    elem, (xmlSchemaTypePtr) elemDecl,
+			    "The normalized value does not match the cononical "
+			    "lexical representation of the fixed constraint", 
+			    NULL);
+		    }
+		    if (value != NULL)
+			xmlFree(value);
+		    
+		}
+		/*
+		* TODO: What if the content type is not 'mixed' or simple?
+		*/
+
+	    }
+	    
+	}
     }
-    xmlSchemaValidateType(ctxt, child, decl, decl->subtypes);
 
-    if (decl->contModel != NULL) {
-        ret = xmlRegExecPushString(ctxt->regexp, NULL, NULL);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext,
-                        "====> %s : %d\n", node->name, ret);
-#endif
-        if (ret == 0) {
-            xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
-		node, decl->subtypes, "The element content is not valid", NULL);
-        } else if (ret < 0) {
-	    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
-		node, decl->subtypes, "The element content is not valid", NULL);
-#ifdef DEBUG_CONTENT
-        } else {
-            xmlGenericError(xmlGenericErrorContext,
-                            "Element %s content check succeeded\n",
-                            node->name);
+    /*
+    * TODO: 6 The element information item must be ·valid· with respect to each of 
+    * the {identity-constraint definitions} as per Identity-constraint 
+    * Satisfied (§3.11.4).
+    */
 
-#endif
-        }
-        xmlRegFreeExecCtxt(ctxt->regexp);
-    }
-    ctxt->regexp = oldregexp;
-    ctxt->node = child;
-    ctxt->type = (xmlSchemaTypePtr) decl;
+    /*
+    * TODO: 7 If the element information item is the ·validation root·, it must be 
+    * ·valid· per Validation Root Valid (ID/IDREF) (§3.3.4).
+    */
+               
     return (ctxt->err);
 }
 
 /**
- * xmlSchemaValidateAnyInternal:
+ * xmlSchemaValidateElementByWildcardInternal:
  * @ctxt:  a schema validation context
  * @node:  the top node.
  *
- * Represents the recursive portion of xmlSchemaValidateAny. Not
- * intended to be used by other functions.
+ * Represents the recursive portion of xmlSchemaValidateElementByWildcard. 
+ * Not intended to be used by other functions.
  *
  * Returns 0 if the element is valid, a positive error code
  * number otherwise and -1 in case of an internal error.
  */
 static int
-xmlSchemaValidateAnyInternal(xmlSchemaValidCtxtPtr ctxt, 
-			     xmlSchemaWildcardPtr wild, 
-			     xmlNodePtr node)
+xmlSchemaValidateElementByWildcardInternal(xmlSchemaValidCtxtPtr ctxt,
+					   xmlSchemaWildcardPtr wild, 
+					   xmlNodePtr node)
 {        
     const xmlChar *uri;
     int ret = 0;
     xmlNodePtr child;
-    
+
+    if (ctxt->xsiAssemble) {	
+	ret = xmlSchemaAssembleByXSIElem(ctxt, ctxt->node);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL,
+		ctxt->node, NULL, 	
+		"Internal error: xmlSchemaValidateElement, "
+		"assembling schema by xsi", NULL);
+	    return (-1);
+	}
+	/*
+	* NOTE: We won't react on schema parser errors here.
+	* TODO: But a warning would be nice.
+	*/
+    }    
     if (wild->processContents != XML_SCHEMAS_ANY_SKIP) {
 	xmlSchemaElementPtr decl = NULL;
 
@@ -12968,8 +15513,7 @@
 	    decl = xmlHashLookup3(ctxt->schema->elemDecl, node->name, NULL, NULL);
 	if (decl != NULL) {		    
 	    ctxt->node = node;	
-	    ctxt->type = (xmlSchemaTypePtr) decl;
-	    ret = xmlSchemaValidateElementType(ctxt, node->parent);
+	    ret = xmlSchemaValidateElementByDeclaration(ctxt, decl);
 	    if (ret < 0) {		
 		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateAnyInternal, "
@@ -12980,7 +15524,7 @@
 	} else if (wild->processContents == XML_SCHEMAS_ANY_STRICT) {
 	    /* TODO: Change to proper error code. */
 	    xmlSchemaVWildcardErr(ctxt, XML_SCHEMAV_CVC_ELT_1,
-		node, wild, "Global declaration is absent");
+		node, wild, "No matching global declaration available");
 	    return (ctxt->err);
 	}
     }
@@ -12996,10 +15540,11 @@
 		    /* TODO: error code. */
 		    xmlSchemaVWildcardErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
 			child, wild, 
-			"The namespace of the element is not allowed.");
+			"The namespace of the element is not allowed");
 		    return (ctxt->err);  
 		}
-		ret = xmlSchemaValidateAnyInternal(ctxt, wild, child);
+		ret = xmlSchemaValidateElementByWildcardInternal(ctxt, 
+		    wild, child);
 		if (ret != 0)
 		    return (ret);		
 	    }
@@ -13010,17 +15555,26 @@
 }
 
 /**
- * xmlSchemaValidateAny:
+ * xmlSchemaValidateElementContByWildcard:
  * @ctxt:  a schema validation context
  *
  * 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
-xmlSchemaValidateAny(xmlSchemaValidCtxtPtr ctxt)
+xmlSchemaValidateElementByWildcard(xmlSchemaValidCtxtPtr ctxt, 
+				   xmlSchemaTypePtr type)
 {       
-    return(xmlSchemaValidateAnyInternal(ctxt, 
-	    ctxt->type->attributeWildcard, ctxt->cur));    
+    if ((type == NULL) || (type->type != XML_SCHEMA_TYPE_ANY) ||
+	(ctxt->node == NULL)) {
+	xmlSchemaVCustomErr(ctxt,
+	    XML_SCHEMAV_INTERNAL, ctxt->node, NULL,
+	    "Internal error: xmlSchemaValidateElementByWildcard, "
+	    "bad arguments", NULL);
+	return (-1);
+    }
+    return(xmlSchemaValidateElementByWildcardInternal(ctxt, 
+	    type->attributeWildcard, ctxt->node));
 }
 
 /**
@@ -13037,35 +15591,45 @@
  * otherwise and -1 in case of an internal or API error.
  */
 static int
-xmlSchemaValidateAnyTypeContent(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementByAnyType(xmlSchemaValidCtxtPtr ctxt, 
+				  xmlSchemaTypePtr type)
 {
-    xmlNodePtr top = node;
-    xmlSchemaTypePtr decl;
+    xmlSchemaTypePtr oldtype;
+    xmlNodePtr top, cur;
+    xmlSchemaElementPtr decl;
     int skipContent, ret;
-    
-    if (node->children == NULL) 
+
+    if ((type == NULL) || (ctxt->node == NULL))
+	return (-1);
+
+    if (ctxt->node->children == NULL) 
 	return (0);
-    node = node->children;
-    while (node != NULL) {
+
+    oldtype = ctxt->type;
+    top = ctxt->node;        
+    /*
+    * STREAM: Child nodes are processed.
+    */
+    cur = ctxt->node->children;
+    while (cur != NULL) {
 	skipContent = 0;
-	if (node->type == XML_ELEMENT_NODE) {    
+	if (cur->type == XML_ELEMENT_NODE) {
 	    /*
 	    * The process contents of the wildcard is "lax", thus
 	    * we need to validate the element if a declaration
 	    * exists.
 	    */		
-	    if (node->ns != NULL)
+	    if (cur->ns != NULL)
 		decl = xmlHashLookup3(ctxt->schema->elemDecl,
-		node->name, node->ns->href, NULL);
+		    cur->name, cur->ns->href, NULL);
 	    else 
-		decl = xmlHashLookup3(ctxt->schema->elemDecl, node->name, NULL, NULL);
-	    
+		decl = xmlHashLookup3(ctxt->schema->elemDecl, cur->name, NULL, NULL);	    
 	    if (decl != NULL) {		    
-		ctxt->node = node;	
-		ctxt->type = (xmlSchemaTypePtr) decl;
-		ret = xmlSchemaValidateElementType(ctxt, node->parent);
+		ctxt->node = cur;
+		ret = xmlSchemaValidateElementByDeclaration(ctxt, decl);
+		ctxt->node = top;
 		if (ret < 0) {		
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    xmlSchemaVErr(ctxt, cur, XML_SCHEMAV_INTERNAL,
 			"Internal error: xmlSchemaValidateAnyTypeContent, "
 			"validating an element in the context of a wildcard.",
 			NULL, NULL);
@@ -13078,74 +15642,38 @@
 	/*
 	* Browse the full subtree, deep first.
 	*/
-        if ((skipContent == 0) && (node->children != NULL)) {
+        if ((skipContent == 0) && (cur->children != NULL)) {
 	    /* deep first */
-	    node = node->children;
-	} else if ((node != top) && (node->next != NULL)) {
+	    cur = cur->children;
+	} else if ((cur != top) && (cur->next != NULL)) {
 	    /* then siblings */
-	    node = node->next;
-	} else if (node != top) {
+	    cur = cur->next;
+	} else if (cur != top) {
 	    /* go up to parents->next if needed */
-	    while (node != top) {
-	        if (node->parent != NULL)
-		    node = node->parent;
-		if ((node != top) && (node->next != NULL)) {
-		    node = node->next;
+	    while (cur != top) {
+	        if (cur->parent != NULL)
+		    cur = cur->parent;
+		if ((cur != top) && (cur->next != NULL)) {
+		    cur = cur->next;
 		    break;
 		}
-		if (node->parent == NULL) {
-		    node = NULL;
+		if (cur->parent == NULL) {
+		    cur = NULL;
 		    break;
 		}
 	    }
 	    /* exit condition */
-	    if (node == top) 
-	        node = NULL;
+	    if (cur == top) 
+	        cur = NULL;
 	} else
 	    break;
     }
+    ctxt->type = oldtype;
     return (0);
 }
 
 /**
- * xmlSchemaHasElemOrCharContent: 
- * @node:  the node
- *
- * Scours the content of the given node for element
- * and character nodes.
- *
- * Returns 1 if an element or character node is found,
- * 0 otherwise.
- */
-static int
-xmlSchemaHasElemOrCharContent(xmlNodePtr node)
-{
-    xmlNodePtr cur;
-
-    if (node == NULL)
-	return (0);
-    cur = node->children;
-    while (cur != NULL) {
-	if ((cur->type == XML_ELEMENT_NODE) ||
-	/* 
-	* TODO: Ask Daniel if these are all character nodes.
-	*/
-	(cur->type == XML_TEXT_NODE) ||		    
-	(cur->type == XML_CDATA_SECTION_NODE) ||
-	/*
-	* TODO: How XML_ENTITY_NODEs evaluated?
-	*/
-	(cur->type == XML_ENTITY_REF_NODE) ||
-	(cur->type == XML_ENTITY_NODE)) {
-	    return (1);
-	}
-	cur = cur->next;
-    }
-    return (0);
-}
-
-/**
- * xmlSchemaValidateComplexType:
+ * xmlSchemaValidateElementByComplexType:
  * @ctxt:  a schema validation context
  * @node:  the top node.
  *
@@ -13165,17 +15693,60 @@
  * the report of any additional information by the user.
  */
 static int
-xmlSchemaValidateComplexType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementByComplexType(xmlSchemaValidCtxtPtr ctxt, 
+				      xmlSchemaTypePtr type,
+				      int valSimpleContent)
 {
-    xmlNodePtr child;
-    xmlSchemaTypePtr type;
+    xmlSchemaTypePtr oldtype;    
+    xmlNodePtr elem, child;
     int ret = 0;
     const xmlChar *nsUri;    
+    xmlSchemaAttrStatePtr attrs = NULL, attrTop = NULL;
 
-    child = ctxt->node;
-    type = ctxt->type;
-    ctxt->cur = node;
+    if ((ctxt == NULL) || (type->type != XML_SCHEMA_TYPE_COMPLEX))
+	return (-1);
 
+    oldtype = ctxt->type;
+    ctxt->type = type;
+    elem = ctxt->node;
+
+    /*
+    * Verify the attributes
+    */
+    /*
+    * TODO: This "attrTop" thing is not needed any more.
+    */  
+    /* NOTE: removed, since a check for abstract is
+    * done in the cvc-type constraint.
+    *
+    *
+    * if (type->flags & XML_SCHEMAS_TYPE_ABSTRACT) {
+    *	xmlSchemaVComplexTypeErr(ctxt, 
+    *	    XML_SCHEMAV_CVC_COMPLEX_TYPE_1,
+    *	    elem, type, 
+    *	    "The type definition is abstract");
+    *	return (XML_SCHEMAV_CVC_COMPLEX_TYPE_1);
+    *}
+    */
+    
+    attrs = ctxt->attr;    
+    attrTop = ctxt->attrTop;   
+    /*
+    * STREAM: Attribute nodes are processed.
+    */
+    xmlSchemaRegisterAttributes(ctxt, elem->properties);     
+    xmlSchemaValidateAttributes(ctxt, elem, type);
+    if (ctxt->attr != NULL)
+	xmlSchemaFreeAttributeStates(ctxt->attr);
+    ctxt->attr = attrs;    
+    ctxt->attrTop = attrTop;    
+
+    /*
+    * TODO: This one creates a regexp even if no content
+    * model was defined. Somehow ->contModel is always not NULL
+    * for complex types, even if they are empty.
+    * TODO: Check if the obove still occurs.
+    */              
     switch (type->contentType) {
 	case XML_SCHEMA_CONTENT_EMPTY: {
 	    /*
@@ -13185,17 +15756,48 @@
 	    /*
 	    * TODO: Is the entity stuff correct?
 	    */
-	    if (xmlSchemaHasElemOrCharContent(node) == 1) {	    	    
+	    if (xmlSchemaHasElemOrCharContent(elem) == 1) {	    	    
 		xmlSchemaVComplexTypeErr(ctxt, 
 		    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1,
-		    node, type, 
+		    elem, type, 
 		    "Character or element content is not allowed, "
 		    "because the content type is empty");
             }	 
             break;
 	}
+	case XML_SCHEMA_CONTENT_MIXED:
+	    if ((type->subtypes == NULL) && 
+		(type->baseType->builtInType == XML_SCHEMAS_ANYTYPE)) {
+		/*
+		* The type has 'anyType' as its base and no content model
+		* is defined -> use 'anyType' as the type to validate
+		* against.
+		*/
+		ret = xmlSchemaValidateElementByAnyType(ctxt, type->baseType);
+		/* TODO: Handle -1. */
+		break;
+	    }
+	    /* No break on purpose. */
         case XML_SCHEMA_CONTENT_ELEMENTS:
-        case XML_SCHEMA_CONTENT_MIXED:              
+        {
+	    xmlRegExecCtxtPtr oldregexp = NULL;
+	    
+	    /*
+	    * Content model check initialization.
+	    */
+	    if (type->contModel != NULL) {					
+		oldregexp = ctxt->regexp;
+		ctxt->regexp = xmlRegNewExecCtxt(type->contModel,
+		    (xmlRegExecCallbacks)
+		    xmlSchemaValidateCallback, ctxt);
+#ifdef DEBUG_AUTOMATA
+		xmlGenericError(xmlGenericErrorContext, "====> %s\n", elem->name);
+#endif
+	    }
+	    /*
+	    * STREAM: Children are processed.
+	    */
+	    child = elem->children;
 	    while (child != NULL) {		
 		if (child->type == XML_ELEMENT_NODE) {
 		    if (child->ns != NULL)
@@ -13203,7 +15805,11 @@
 		    else
 			nsUri = NULL;
 		    ret = xmlRegExecPushString2(ctxt->regexp,
-			child->name, nsUri, child);	
+			child->name, nsUri, child);
+		    /*
+		    * URGENT TODO: Could we anchor an error report
+		    * here to notify of invalid elements?
+		    */
 #ifdef DEBUG_AUTOMATA		    
 		    if (ret < 0)
 			xmlGenericError(xmlGenericErrorContext,
@@ -13229,16 +15835,49 @@
 		    */			
 		    xmlSchemaVComplexTypeErr(ctxt, 
 			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3,
-			node, type, 
+			elem, type, 
 			"Character content is not allowed, "
 			"because the content type is element-only");		    
 		    break;
 		}
 		child = child->next;		    
-	    }            	    
+	    }    
+	    /*
+	    * Content model check finalization.
+	    */
+       	    if (type->contModel != NULL) {
+		ret = xmlRegExecPushString(ctxt->regexp, NULL, NULL);
+#ifdef DEBUG_AUTOMATA
+		xmlGenericError(xmlGenericErrorContext,
+		    "====> %s : %d\n", elem->name, ret);
+#endif
+		if (ret == 0) {
+		    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
+			elem, type, "The element content is not valid", NULL);
+		} else if (ret < 0) {
+		    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
+			elem, type, "The element content is not valid", NULL);
+#ifdef DEBUG_CONTENT
+		} else {
+		    xmlGenericError(xmlGenericErrorContext,
+			"Element %s content check succeeded\n",
+			elem->name);
+		    
+#endif
+		}
+		xmlRegFreeExecCtxt(ctxt->regexp);
+		ctxt->regexp = oldregexp;
+	    }
+	}
             break;
 	case XML_SCHEMA_CONTENT_SIMPLE:
-        case XML_SCHEMA_CONTENT_BASIC:{
+        case XML_SCHEMA_CONTENT_BASIC:
+	    /*
+	    * If the simple content was already validated 
+	    * (e.g. a default value), the content need not
+	    * to be validated again.
+	    */
+	if (valSimpleContent == 1) {
 	    xmlChar *value = NULL;
 	    /*
 	    * We hit a complexType with a simpleContent resolving
@@ -13251,29 +15890,50 @@
 	    * 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;
+	    */	  
+	    /*
+	    * STREAM: Children are processed.
+	    */
+	    child = elem->children;
 	    while (child != NULL) {
+		/*
+		* TODO: Could the entity stuff produce elements
+		* as well?
+		*/
                 if (child->type == XML_ELEMENT_NODE) {
 		    xmlSchemaVComplexTypeErr(ctxt,
 			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
-			node, type, 
+			elem, type, 
 			"Element content is not allowed, because "
 			"the content type is a simple type");
 		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
 		    break;
 		}
 		child = child->next;		    
-	    }	    
+	    }	
+	    ctxt->node = elem;
+	    ctxt->cur = elem->children;
 	    if (ret == 0) {
 		/*
 		* Validate the character content against a simple type.
 		*/
-		if (ctxt->node == NULL)
+		/*
+		* STREAM: Children are processed.
+		*/
+		if (elem->children == NULL)
 		    value = NULL;
 		else
-		    value = xmlNodeGetContent(node); 
-		ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1, 1);
+		    value = xmlNodeGetContent(elem); 
+		/*
+		* URGENT TODO: Should facets for the simple type validation be 
+		* disabled, if the derivation of facets for complex types 
+		* is implemented?
+		*/
+		/*
+		* NOTE: This call won't check the correct types of the
+		* content nodes, since this should be done here.
+		*/
+		ret = xmlSchemaValidateSimpleTypeValue(ctxt, type, value, 1, 1, 1, 0);
 		if (ret > 0) {	
 		    /*
 		    * NOTE: Although an error will be reported by 
@@ -13283,15 +15943,18 @@
 		    */
 		    xmlSchemaVComplexTypeErr(ctxt, 
 			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
-			node, type,  
+			elem, type,  
 			"The character content is not valid");
 		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
 		} else if (ret < 0) {
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    xmlSchemaVErr(ctxt, elem, XML_SCHEMAV_INTERNAL,
 			"Internal error: xmlSchemaValidateComplexType, "
 			"Element '%s': Error while validating character "
 			"content against complex type '%s'.\n",
-			node->name, type->name);
+			elem->name, type->name);
+		    if (value != NULL)
+			xmlFree(value); 
+		    ctxt->type = oldtype;
 		    return (-1);
 		}
 	    }	    
@@ -13300,250 +15963,190 @@
 		* 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
+		/* URGENT 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.
 		*/	    
 
-		ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
-		    value, 0, 1);
+		ret = xmlSchemaValidateFacetsInternal(ctxt, 
+		    type, value, 0, 1);
 		if (ret > 0) {
 		    xmlSchemaVComplexTypeErr(ctxt, 
 			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
-			node, type, 
+			elem, type, 
 			"The character content is not valid");
 		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
 		} else if (ret < 0) {
-		    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_INTERNAL,
+		    xmlSchemaVErr(ctxt, elem, XML_SCHEMAV_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); 
+		    ctxt->type = oldtype;
+		    return (-1);
 		}
 	    }
 	    if (value != NULL)
 		xmlFree(value);    
-	    /* TODO: facets */
+	    
+	}
 	    break;
-	}
         default:
             TODO xmlGenericError(xmlGenericErrorContext,
                                  "unimplemented content type %d\n",
                                  type->contentType);
     }
-    ctxt->cur = node;
+    ctxt->type = oldtype;
     return (ctxt->err);
 }
 
 /**
- * xmlSchemaValidateContent:
+ * xmlSchemaValidateElementByType:
  * @ctxt:  a schema validation context
  * @elem:  an element
- * @type:  the type declaration
+ * @type:  the list of type declarations
  *
- * Validate the content of an element against the type.
+ * Validation Rule: Element Locally Valid (Type).
  *
  * Returns 0 if the element is schemas valid, a positive error code
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
-xmlSchemaValidateContent(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementByType(xmlSchemaValidCtxtPtr ctxt,
+			       xmlSchemaTypePtr type,
+			       int valSimpleContent)
 {
-    xmlSchemaTypePtr type;
+    int ret;
 
-    type = ctxt->type;
-    ctxt->cur = node;
+   
+    if ((ctxt == NULL) || (type == NULL)) {
+        xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_INTERNAL, NULL, NULL,
+	    "Internal error: xmlSchemaValidateElementByType, "
+	    "bad arguments", NULL);
+        return (-1);    
+    }    	
+    /* 
+    * This one is called by "xmlSchemaValidateElementByDeclaration".
+    * It will forward to the proper validation 
+    * procedures for the given type.
+    */        
+    if (type == NULL) {
+    	xmlSchemaVComplexTypeErr(ctxt, 
+    	    XML_SCHEMAV_CVC_TYPE_1,
+    	    ctxt->node, NULL, 
+    	    "The type definition is absent");
+    	return (XML_SCHEMAV_CVC_TYPE_1);
+    }
+    
+    if (type->flags & XML_SCHEMAS_TYPE_ABSTRACT) {
+    	xmlSchemaVComplexTypeErr(ctxt, 
+    	    XML_SCHEMAV_CVC_TYPE_2,
+    	    ctxt->node, type, 
+    	    "The type definition is abstract");
+    	return (XML_SCHEMAV_CVC_TYPE_2);
+    }
 
     switch (type->type) {
-        case XML_SCHEMA_TYPE_ANY:
-	    xmlSchemaValidateAny(ctxt);
-	    ctxt->type = type;
+	case XML_SCHEMA_TYPE_COMPLEX:
+            ret = xmlSchemaValidateElementByComplexType(ctxt, type,
+		valSimpleContent);
             break;
-        case XML_SCHEMA_TYPE_COMPLEX:
-            xmlSchemaValidateComplexType(ctxt, node);
+	case XML_SCHEMA_TYPE_SIMPLE:
+            ret = xmlSchemaValidateElementBySimpleType(ctxt, type,
+		valSimpleContent);
             break;
-        case XML_SCHEMA_TYPE_ELEMENT:{
-                xmlSchemaElementPtr decl = (xmlSchemaElementPtr) type;
-
-                /*
-                 * Handle element reference here
-                 */
-		/*
-		* TODO: This should be removed, since checks for 
-		* consistence should not be done during validation.
-		*/
-                if (decl->ref != NULL) {
-                    if (decl->refDecl == NULL) {
-                        xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
-				      "Internal error: element reference %s "
-				      "not resolved\n", decl->ref, NULL);
-                        return (-1);
-                    }
-                    ctxt->type = (xmlSchemaTypePtr) decl->refDecl;
-                    decl = decl->refDecl;
-                }
-		/* TODO: Should "xmlSchemaValidateElement" be called instead? */
-                xmlSchemaValidateElementType(ctxt, node);
-                ctxt->type = type;
-                break;
-            }
-        case XML_SCHEMA_TYPE_BASIC:
+	case XML_SCHEMA_TYPE_BASIC:
 	    if (type->builtInType == XML_SCHEMAS_ANYTYPE)
-		xmlSchemaValidateAnyTypeContent(ctxt, node);
+		ret = xmlSchemaValidateElementByAnyType(ctxt, type);
 	    else
-		xmlSchemaValidateSimpleTypeElement(ctxt, node);
+		ret = xmlSchemaValidateElementBySimpleType(ctxt, type,
+		    valSimpleContent);
 	    break;
-	case XML_SCHEMA_TYPE_SIMPLE:
-            xmlSchemaValidateSimpleTypeElement(ctxt, node);
-            break;
-        case XML_SCHEMA_TYPE_FACET:
-            TODO break;        
-        case XML_SCHEMA_TYPE_SEQUENCE:
-            TODO break;
-        case XML_SCHEMA_TYPE_CHOICE:
-            TODO break;
-        case XML_SCHEMA_TYPE_ALL:
-            TODO break;
-        case XML_SCHEMA_TYPE_SIMPLE_CONTENT:
-            TODO break;
-        case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
-            TODO break;
-        case XML_SCHEMA_TYPE_UR:
-            TODO break;
-        case XML_SCHEMA_TYPE_RESTRICTION:
-            /*xmlSchemaValidateRestrictionType(ctxt, node); */
-            TODO break;
-        case XML_SCHEMA_TYPE_EXTENSION:
-            TODO break;
-        case XML_SCHEMA_TYPE_ATTRIBUTE:
-            TODO break;
-        case XML_SCHEMA_TYPE_GROUP:
-            TODO break;
-        case XML_SCHEMA_TYPE_NOTATION:
-            TODO break;
-        case XML_SCHEMA_TYPE_LIST:
-            TODO break;
-        case XML_SCHEMA_TYPE_UNION:
-            TODO break;
-        case XML_SCHEMA_FACET_MININCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_MINEXCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_MAXINCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_MAXEXCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_TOTALDIGITS:
-            TODO break;
-        case XML_SCHEMA_FACET_FRACTIONDIGITS:
-            TODO break;
-        case XML_SCHEMA_FACET_PATTERN:
-            TODO break;
-        case XML_SCHEMA_FACET_ENUMERATION:
-            TODO break;
-        case XML_SCHEMA_FACET_WHITESPACE:
-            TODO break;
-        case XML_SCHEMA_FACET_LENGTH:
-            TODO break;
-        case XML_SCHEMA_FACET_MAXLENGTH:
-            TODO break;
-        case XML_SCHEMA_FACET_MINLENGTH:
-            TODO break;
-        case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
-            TODO break;
-        case XML_SCHEMA_TYPE_ANY_ATTRIBUTE:
-            TODO break;
-    }
-
-    if (ctxt->node == NULL)
-        return (ctxt->err);
-    ctxt->node = ctxt->node->next;
-    ctxt->type = type->next;
-    return (ctxt->err);
+	default:
+	    ret = -1;
+	    break;
+    }	
+    if (ret == -1)
+	return (-1);
+    else
+	return (ret);
 }
 
-/**
- * xmlSchemaValidateType:
- * @ctxt:  a schema validation context
- * @elem:  an element
- * @type:  the list of type declarations
- *
- * Validate the content of an element against the types.
- *
- * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
- */
+
 static int
-xmlSchemaValidateType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem,
-                      xmlSchemaElementPtr elemDecl, xmlSchemaTypePtr type)
+xmlSchemaCheckAttrLocallyValid(xmlSchemaValidCtxtPtr ctxt,
+			       xmlSchemaAttributePtr decl,
+			       xmlSchemaAttrStatePtr state,
+			       xmlAttrPtr attr)
 {
-    xmlChar *nil;
+    xmlChar *value;
+    const xmlChar *defValue;
+    xmlSchemaValPtr defVal;
+    int fixed;
+    int ret;
 
-    if ((elem == NULL) || (type == NULL) || (elemDecl == NULL))
-        return (0);
-
-    /* This one is called by "xmlSchemaValidateElementType" and
-     * "xmlSchemaValidateElement".
-     */
-
-    /*
-     * 3.3.4 : 2
-     */
-    if (elemDecl->flags & XML_SCHEMAS_ELEM_ABSTRACT) {
-	xmlSchemaVCustomErr(ctxt,
-	    XML_SCHEMAV_CVC_ELT_2,
-	    elem, NULL, 
-	    "The element declaration is abstract", NULL);
-        return (ctxt->err);
+    if (decl->subtypes == NULL) {
+	state->state = XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED;
+	return (XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED);
     }
+    value = xmlNodeListGetString(attr->doc, attr->children, 1);
+    ctxt->node = (xmlNodePtr) attr;
+    ctxt->cur = attr->children;
     /*
-     * 3.3.4: 3
-     */
-    nil = xmlGetNsProp(elem, BAD_CAST "nil", xmlSchemaInstanceNs);
-    if (elemDecl->flags & XML_SCHEMAS_ELEM_NILLABLE) {
-        /* 3.3.4: 3.2 */
-        if (xmlStrEqual(nil, BAD_CAST "true")) {
-	    if (xmlSchemaHasElemOrCharContent(elem) == 1) {
-                xmlSchemaVCustomErr(ctxt, 
-		    XML_SCHEMAV_CVC_ELT_3_2_1, 
-		    /* XML_SCHEMAS_ERR_NOTEMPTY, */
-		    elem, NULL,		    
-		    "The 'nilled' element must have no character or element "
-		    "content", NULL);
-                return (ctxt->err);
-            }
-            if ((elemDecl->flags & XML_SCHEMAS_ELEM_FIXED) &&
-                (elemDecl->value != NULL)) {
-                xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_CVC_ELT_3_2_2, 
-		    /* XML_SCHEMAS_ERR_HAVEDEFAULT, */
-		    elem, NULL,
-		    "There is a fixed value constraint defined for "
-		    "the 'nilled' element", NULL);		    
-                return (ctxt->err);
-            }
-        }
-    } else {
-        /* 3.3.4: 3.1 */
-        if (nil != NULL) {
-	    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_CVC_ELT_3_1, 
-		/* XML_SCHEMAS_ERR_NOTNILLABLE, */
-		elem, NULL,
-		"The element is not 'nillable'", NULL);			  
-            xmlFree(nil);
-            return (ctxt->err);
-        }
+    * NOTE: This call also checks the content nodes for correct type.
+    */
+    ret = xmlSchemaValidateSimpleTypeValue(ctxt, decl->subtypes,
+	value, 1, 1, 1, 1);
+    	    
+    /*
+    * Handle 'fixed' attributes.
+    */
+    if (ret > 0) {
+	state->state = XML_SCHEMAS_ATTR_INVALID_VALUE;
+	/*
+	* NOTE: Fixed value constraints will be not
+	* applied if the value was invalid, because: 
+	* 1. The validation process does not return a precomputed 
+	*    value.
+	* 2. An invalid value implies a violation of a fixed 
+	*    value constraint.
+	*/
+    } else if (ret == 0) {
+	state->state = XML_SCHEMAS_ATTR_CHECKED;
+	if (xmlSchemaGetEffectiveValueConstraint(decl, 
+	    &fixed, &defValue, &defVal) && (fixed == 1)) {
+	    /*
+	    * cvc-au : Attribute Locally Valid (Use)
+	    * For an attribute information item to be·valid· 
+	    * with respect to an attribute use its ·normalized 
+	    * value· must match the canonical lexical representation
+	    * of the attribute use's {value constraint} value, if it 
+	    * is present and fixed.
+	    */
+	    /* 
+	    * NOTE: the validation context holds in ctxt->value the
+	    * precomputed value of the attribute; well for some types,
+	    * fallback to string comparison if no computed value 
+	    * exists.
+	    */
+	    if (((ctxt->value != NULL) && 
+		(xmlSchemaCompareValues(ctxt->value, defVal) != 0)) ||
+		((ctxt->value == NULL) &&
+		(! xmlStrEqual(defValue, BAD_CAST value)))) {
+		state->state = 
+		    XML_SCHEMAS_ATTR_INVALID_FIXED_VALUE;			
+	    }
+	}
+    }  
+    if (value != NULL) {
+	xmlFree(value);
     }
-
-    /* TODO 3.3.4: 4 if the element carries xs:type */
-
-    ctxt->type = elemDecl->subtypes;
-    ctxt->node = elem->children;
-    xmlSchemaValidateContent(ctxt, elem);   
-    return (ctxt->err);
+    return (ret);
 }
 
-
 /**
  * xmlSchemaValidateAttributes:
  * @ctxt:  a schema validation context
@@ -13567,33 +16170,37 @@
 static int
 xmlSchemaValidateAttributes(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem, xmlSchemaTypePtr type)
 {
+    const xmlChar *nsURI;
     int ret;
     xmlAttrPtr attr; /* An attribute on the element. */
-    xmlChar *value;
-    const xmlChar *nsURI;
-    xmlSchemaAttributeLinkPtr attrUse;
+    const xmlChar *defValue;
+    xmlSchemaValPtr defVal;
+    int fixed;
+    xmlSchemaAttributeLinkPtr attrUse = NULL;
     xmlSchemaAttributePtr attrDecl;
     int found;
     xmlSchemaAttrStatePtr curState, reqAttrStates = NULL, reqAttrStatesTop = NULL;
+    xmlSchemaAttrStatePtr defAttrStates = NULL, defAttrStatesTop = NULL;
+    xmlNodePtr oldnode;
 #ifdef DEBUG_ATTR_VALIDATION
     int redundant = 0;
 #endif
 
-    /* 
-    * NOTE: This one uses attr->subtypes to get the type decl. - regardless
-    * if we have an attribute reference or an attribute declaration.
-    */    
+      
     /*
     * Allow all attributes if the type is anyType.
     */
     if (type == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE))
 	return (0);
-    attrUse = type->attributeUses;
+
+    oldnode = ctxt->node;
+    if (type != NULL)
+	attrUse = type->attributeUses;
     while (attrUse != NULL) {
         found = 0;    
 	attrDecl = attrUse->attr;
 #ifdef DEBUG_ATTR_VALIDATION
-	printf("attr use - name: %s\n", xmlSchemaGetOnymousAttrName(attrDecl));
+	printf("attr use - name: %s\n", xmlSchemaGetAttrName(attrDecl));
 	printf("attr use - use: %d\n", attrDecl->occurs);
 #endif
         for (curState = ctxt->attr; curState != NULL; curState = curState->next) {		    
@@ -13602,7 +16209,7 @@
 #ifdef DEBUG_ATTR_VALIDATION
 		redundant = 1;
 #endif
-        }
+	    }
 	    attr = curState->attr;
 #ifdef DEBUG_ATTR_VALIDATION
 	    printf("attr - name: %s\n", attr->name);
@@ -13654,58 +16261,67 @@
 #ifdef DEBUG_ATTR_VALIDATION
 	    printf("found\n");
 #endif
-            found = 1;
-            ctxt->cur = (xmlNodePtr) attr;
-	    ctxt->node = attr->children;
-
-            if (attrDecl->subtypes == NULL) {
-		curState->state = XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED;
-		curState->decl = attrDecl;
-                xmlSchemaVErr(ctxt, (xmlNodePtr) attr, XML_SCHEMAV_INTERNAL,
-			      "Internal error: attribute %s type not resolved\n",
-			      attr->name, NULL);
-                continue;
-            }
-            value = xmlNodeListGetString(elem->doc, attr->children, 1);
-	    ctxt->type = attrDecl->subtypes;	    
-            ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1, 1);
-	    ctxt->type = type;
-            if (ret != 0) 
-		curState->state = XML_SCHEMAS_ATTR_INVALID_VALUE;   				
-            else
-                curState->state = XML_SCHEMAS_ATTR_CHECKED;
+            found = 1;	    
 	    curState->decl = attrDecl;
-            if (value != NULL) {
-                xmlFree(value);
-            }	    
+	    ret = xmlSchemaCheckAttrLocallyValid(ctxt, attrDecl, curState, attr);
         }
-        if ((!found) && (attrDecl->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED)) {
-	    xmlSchemaAttrStatePtr tmp;
-
+        if (!found) {
+	    if (attrDecl->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED) {
+		xmlSchemaAttrStatePtr tmp;
+		
 #ifdef DEBUG_ATTR_VALIDATION
-	    printf("required attr not found\n");
+		printf("required attr not found\n");
 #endif
-	    /*
-	     * Add a new dummy attribute state.
-	     */	
-	    tmp = (xmlSchemaAttrStatePtr) xmlMalloc(sizeof(xmlSchemaAttrState));
-	    if (tmp == NULL) {
-		xmlSchemaVErrMemory(ctxt, "registering required attributes", NULL);
-		return (-1);
-            }            
-	    tmp->attr = NULL;
-	    tmp->state = XML_SCHEMAS_ATTR_MISSING;
-	    tmp->decl = attrDecl;
-	    tmp->next = NULL;
-         
-	    if (reqAttrStates == NULL) {
-		reqAttrStates = tmp;
-		reqAttrStatesTop = tmp;
-            } else {
-		reqAttrStatesTop->next = tmp;
-		reqAttrStatesTop = tmp;
-            }
-	
+		/*
+		* Add a new dummy attribute state.
+		*/	
+		tmp = (xmlSchemaAttrStatePtr) xmlMalloc(sizeof(xmlSchemaAttrState));
+		if (tmp == NULL) {
+		    xmlSchemaVErrMemory(ctxt, "registering required attributes", NULL);
+		    ctxt->node = oldnode;
+		    return (-1);
+		}            
+		tmp->attr = NULL;
+		tmp->state = XML_SCHEMAS_ATTR_MISSING;
+		tmp->decl = attrDecl;
+		tmp->next = NULL;
+		
+		if (reqAttrStates == NULL) {
+		    reqAttrStates = tmp;
+		    reqAttrStatesTop = tmp;
+		} else {
+		    reqAttrStatesTop->next = tmp;
+		    reqAttrStatesTop = tmp;
+		}
+	    } else if ((attrDecl->occurs == XML_SCHEMAS_ATTR_USE_OPTIONAL) &&
+		    (xmlSchemaGetEffectiveValueConstraint(attrDecl, 
+			&fixed, &defValue, &defVal))) {
+		xmlSchemaAttrStatePtr tmp;
+		/*
+		* Handle non existent default/fixed attributes.
+		*/	
+		tmp = (xmlSchemaAttrStatePtr) 
+		    xmlMalloc(sizeof(xmlSchemaAttrState));
+		if (tmp == NULL) {
+		    xmlSchemaVErrMemory(ctxt, 
+			"registering schema specified attributes", NULL);
+		    ctxt->node = oldnode;
+		    return (-1);
+		}            
+		tmp->attr = NULL;
+		tmp->state = XML_SCHEMAS_ATTR_DEFAULT;
+		tmp->decl = attrDecl;
+		tmp->value = defValue;
+		tmp->next = NULL;
+		
+		if (defAttrStates == NULL) {
+		    defAttrStates = tmp;
+		    defAttrStates = tmp;
+		} else {
+		    defAttrStates->next = tmp;
+		    defAttrStatesTop = tmp;
+		}				
+	    }			
 	}
         attrUse = attrUse->next;
     }
@@ -13723,7 +16339,8 @@
     /*
     * Process wildcards.
     */
-    if (type->attributeWildcard != NULL) {	
+    
+    if ((type != NULL) && (type->attributeWildcard != NULL)) {	
 #ifdef DEBUG_ATTR_VALIDATION
 	xmlSchemaWildcardNsPtr ns;	
 	printf("matching wildcard: [%d] of complexType: %s\n", type->attributeWildcard, type->name);
@@ -13777,23 +16394,11 @@
 			
 			attr = curState->attr;						
 			attrDecl = xmlSchemaGetAttribute(ctxt->schema, 
-			    attr->name, nsURI);		
+			    attr->name, nsURI);
+			curState->decl = attrDecl;
 			if (attrDecl != NULL) {
-			    value = xmlNodeListGetString(elem->doc, attr->children, 1);
-			    ctxt->cur = (xmlNodePtr) attr;
-			    ctxt->node = attr->children;
-			    ctxt->type = attrDecl->subtypes;
-			    ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1, 1);
-			    ctxt->type = type;
-			    if (ret != 0) 
-				curState->state = XML_SCHEMAS_ATTR_INVALID_VALUE;   				
-			    else
-				curState->state = XML_SCHEMAS_ATTR_CHECKED;
 			    curState->decl = attrDecl;
-			    if (value != NULL) {
-				xmlFree(value);
-			    }	    
-			    
+			    ret = xmlSchemaCheckAttrLocallyValid(ctxt, attrDecl, curState, attr);			    
 			} else if (type->attributeWildcard->processContents == 
 			    XML_SCHEMAS_ANY_LAX) {
 			    curState->state = XML_SCHEMAS_ATTR_CHECKED;
@@ -13805,21 +16410,48 @@
 	    curState = curState->next;
         }
     }
+
     /*
     * Report missing and illegal attributes.
     */
     if (ctxt->attr != NULL) {
 	curState = ctxt->attr;
-	while ((curState != NULL) && (curState != ctxt->attrTop->next)) {
+	while ((curState != NULL) && (curState != ctxt->attrTop->next)) {    
 	    if (curState->state != XML_SCHEMAS_ATTR_CHECKED) {
 		attr = curState->attr;
-		if (curState->state == XML_SCHEMAS_ATTR_MISSING)
-		    xmlSchemaVMissingAttrErr(ctxt, elem, curState->decl);		    
-		else if (curState->state == XML_SCHEMAS_ATTR_UNKNOWN) {
+		if (curState->decl != NULL) {
+		    if (curState->decl->ref != NULL)
+			attrDecl = curState->decl->refDecl;
+		    else 
+			attrDecl = curState->decl;
+		} else
+		    attrDecl = NULL;
+		if (curState->state == XML_SCHEMAS_ATTR_MISSING) {
+		    xmlSchemaVMissingAttrErr(ctxt, elem, attrDecl);
+		} else if (curState->state == 
+		    XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED) {
+		    xmlSchemaVCustomErr(ctxt,
+			XML_SCHEMAV_CVC_ATTRIBUTE_2,
+			(xmlNodePtr) attr,
+			(xmlSchemaTypePtr) attrDecl,
+			"The type definition is absent",
+			NULL);
+		} else if (curState->state == 
+		    XML_SCHEMAS_ATTR_INVALID_FIXED_VALUE) {			
+			xmlSchemaVCustomErr(ctxt,
+			    XML_SCHEMAV_CVC_AU, 
+			    (xmlNodePtr) attr, (xmlSchemaTypePtr) attrDecl,
+			    "The value does not match the fixed value "
+			    "constraint", NULL);
+		} else if (curState->state == XML_SCHEMAS_ATTR_UNKNOWN) {
 		    /* TODO: "prohibited" won't ever be touched here!. 
 		      (curState->state == XML_SCHEMAS_ATTR_PROHIBITED))
 		    */
-		    if (type->attributeWildcard == NULL) {
+		    /*
+		    * TODO: One might report different error messages 
+		    * for the following errors.
+		    */
+		    if ((type == NULL) || (type->attributeWildcard == NULL)) {
 			xmlSchemaVIllegalAttrErr(ctxt, 
 			    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, attr);
 		    } else {
@@ -13830,13 +16462,82 @@
 	    }	
 	    curState = curState->next;
 	}  
+    }    
+    
+    /*
+    * Add missing default/fixed attributes.
+    */
+    if (ctxt->options & XML_SCHEMA_VAL_VC_I_CREATE) {
+	curState = defAttrStates;
+	while (curState != NULL) { 
+	    attrDecl = curState->decl;
+	    if (attrDecl->ref != NULL)
+		attrDecl = attrDecl->refDecl;
+	    /*
+	    * PSVI: Add a new attribute node to the current element.
+	    */
+	    if (attrDecl->targetNamespace == NULL) {
+		xmlNewProp(elem, attrDecl->name, curState->value);
+	    } else {
+		xmlNsPtr ns;
+		
+		ns = xmlSearchNsByHref(elem->doc, elem, 
+		    attrDecl->targetNamespace);
+		if (ns == NULL) {
+		    xmlChar prefix[12];
+		    int counter = 1;
+
+		    attr = curState->attr;
+		    /*
+		    * Create a namespace declaration on the validation 
+		    * root node if no namespace declaration is in scope.
+		    */		    
+		    snprintf((char *) prefix, sizeof(prefix), "p");
+		    /*
+		    * This is somehow not performant, since the ancestor 
+		    * axis beyond @elem will be searched as well.
+		    */
+		    ns = xmlSearchNs(elem->doc, elem, BAD_CAST prefix);
+		    while (ns != NULL) {
+			if (counter > 1000) {
+			    xmlSchemaVErr(ctxt, (xmlNodePtr) attr, 
+				XML_SCHEMAV_INTERNAL,
+				"Internal error: xmlSchemaValidateAttributes, "
+				"could not compute a ns prefix for "
+				"default/fixed attribute '%s'.\n",
+				attrDecl->name, NULL);
+			    
+			    break;
+			}
+			snprintf((char *) prefix, 
+			    sizeof(prefix), "p%d", counter++);
+			ns = xmlSearchNs(elem->doc, elem, 
+			    BAD_CAST prefix);
+		    }
+		    if (ns == NULL) {
+			ns = xmlNewNs(ctxt->validationRoot, 
+			    attrDecl->targetNamespace, BAD_CAST prefix);
+			xmlNewNsProp(elem, ns, attrDecl->name, 
+			    curState->value);
+		    }
+		} else {
+		    xmlNewNsProp(elem, ns, attrDecl->name, 
+			curState->value);
+		}
+	    }
+	    curState = curState->next;
+	}
     }
+    if (defAttrStates != NULL) 
+	xmlSchemaFreeAttributeStates(defAttrStates);
+		
 #ifdef DEBUG_ATTR_VALIDATION
     if (redundant)
 	xmlGenericError(xmlGenericErrorContext,
 	                "xmlSchemaValidateAttributes: redundant call by type: %s\n",
 	                type->name);
 #endif
+    ctxt->node = oldnode;
     return (ctxt->err);
 }
 
@@ -13851,99 +16552,125 @@
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
-xmlSchemaValidateElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem)
+xmlSchemaValidateElement(xmlSchemaValidCtxtPtr ctxt)
 {
-    xmlSchemaElementPtr elemDecl;
-    int ret;
-    xmlSchemaAttrStatePtr attrs, attrTop;
+    xmlSchemaElementPtr elemDecl;    
+    int ret = 0;
 
-    if (elem->ns != NULL) {
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  elem->name, elem->ns->href, NULL);
-    } else {
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  elem->name, NULL, NULL);
-    }
     /* 
-    * This one is called by xmlSchemaValidateDocument and 
-    * xmlSchemaValidateAnyInernal. 
+    * This one is called by xmlSchemaValidateDocument and
+    * xmlSchemaValidateOneElement.
+    */  
+    if (ctxt->schema == NULL) {
+	/*
+	* No schema was specified at time of creation of the validation
+	* context. Use xsi:schemaLocation and xsi:noNamespaceSchemaLocation
+	* of the instance to build a schema.
+	*/
+	if (ctxt->pctxt == NULL) 
+	    ctxt->pctxt = xmlSchemaNewParserCtxt("*");
+	if (ctxt->pctxt == NULL)
+	    return (-1);
+	ctxt->schema = xmlSchemaNewSchema(ctxt->pctxt);
+	if (ctxt->schema == NULL)
+	    return (-1);
+	/* TODO: assign user data. */
+	ctxt->pctxt->error = ctxt->error;
+	ctxt->pctxt->warning = ctxt->warning;	
+	ctxt->xsiAssemble = 1;
+    } else
+	ctxt->xsiAssemble = 0;
+    /* ctxt->options |= XML_SCHEMA_VAL_VC_I_CREATE;
+    * ctxt->xsiAssemble = 1;
     */
-
     /*
-     * 3.3.4 : 1
-     */
-    if (elemDecl == NULL) {
-	xmlSchemaVCustomErr(ctxt,
-	    XML_SCHEMAV_CVC_ELT_1, 
-	    /* XML_SCHEMAS_ERR_UNDECLAREDELEM, */
-	    elem, NULL,
-	    "Global declaration is absent", NULL);
-        return (ctxt->err);
+    * Assemble new schemata using xsi.
+    */
+    if (ctxt->xsiAssemble) {	
+	ret = xmlSchemaAssembleByXSIElem(ctxt, ctxt->node);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL,
+		ctxt->node, NULL, 	
+		"Internal error: xmlSchemaValidateElement, "
+		"assembling schema by xsi", NULL);	    
+	}
+	/*
+	* NOTE: We won't react on schema parser errors here.
+	* TODO: But a warning would be nice.
+	*/
     }
-    /* TODO: This should be already catched at the schema parsing level. */
-    if (elemDecl->subtypes == NULL) {
-	xmlSchemaVCustomErr(ctxt,
-	    XML_SCHEMAV_INTERNAL,
-	    /* XML_SCHEMAS_ERR_NOTYPE */
-	    elem, NULL,
-	    "The element declaration has no type assigned", NULL);        
-        return (ctxt->err);
+    if (ret != -1) {	    
+	if (ctxt->node->ns != NULL)
+	    elemDecl = xmlSchemaGetElem(ctxt->schema, ctxt->node->name, 
+		ctxt->node->ns->href);
+	else
+	    elemDecl = xmlSchemaGetElem(ctxt->schema, ctxt->node->name, NULL);
+	
+	if (elemDecl == NULL) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_CVC_ELT_1,
+		ctxt->node, NULL, 	  
+		"No matching global declaration available", NULL);
+	    ret = XML_SCHEMAV_CVC_ELT_1;
+	} else { 
+	    ret = xmlSchemaValidateElementByDeclaration(ctxt, elemDecl);    
+	    if (ret < 0) {
+		xmlSchemaVCustomErr(ctxt,
+		    XML_SCHEMAV_INTERNAL, ctxt->node, NULL,
+		    "Internal error: xmlSchemaValidateElement, "
+		    "calling validation by declaration", NULL);
+	    }
+	}
     }
-    /*
-     * Verify the attributes
-     */
-    attrs = ctxt->attr;
-    attrTop = ctxt->attrTop;
-    xmlSchemaRegisterAttributes(ctxt, elem->properties);
-    xmlSchemaValidateAttributes(ctxt, elem, elemDecl->subtypes);
-    if (ctxt->attr != NULL)
-	xmlSchemaFreeAttributeStates(ctxt->attr);
-    ctxt->attr = attrs;
-    ctxt->attrTop = attrTop;
-    /*
-     * Verify the element content recursively
-     */
-    if (elemDecl->contModel != NULL) {
-        ctxt->regexp = xmlRegNewExecCtxt(elemDecl->contModel,
-                                         (xmlRegExecCallbacks)
-                                         xmlSchemaValidateCallback, ctxt);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext, "====> %s\n", elem->name);
-#endif
+    /* ctxt->xsiAssemble = 0; */
+    if (ctxt->xsiAssemble) {
+	if (ctxt->schema != NULL) {
+	    xmlSchemaFree(ctxt->schema);
+	    ctxt->schema = NULL;
+	}
     }
-    xmlSchemaValidateType(ctxt, elem, elemDecl, elemDecl->subtypes);
-    if (elemDecl->contModel != NULL) {
-        ret = xmlRegExecPushString(ctxt->regexp, NULL, NULL);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext,
-                        "====> %s : %d\n", elem->name, ret);
-#endif
-	if (ret == 0) {
-	    /* TODO: error code. */
-            xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
-		elem, elemDecl->subtypes, 
-		"The element content is not valid", NULL);
-        } else if (ret < 0) {
-	    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
-		elem, elemDecl->subtypes, 
-		"The element content is not valid", NULL);
-#ifdef DEBUG_CONTENT
-        else {
-            xmlGenericError(xmlGenericErrorContext,
-                            "Element %s content check succeeded\n",
-                            elem->name);
+    return (ret);   
+}
 
-#endif
-        }
-        xmlRegFreeExecCtxt(ctxt->regexp);
+
+/**
+ * xmlSchemaValidateOneElement:
+ * @ctxt:  a schema validation context
+ * @elem:  an element node
+ *
+ * Validate a branch of a tree, starting with the given @elem.
+ *
+ * Returns 0 if the element and its subtree is valid, a positive error 
+ * code number otherwise and -1 in case of an internal or API error.
+ */
+int
+xmlSchemaValidateOneElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem)
+{
+    if ((ctxt == NULL) || (elem == NULL) || (elem->type != XML_ELEMENT_NODE))
+	return (-1);
+
+     if (ctxt->schema == NULL) {
+	xmlSchemaVErr(ctxt, NULL,
+	    XML_SCHEMAV_INTERNAL,
+	    "API error: xmlSchemaValidateOneElement, "
+	    "no schema specified.\n", NULL, NULL);
+	return (-1);
     }
-    return (ctxt->err);
+
+    ctxt->doc = elem->doc;
+    ctxt->err = 0;
+    ctxt->nberrors = 0;
+    ctxt->node = elem;
+    ctxt->validationRoot = elem;
+    return (xmlSchemaValidateElement(ctxt));
 }
 
 /**
  * xmlSchemaValidateDocument:
  * @ctxt:  a schema validation context
  * @doc:  a parsed document tree
+ * @xsiAssemble: should schemata be added if requested by the instance?
  *
  * Validate a document tree in memory.
  *
@@ -13954,7 +16681,6 @@
 xmlSchemaValidateDocument(xmlSchemaValidCtxtPtr ctxt, xmlDocPtr doc)
 {
     xmlNodePtr root;
-    xmlSchemaElementPtr elemDecl;
      
     root = xmlDocGetRootElement(doc);
     if (root == NULL) {
@@ -13963,31 +16689,14 @@
 	    (xmlNodePtr) doc, NULL,
 	    "The document has no document element", NULL);
         return (ctxt->err);
-    }
-
-    if (root->ns != NULL)
-	elemDecl = xmlSchemaGetElem(ctxt->schema, root->name, root->ns->href);
-    else
-	elemDecl = xmlSchemaGetElem(ctxt->schema, root->name, NULL);
-    if (elemDecl == NULL) {
-        xmlSchemaVCustomErr(ctxt, 
-	    XML_SCHEMAV_CVC_ELT_1,
-	    root, NULL, 
-	    /* XML_SCHEMAS_ERR_UNDECLAREDELEM, */
-	    "Global declaration is absent", NULL);
-    } 
+    }    
+    /* ctxt->options |= XML_SCHEMA_VAL_XSI_ASSEMBLE; */
     /*
-    * Removed, since xmlSchemaGetElem will return global declarations only.
-    *
-      else if ((elemDecl->flags & XML_SCHEMAS_ELEM_GLOBAL) == 0) {
-        xmlSchemaVErr(ctxt, root, XML_SCHEMAS_ERR_NOTTOPLEVEL,
-		      "Root element %s not global\n", root->name, NULL);
-      }
-    */
-    /*
      * Okay, start the recursive validation
      */
-    xmlSchemaValidateElement(ctxt, root);
+    ctxt->node = root;
+    ctxt->validationRoot = root;
+    xmlSchemaValidateElement(ctxt);
 
     return (ctxt->err);
 }
@@ -14044,6 +16753,9 @@
         xmlSchemaFreeAttributeStates(ctxt->attr);
     if (ctxt->value != NULL)
         xmlSchemaFreeValue(ctxt->value);
+    if (ctxt->pctxt != NULL) {
+	xmlSchemaFreeParserCtxt(ctxt->pctxt);
+    }
     xmlFree(ctxt);
 }
 
@@ -14066,6 +16778,8 @@
     ctxt->error = err;
     ctxt->warning = warn;
     ctxt->userData = ctx;
+    if (ctxt->pctxt != NULL)
+	xmlSchemaSetParserErrors(ctxt->pctxt, err, warn, ctx);
 }
 
 /**
@@ -14095,7 +16809,63 @@
 	return (0);
 }
 
+
 /**
+ * xmlSchemaValidCtxtSetOptions:
+ * @ctxt:	a schema validation context
+ * @options: a combination of xmlSchemaValidOption
+ *
+ * Sets the options to be used during the validation.
+ *
+ * Returns 0 in case of success, -1 in case of an
+ * API error.
+ */
+int
+xmlSchemaSetValidOptions(xmlSchemaValidCtxtPtr ctxt,
+			 int options)
+					
+{
+    int i;
+
+    if (ctxt == NULL)
+	return (-1);
+    /*
+    * WARNING: Change the start value if adding to the
+    * xmlSchemaValidOption.
+    * TODO: Is there an other, more easy to maintain,
+    * way?
+    */
+    for (i = 1; i < (int) sizeof(int) * 8; i++) {
+        if (options & 1<<i) {
+	    xmlSchemaVErr(ctxt, NULL,
+		XML_SCHEMAV_INTERNAL,
+		"Internal error: xmlSchemaSetValidOptions, "
+		"invalid option argument.\n", NULL, NULL);
+	    return (-1);   
+        }	
+    }
+    ctxt->options = options;
+    return (0);      
+}
+
+/**
+ * xmlSchemaGetValidOptions:
+ * @ctxt:	a schema validation context 
+ *
+ * Returns the option combination of the validation context.
+ */
+int
+xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt)
+					
+{    
+    if (ctxt == NULL)
+	return (-1);
+    else 
+	return (ctxt->options);    
+}
+
+
+/**
  * xmlSchemaValidateDoc:
  * @ctxt:  a schema validation context
  * @doc:  a parsed document tree
@@ -14115,8 +16885,19 @@
 
     ctxt->doc = doc;
     ctxt->err = 0; 
-    ctxt->nberrors = 0; 
+    ctxt->nberrors = 0;
     
+    /*
+    if (ctxt->schema == NULL) {
+	xmlSchemaVErr(ctxt, NULL,
+	    XML_SCHEMAV_INTERNAL,
+	    "API error: xmlSchemaValidateDoc, "
+	    "no schema specified and assembling of schemata "
+	    "using xsi:schemaLocation and xsi:noNamespaceSchemaLocation "
+	    "is not enabled.\n", NULL, NULL);
+	return (-1);
+    }
+    */
     ret = xmlSchemaValidateDocument(ctxt, doc);
     return (ret);
 }

Modified: packages/libxml2/trunk/xmlschemastypes.c
===================================================================
--- packages/libxml2/trunk/xmlschemastypes.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlschemastypes.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -529,7 +529,7 @@
 	    else
 		return (0);	    				 
 	default:
-	    return (0);
+	    break;
     }
     return (0);
 }
@@ -3128,17 +3128,21 @@
 _xmlSchemaDateCastYMToDays (const xmlSchemaValPtr dt)
 {
     long ret;
+    int mon;
 
-    if (dt->value.date.year < 0)
+    mon = dt->value.date.mon;
+    if (mon <= 0) mon = 1; /* normalization */
+
+    if (dt->value.date.year <= 0)
         ret = (dt->value.date.year * 365) +
               (((dt->value.date.year+1)/4)-((dt->value.date.year+1)/100)+
                ((dt->value.date.year+1)/400)) +
-              DAY_IN_YEAR(0, dt->value.date.mon, dt->value.date.year);
+              DAY_IN_YEAR(0, mon, dt->value.date.year);
     else
         ret = ((dt->value.date.year-1) * 365) +
               (((dt->value.date.year-1)/4)-((dt->value.date.year-1)/100)+
                ((dt->value.date.year-1)/400)) +
-              DAY_IN_YEAR(0, dt->value.date.mon, dt->value.date.year);
+              DAY_IN_YEAR(0, mon, dt->value.date.year);
 
     return ret;
 }

Modified: packages/libxml2/trunk/xmlstring.c
===================================================================
--- packages/libxml2/trunk/xmlstring.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlstring.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -681,12 +681,14 @@
 /**
  * xmlGetUTF8Char:
  * @utf:  a sequence of UTF-8 encoded bytes
- * @len:  a pointer to @bytes len
+ * @len:  a pointer to the minimum number of bytes present in
+ *        the sequence.  This is used to assure the next character
+ *        is completely contained within the sequence.
  *
- * Read one UTF8 Char from @utf
+ * Read the first UTF8 character from @utf
  *
- * Returns the char value or -1 in case of error, and updates *len with the
- *        number of bytes consumed
+ * Returns the char value or -1 in case of error, and sets *len to
+ *        the actual number of bytes consumed (0 in case of error)
  */
 int
 xmlGetUTF8Char(const unsigned char *utf, int *len) {
@@ -773,7 +775,7 @@
      *    11110xxx 10xxxxxx 10xxxxxx 10xxxxxx           valid 4-byte
      */
     for (ix = 0; (c = utf[ix]);) {      /* string is 0-terminated */
-        if (c & 0x80) {			/* 1-byte code, starts with 10 */
+        if ((c & 0x80) == 0x00) {	/* 1-byte code, starts with 10 */
             ix++;
 	} else if ((c & 0xe0) == 0xc0) {/* 2-byte code, starts with 110 */
 	    if ((utf[ix+1] & 0xc0 ) != 0x80)

Modified: packages/libxml2/trunk/xmlwriter.c
===================================================================
--- packages/libxml2/trunk/xmlwriter.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xmlwriter.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -1372,7 +1372,12 @@
                            const unsigned char *data)
 {
     static unsigned char dtable[64] =
-        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+            {'A','B','C','D','E','F','G','H','I','J','K','L','M',
+	     'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
+	     'a','b','c','d','e','f','g','h','i','j','k','l','m',
+	     'n','o','p','q','r','s','t','u','v','w','x','y','z',
+	     '0','1','2','3','4','5','6','7','8','9','+','/'};
+
     int i;
     int linelen;
     int count;
@@ -1487,7 +1492,8 @@
  * Write hqx encoded data to an xmlOutputBuffer.
  * ::todo
  *
- * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
+ * Returns the bytes written (may be 0 because of buffering) 
+ * or -1 in case of error
  */
 static int
 xmlOutputBufferWriteBinHex(xmlOutputBufferPtr out,
@@ -1495,7 +1501,8 @@
 {
     int count;
     int sum;
-    static char hex[] = "0123456789ABCDEF";
+    static char hex[16] = 
+    	{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
     int i;
 
     if ((out == NULL) || ((data == 0) && (len != 0))) {

Modified: packages/libxml2/trunk/xpath.c
===================================================================
--- packages/libxml2/trunk/xpath.c	2004-10-13 09:21:05 UTC (rev 273)
+++ packages/libxml2/trunk/xpath.c	2004-10-13 10:26:58 UTC (rev 274)
@@ -1115,15 +1115,17 @@
 valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
 {
     if (ctxt->valueNr >= ctxt->valueMax) {
-        ctxt->valueMax *= 2;
-        ctxt->valueTab =
-            (xmlXPathObjectPtr *) xmlRealloc(ctxt->valueTab,
-                                             ctxt->valueMax *
+        xmlXPathObjectPtr *tmp;
+
+        tmp = (xmlXPathObjectPtr *) xmlRealloc(ctxt->valueTab,
+                                             2 * ctxt->valueMax *
                                              sizeof(ctxt->valueTab[0]));
-        if (ctxt->valueTab == NULL) {
+        if (tmp == NULL) {
             xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
             return (0);
         }
+        ctxt->valueMax *= 2;
+	ctxt->valueTab = tmp;
     }
     ctxt->valueTab[ctxt->valueNr] = value;
     ctxt->value = value;

Copied: packages/libxml2/trunk/xstc (from rev 271, packages/libxml2/branches/upstream/current/xstc)




More information about the debian-xml-sgml-commit mailing list