updated libxml2 to 2.5.10
Marc Liyanage [Sat, 6 Sep 2003 18:24:25 +0000 (18:24 +0000)]
git-svn-id: svn+ssh://www.entropy.ch/Users/liyanage/Documents/svnroot/trunk/TestXSLT@58 153f8dbc-cef0-0310-8e0e-ba1d6c9f8c6b

352 files changed:
libxml2/ChangeLog
libxml2/DOCBparser.c
libxml2/HTMLparser.c
libxml2/HTMLtree.c
libxml2/Makefile.am
libxml2/Makefile.in
libxml2/NEWS
libxml2/SAX.c
libxml2/TODO
libxml2/acconfig.h
libxml2/aclocal.m4
libxml2/c14n.c
libxml2/catalog.c
libxml2/check-relaxng-test-suite.py
libxml2/config.guess
libxml2/config.h.in
libxml2/config.sub
libxml2/configure
libxml2/configure.in
libxml2/debugXML.c
libxml2/doc/APIchunk0.html
libxml2/doc/APIchunk1.html
libxml2/doc/APIchunk10.html
libxml2/doc/APIchunk11.html
libxml2/doc/APIchunk12.html
libxml2/doc/APIchunk13.html
libxml2/doc/APIchunk14.html
libxml2/doc/APIchunk15.html
libxml2/doc/APIchunk16.html
libxml2/doc/APIchunk17.html
libxml2/doc/APIchunk18.html
libxml2/doc/APIchunk19.html
libxml2/doc/APIchunk2.html
libxml2/doc/APIchunk20.html
libxml2/doc/APIchunk21.html
libxml2/doc/APIchunk22.html
libxml2/doc/APIchunk23.html
libxml2/doc/APIchunk24.html
libxml2/doc/APIchunk3.html
libxml2/doc/APIchunk4.html
libxml2/doc/APIchunk5.html
libxml2/doc/APIchunk6.html
libxml2/doc/APIchunk7.html
libxml2/doc/APIchunk8.html
libxml2/doc/APIchunk9.html
libxml2/doc/APIconstructors.html
libxml2/doc/APIfiles.html
libxml2/doc/APIfunctions.html
libxml2/doc/APIsymbols.html
libxml2/doc/DOM.html
libxml2/doc/FAQ.html
libxml2/doc/Makefile.am
libxml2/doc/Makefile.in
libxml2/doc/XMLinfo.html
libxml2/doc/XSLT.html
libxml2/doc/apibuild.py
libxml2/doc/architecture.html
libxml2/doc/bugs.html
libxml2/doc/catalog.html
libxml2/doc/contribs.html
libxml2/doc/docs.html
libxml2/doc/downloads.html
libxml2/doc/encoding.html
libxml2/doc/entities.html
libxml2/doc/example.html
libxml2/doc/help.html
libxml2/doc/html/book1.html
libxml2/doc/html/libxml-c14n.html
libxml2/doc/html/libxml-catalog.html
libxml2/doc/html/libxml-debugxml.html
libxml2/doc/html/libxml-docbparser.html
libxml2/doc/html/libxml-encoding.html
libxml2/doc/html/libxml-entities.html
libxml2/doc/html/libxml-globals.html
libxml2/doc/html/libxml-hash.html
libxml2/doc/html/libxml-htmlparser.html
libxml2/doc/html/libxml-htmltree.html
libxml2/doc/html/libxml-lib.html
libxml2/doc/html/libxml-nanoftp.html
libxml2/doc/html/libxml-nanohttp.html
libxml2/doc/html/libxml-notes.html
libxml2/doc/html/libxml-parser.html
libxml2/doc/html/libxml-parserinternals.html
libxml2/doc/html/libxml-sax.html
libxml2/doc/html/libxml-schemasinternals.html
libxml2/doc/html/libxml-threads.html
libxml2/doc/html/libxml-tree.html
libxml2/doc/html/libxml-uri.html
libxml2/doc/html/libxml-valid.html
libxml2/doc/html/libxml-xinclude.html
libxml2/doc/html/libxml-xmlautomata.html
libxml2/doc/html/libxml-xmlerror.html
libxml2/doc/html/libxml-xmlio.html
libxml2/doc/html/libxml-xmlmemory.html
libxml2/doc/html/libxml-xmlregexp.html
libxml2/doc/html/libxml-xmlschemas.html
libxml2/doc/html/libxml-xmlschemastypes.html
libxml2/doc/html/libxml-xmlunicode.html
libxml2/doc/html/libxml-xpath.html
libxml2/doc/html/libxml-xpathinternals.html
libxml2/doc/html/libxml-xpointer.html
libxml2/doc/index.html
libxml2/doc/interface.html
libxml2/doc/intro.html
libxml2/doc/library.html
libxml2/doc/libxml2-api.xml
libxml2/doc/namespaces.html
libxml2/doc/news.html
libxml2/doc/news.xsl
libxml2/doc/python.html
libxml2/doc/site.xsl
libxml2/doc/threads.html
libxml2/doc/tree.html
libxml2/doc/tutorial/apa.html
libxml2/doc/tutorial/apb.html
libxml2/doc/tutorial/apc.html
libxml2/doc/tutorial/apd.html
libxml2/doc/tutorial/ape.html
libxml2/doc/tutorial/apf.html
libxml2/doc/tutorial/apg.html
libxml2/doc/tutorial/ar01s02.html
libxml2/doc/tutorial/ar01s03.html
libxml2/doc/tutorial/ar01s04.html
libxml2/doc/tutorial/ar01s05.html
libxml2/doc/tutorial/ar01s06.html
libxml2/doc/tutorial/ar01s07.html
libxml2/doc/tutorial/ar01s08.html
libxml2/doc/tutorial/index.html
libxml2/doc/tutorial/xmltutorial.pdf
libxml2/doc/upgrade.html
libxml2/doc/xml.html
libxml2/doc/xmlcatalog.1
libxml2/doc/xmlcatalog_man.xml
libxml2/doc/xmldtd.html
libxml2/doc/xmlio.html
libxml2/doc/xmllint.1
libxml2/doc/xmlmem.html
libxml2/doc/xmlreader.html
libxml2/encoding.c
libxml2/entities.c
libxml2/error.c
libxml2/example/Makefile.am
libxml2/example/Makefile.in
libxml2/globals.c
libxml2/include/Makefile.in
libxml2/include/libxml/HTMLparser.h
libxml2/include/libxml/Makefile.in
libxml2/include/libxml/encoding.h
libxml2/include/libxml/globals.h
libxml2/include/libxml/nanoftp.h
libxml2/include/libxml/parser.h
libxml2/include/libxml/parserInternals.h
libxml2/include/libxml/relaxng.h
libxml2/include/libxml/schemasInternals.h
libxml2/include/libxml/tree.h
libxml2/include/libxml/valid.h
libxml2/include/libxml/xinclude.h
libxml2/include/libxml/xmlautomata.h
libxml2/include/libxml/xmlmemory.h
libxml2/include/libxml/xmlreader.h
libxml2/include/libxml/xmlregexp.h
libxml2/include/libxml/xmlschemas.h
libxml2/include/libxml/xmlschemastypes.h
libxml2/include/libxml/xmlversion.h.in
libxml2/include/libxml/xpath.h
libxml2/include/win32config.h
libxml2/libxml.h
libxml2/libxml.spec.in
libxml2/ltmain.sh
libxml2/nanoftp.c
libxml2/nanohttp.c
libxml2/parser.c
libxml2/parserInternals.c
libxml2/python/Makefile.am
libxml2/python/Makefile.in
libxml2/python/generator.py
libxml2/python/libxml.c
libxml2/python/libxml.py
libxml2/python/libxml2-py.c
libxml2/python/setup.py
libxml2/python/setup.py.in
libxml2/python/tests/Makefile.am
libxml2/python/tests/Makefile.in
libxml2/python/tests/ctxterror.py
libxml2/python/tests/reader.py
libxml2/python/tests/reader2.py
libxml2/python/tests/readererr.py
libxml2/relaxng.c
libxml2/result/HTML/attrents.html
libxml2/result/HTML/doc2.htm.err
libxml2/result/HTML/doc3.htm
libxml2/result/HTML/doc3.htm.err
libxml2/result/HTML/fp40.htm.err
libxml2/result/HTML/test3.html.err
libxml2/result/HTML/wired.html
libxml2/result/HTML/wired.html.err
libxml2/result/VC/DuplicateType
libxml2/result/VC/ElementValid3
libxml2/result/VC/ElementValid4
libxml2/result/VC/ElementValid5
libxml2/result/VC/ElementValid6
libxml2/result/VC/ElementValid7
libxml2/result/VC/ElementValid8
libxml2/result/VC/NS3
libxml2/result/VC/PENesting
libxml2/result/VC/PENesting2
libxml2/result/VC/UniqueElementTypeDeclaration
libxml2/result/VC/UniqueElementTypeDeclaration2
libxml2/result/noent/bigentname.xml
libxml2/result/noent/dtd12
libxml2/result/noent/slashdot.rdf
libxml2/result/noent/slashdot.xml
libxml2/result/relaxng/spec1_err
libxml2/result/relaxng/spec1_valid
libxml2/result/relaxng/tutor10_1_4.err
libxml2/result/relaxng/tutor10_1_5.err
libxml2/result/relaxng/tutor10_1_6.err
libxml2/result/relaxng/tutor10_2_3.err
libxml2/result/relaxng/tutor10_2_4.err
libxml2/result/relaxng/tutor10_7_3.err
libxml2/result/relaxng/tutor10_8_3.err
libxml2/result/relaxng/tutor11_2_2.err
libxml2/result/relaxng/tutor11_2_3.err
libxml2/result/relaxng/tutor11_3_1.err
libxml2/result/relaxng/tutor12_1_err
libxml2/result/relaxng/tutor12_1_valid
libxml2/result/relaxng/tutor3_2_1.err
libxml2/result/relaxng/tutor3_5_2.err
libxml2/result/relaxng/tutor3_7_1.err
libxml2/result/relaxng/tutor3_7_err
libxml2/result/relaxng/tutor4_4_1.err
libxml2/result/relaxng/tutor5_3_1.err
libxml2/result/relaxng/tutor6_1_3.err
libxml2/result/relaxng/tutor6_2_4.err
libxml2/result/relaxng/tutor6_3_1.err
libxml2/result/relaxng/tutor7_1_2.err
libxml2/result/relaxng/tutor7_1_3.err
libxml2/result/relaxng/tutor7_2_4.err
libxml2/result/relaxng/tutor7_3_4.err
libxml2/result/relaxng/tutor7_3_5.err
libxml2/result/relaxng/tutor8_2_4.err
libxml2/result/relaxng/tutor8_2_5.err
libxml2/result/relaxng/tutor8_2_6.err
libxml2/result/relaxng/tutor9_5_2.err
libxml2/result/relaxng/tutor9_5_3.err
libxml2/result/relaxng/tutor9_6_2.err
libxml2/result/relaxng/tutor9_6_3.err
libxml2/result/schemas/all_0_0.err
libxml2/result/schemas/all_0_1.err
libxml2/result/schemas/all_0_2.err
libxml2/result/schemas/all_0_3.err
libxml2/result/schemas/all_0_4.err
libxml2/result/schemas/all_0_5.err
libxml2/result/schemas/all_1_0.err
libxml2/result/schemas/all_1_1.err
libxml2/result/schemas/all_1_2.err
libxml2/result/schemas/all_1_3.err
libxml2/result/schemas/all_1_4.err
libxml2/result/schemas/all_1_5.err
libxml2/result/schemas/choice_0_0.err
libxml2/result/schemas/choice_0_1.err
libxml2/result/schemas/choice_0_2.err
libxml2/result/schemas/choice_0_3.err
libxml2/result/schemas/choice_0_4.err
libxml2/result/schemas/choice_0_5.err
libxml2/result/schemas/choice_0_6.err
libxml2/result/schemas/choice_1_0.err
libxml2/result/schemas/choice_1_1.err
libxml2/result/schemas/choice_1_2.err
libxml2/result/schemas/choice_1_3.err
libxml2/result/schemas/choice_1_4.err
libxml2/result/schemas/choice_1_5.err
libxml2/result/schemas/choice_1_6.err
libxml2/result/schemas/choice_2_0.err
libxml2/result/schemas/choice_2_1.err
libxml2/result/schemas/choice_2_2.err
libxml2/result/schemas/choice_2_3.err
libxml2/result/schemas/choice_2_4.err
libxml2/result/schemas/choice_2_5.err
libxml2/result/schemas/choice_2_6.err
libxml2/result/schemas/date_0_0.err
libxml2/result/schemas/dur_0_0.err
libxml2/result/schemas/elem0_0_0.err
libxml2/result/schemas/empty_0_0.err
libxml2/result/schemas/empty_1_0.err
libxml2/result/schemas/extension0_0_0.err
libxml2/result/schemas/item_0_0.err
libxml2/result/schemas/item_1_0.err
libxml2/result/schemas/length1_0_0.err
libxml2/result/schemas/length2_0_0.err
libxml2/result/schemas/length3_0_0
libxml2/result/schemas/length3_0_0.err
libxml2/result/schemas/list0_0_0.err
libxml2/result/schemas/list0_0_1.err
libxml2/result/schemas/list0_0_2.err
libxml2/result/schemas/list0_1_0.err
libxml2/result/schemas/list0_1_1.err
libxml2/result/schemas/list0_1_2.err
libxml2/result/schemas/po0_0_0.err
libxml2/result/schemas/po1_0_0.err
libxml2/result/schemas/restriction0_0_0.err
libxml2/result/schemas/seq0_0_0.err
libxml2/result/slashdot.rdf
libxml2/result/slashdot.xml
libxml2/result/valid/rss.xml.err
libxml2/result/valid/t4.dtd.err
libxml2/result/valid/t4a.dtd.err
libxml2/result/valid/t6.dtd.err
libxml2/result/valid/t8.xml.err
libxml2/result/valid/t8a.xml.err
libxml2/result/valid/xhtml1.xhtml
libxml2/result/valid/xlink.xml.err
libxml2/test/VCM/v20.xml
libxml2/test/relaxng/.memdump
libxml2/test/relaxng/tutor11_1_3.xml
libxml2/test/schemas/.memdump
libxml2/test/schemas/date_0.xml
libxml2/test/schemas/date_0.xsd
libxml2/test/schemas/dur_0.xml
libxml2/test/schemas/dur_0.xsd
libxml2/test/schemas/length2_0.xsd
libxml2/testC14N.c
libxml2/testDocbook.c
libxml2/testHTML.c
libxml2/testThreads.c
libxml2/testURI.c
libxml2/threads.c
libxml2/tree.c
libxml2/trio.c
libxml2/trio.h
libxml2/triodef.h
libxml2/trionan.c
libxml2/trionan.h
libxml2/triostr.c
libxml2/triostr.h
libxml2/uri.c
libxml2/valid.c
libxml2/vms/build_libxml.com
libxml2/win32/configure.js
libxml2/win32/libxml2.def.src
libxml2/xinclude.c
libxml2/xml2-config.in
libxml2/xmlIO.c
libxml2/xmlcatalog.c
libxml2/xmllint.c
libxml2/xmlmemory.c
libxml2/xmlreader.c
libxml2/xmlregexp.c
libxml2/xmlschemas.c
libxml2/xmlschemastypes.c
libxml2/xpath.c
libxml2/xpointer.c

index 74b373d..07e259d 100644 (file)
+Fri Aug 15 02:24:20 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * News configure.in: preparing libxml2-2.5.10 release
+       * doc/* : updated the doc and rebuilt
+
+Fri Aug 15 01:55:53 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: fixing the xmlSAXParseDTD bug #119536 raised by
+         Malcolm Tredinnick with the patch he suggested.
+
+Fri Aug 15 01:37:10 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c: allocation error #119784 raised by Oliver Stoeneberg
+
+Fri Aug 15 00:41:58 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * uri.c: fixing an use of strcpy() where both strings overlap
+         pointed out by valgrind.
+
+Thu Aug 14 17:10:39 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * DOCBparser.c globals.c include/libxml/xmlmemory.h: get rid of
+         some compilation warnings.
+       * xinclude.c: fix the performance problem reported by Kevin Ruscoe
+         plus some cleanup and better error reporting.
+
+Thu Aug 14 14:13:43 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * encoding.c: applied UTF-16 encoding handling patch provided by
+         Mark Itzcovitz
+       * encoding.c parser.c: more cleanup and fixes for UTF-16 when 
+         not having iconv support.
+
+Thu Aug 14 03:19:08 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * Makefile.am configure.in example/Makefile.am libxml.h nanoftp.c
+         nanohttp.c xmllint.c: Applied patch from Mikhail Grushinskiy for
+         mingw compiler on Windows.
+
+Thu Aug 14 02:28:36 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: fixed the serious CPU usage problem reported by
+         Grant Goodale
+       * HTMLparser.c: applied patch from Oliver Stoeneberg about a free
+         missing in htmlSAXParseDoc
+
+Tue Aug 12 22:48:10 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * doc/Makefile.am: Removed dependency from libxml2.def.src
+
+Tue Aug 12 18:55:08 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * autogen.sh: took away the requirement for automake-1.4,
+         changed the messages for getting auto* tools to current
+         gnu pages.
+       * configure.in: added check for Linux Dec alpha requiring
+         -ieee flag, fixed test for ipv6
+       * trionan.c: fixed problem for compiling on Linux Dec alpha
+         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@veillard.com>
+
+       * parser.c: cleaning up a problem when parsing UTF-16 and libiconv
+         is not used.
+
+Sun Aug 10 08:13:22 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * win32/libxml2.def.src: renerated with fixed libxml2-api.xml
+
+Sun Aug 10 00:22:55 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * News configure.in: preparing libxml2-2.5.9 release
+       * doc/* : updated the doc and rebuilt
+
+Sat Aug  9 20:00:13 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * include/libxml/xmlreader.h doc/libxml2-api.xml: changing an enum
+         definition to get a correct API XML description. This was apparently
+         breaking Windows build.
+
+Sat Aug  9 13:41:21 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c: fixed a nasty bug #119387, bad heuristic from
+         the progressive HTML parser front-end on large character data
+         island leading to an erroneous end of data detection by the
+         parser. Some cleanup too to get closer from the XML progressive
+         parser.
+
+Sat Aug  9 00:42:47 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * win32/configure.js: Added in support for the ISO8859X
+         module (patch provided by Jesse Pelton)
+
+Fri Aug  8 15:56:32 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLtree.c tree.c threads.c: hum try to avoid some troubles
+         when the library is not initialized and one try to save, the 
+         locks in threaded env might not been initialized, playing safe
+       * xmlschemastypes.c: apply patch for hexBinary from Charles Bozeman
+       * test/schemas/hexbinary_* result/schemas/hexbinary_*: also added
+         his tests to the regression suite.
+
+Fri Aug  8 18:47:38 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * 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@mmm.com.hk>
+
+       * encoding.c: further small changes for warnings when
+         configured with --with-iconv=no
+
+Wed Aug  6 12:32:11 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * error.c trionan.[ch] testThreads.c python/generator.py:
+         further small changes to elminate most of the remaining
+         warnings.
+
+Tue Aug  5 23:51:21 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * error.c HTMLparser.c testC14N.c testHTML.c testURI.c
+         xmlcatalog.c xmlmemory.c xmlreader.c xmlschemastypes.c
+         python/libxml.c include/libxml/xmlmemory.h: small changes
+         to syntax to get rid of compiler warnings.  No changes
+         to logic.
+
+Mon Aug  4 22:40:54 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * doc/libxml2-api.xml doc/html/*: rebuilt the API and docs.
+
+Mon Aug  4 21:40:34 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c: fixed a small problem in the patch for #118763
+       * result/HTML/doc3.htm*: this reverts back to the previous result
+
+Sun Aug  3 21:41:49 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * doc/FAQ.html doc/xml.html: applied doc patch to xml.html
+         and rebuilt, apparently some C++ wrappers are not available,
+         c.f. bug #118943
+
+Sun Aug  3 21:30:31 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c: fixing HTML attribute serialization bug #118763
+         applying a modified version of the patch from Bacek
+       * result/HTML/doc3.htm*: this modifies the output from one test
+
+Sun Aug  3 21:02:30 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c include/libxml/tree.h: added a new API to split a
+         QName without generating any memory allocation
+       * valid.c: fixed another problem with namespaces on element
+         in mixed content case
+       * python/tests/reader2.py: updated the testcase with 
+         Bjorn Reese fix to reader for unsignificant white space
+       * parser.c HTMLparser.c: cleanup.
+
+Sun Aug  3 20:55:40 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * catalog.c: trying to fix #118754 of possible recursion in the
+         catalogs. Not fantastically happy about the current fix since
+         it's likely to break under very thread intensive concurrent
+         access to the catalog. Better solution might to keep the depth
+         an extra argument to the resolution functions.
+
+Sun Aug  3 18:56:54 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * valid.c: fixed bug #118712 about mixed content, and namespaced
+         element names.
+       * test/valid/mixed_ns.xml result/valid/mixed_ns*: added a check
+         in the regression tests
+
+Fri Aug 1 23:55:23 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       Coninuing work on bug 118559
+       * DOCBparser.c: removed 2 unsed vars
+       * xmlregexp.c: changed some numeric const to their enum symbols
+       * xmlreader.c: changed one var define from int to enum
+         (a little more to be done, awaiting co-ordination)
+       * relaxng.c: deleted one unused var
+       * xmllint.c: deleted some unused vars, changed one arg
+         val from int to enum
+       * testHTML.c, testDocbook.c: changed some arg vals to enum const
+       * xmlIO.c: fixed typo from last night (small warning msg)
+
+Thu Jul 31 22:44:33 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       Working on bug 118559
+       * error.c: deleted unused variable
+       * parserInternals.c: deleted unneeded 'const' qualifier
+       * parser.c: changed variable type for enum temp storage
+       * xmlIO.c: changed debugging var to be inside #ifdef
+       * valid.c: removed unused variable
+       * HTMLparser.c: removed some unneeded 'const' qualifiers
+       * xpath.c: added some type casts, removed some unused vars
+       * xinclude.c: added one type cast
+       * nanohttp.c: repositioned some #ifdef to avoid unused var
+       * nanoftp.c: removed unused var
+
+Wed Jul 30 14:57:55 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c: applied a patch from William Brack about
+         the problem of parsing very large HTML instance with comments
+         as raised by Nick Kew
+
+Wed Jul 30 12:29:38 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlreader.c include/libxml/xmlreader.h: applying cleanup
+         patch from Bjorn Reese for xmlTextReaderNodeType() and 
+         significant whitespace. There is an enum for node type
+         values now.
+
+Wed Jul 30 11:08:21 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * encoding.c: applying patch from Peter Jacobi to added 
+         ISO-8859-x encoding support when iconv is not available
+       * configure.in include/libxml/xmlversion.h.in
+         include/libxml/xmlwin32version.h.in: added the glue needed
+         at the configure level and made it the default for Windows
+
+Tue Jul 29 16:43:48 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * python/generator.py python/libxml.c python/libxml2class.txt:
+         patch from Joachim Bauch + cleanup for Relax NG error callbacks
+         in python
+
+Tue Jul 29 12:46:08 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c parserInternals.c tree.c: applied Peter Jacobi encoding
+         cleanup patch, and also avoided a possible memory leak
+
+Tue Jul 29 09:28:09 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * encoding.c: fix the previous commit
+
+Tue Jul 29 12:28:17 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * HTMLparser.c: fixed problem with comments reported by Nick Kew
+       * encoding.c: added routines xmlUTF8Size and xmlUTF8Charcmp for
+         some future cleanup of UTF8 handling
+
+Mon Jul 28 16:39:14 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xpath.c: applied a change suggested by Sean Griffin in bug
+         #118494 about a memory leak in EXSLT
+
+Sun Jul 27 14:30:56 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: fixed a Relax-NG compilation/streaming bug introduced
+         when fixing the previous Relax-NG bugs
+       * result/relaxng/*: This slightly changes the output messages of
+         some regression tests.
+       * configure.in: added support of -with-fexceptions for nested C++
+         support.
+
+Thu Jul 24 15:46:02 MDT 2003 John Fleck <jfleck@inkstain.net>
+
+       * doc/tutorial/apa.html
+       * doc/tutorial/apb.html
+       * doc/tutorial/apc.html
+       * doc/tutorial/apd.html
+       * doc/tutorial/ape.html
+       * doc/tutorial/apf.html
+       * doc/tutorial/apg.html
+       * doc/tutorial/aph.html
+       * doc/tutorial/ar01s02.html
+       * doc/tutorial/ar01s03.html
+       * doc/tutorial/ar01s04.html
+       * doc/tutorial/ar01s05.html
+       * doc/tutorial/ar01s06.html
+       * doc/tutorial/ar01s07.html
+       * doc/tutorial/ar01s08.html
+       * doc/tutorial/index.html
+       * doc/tutorial/ix01.html
+       * doc/tutorial/xmltutorial.pdf
+       * doc/tutorial/xmltutorial.xml
+       update tutorial with XPath example
+
+
+Thu Jul 24 17:07:06 IST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * SAX.c parser.c: fixing a bug about a special case of namespace
+         handling, this closes bug #116841
+
+Wed Jul 23 20:52:36 IST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c result/relaxng/*: checked and fixed the compilation
+         of RNG schemas, fixes a couple of bugs #117097 and #117001 .
+         This slightly changes the output messages of some regression tests.
+
+Wed Jul 23 15:15:08 IST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlreader.c: fixed an out of bound error #118052 , the good
+         part if that base64 code was not in use yet ...
+
+Tue Jul 22 19:42:15 MDT 2003 John Fleck <jfleck@inkstain.net>
+
+       * doc/xmllint.html
+       include html version of the xmllint man page, so an
+       up-to-date version is visible on the Web
+
+Mon Jul 21 21:53:43 IST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xinclude.c include/libxml/xinclude.h: added a new API
+         xmlXIncludeProcessTree() to process XInclude only on a subtree
+         this should fix bug #115385
+
+Fri Jul 18 17:11:42 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c include/libxml/relaxng.h: adding Get interface for
+         the error callback and parameters of parsing and validation
+         contexts
+       * xmlreader.c: patch to fix bug #117702 about incomplete Read()
+         on text nodes.
+
+Wed Jul 16 23:15:53 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parserInternals.c: patch from Dodji Seketeli about UTF16 BOM
+         when using the push XML parser.
+       * result/utf16bom.xml result/noent/utf16bom.xml test/utf16bom.xml:
+         added the test to the regression suite.
+
+Tue Jul 15 22:03:13 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * globals.c: add xmlThrDefMutex = NULL in xmlCleanupGlobals() 
+         as suggested by Rob Richards
+
+Tue Jul 15 15:30:55 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * DOCBparser.c HTMLparser.c entities.c parser.c relaxng.c 
+         xmlschemas.c xpath.c: removed some warnings by casting xmlChar
+         to unsigned int and a couple of others.
+
+Fri Jul 11 16:44:22 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastypes.c: fixes a segfault on empty hexBinary strings
+
+Thu Jul 10 16:02:47 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * nanoftp.c nanohttp.c: cleanup patches from Peter Breitenlohner
+
+Tue Jul  8 16:02:19 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * globals.c threads.c: fixes some problem when freeing unititialized
+         mutexes
+
+Tue Jul  8 14:15:07 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * nanoftp.c nanohttp.c: the modules should not import <config.h>
+         directly, some cleanups
+       * xmlschemas.c: Peter Sobisch found a nasty bug in the Schemas
+         validation code.
+
+Mon Jul  7 18:00:51 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * win32/configure.js: Jesse Pelton pointed out a problem in the
+         javascript code.
+
+Mon Jul  7 16:39:31 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * NEWS doc/*: regenerated
+       * nanoftp.c nanohttp.c: might fix includes problems with the
+         Ipv6 support on solaris
+       * tree.c: patch from Markus Keim about xmlHasNsProp() on attributes
+         defined as #IMPLIED
+
+Sun Jul  6 23:09:13 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * configure.in doc/*: preparing release 2.5.8
+       * nanohttp.c: changed some preprocessor block
+       * xmlschemastypes.c: applied patch from Charles Bozeman adding
+         hexBinary schema datatype and adding support for totalDigits and
+         fractionDigits facets.
+
+Sun Jul  6 19:56:18 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * debugXML.c xpath.c: fixed 2 bugs pointed in #116448
+
+Sun Jul  6 19:34:17 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xinclude.c: fixed bug #116095 removing the error message when
+         reapplying XInclude to a document.
+
+Sat Jul  5 22:40:23 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlIO.c: applied small changes to portability layer for 
+         compilation on DJGPP Ms-DOS compiler.
+
+Sat Jul  5 22:30:25 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c HTMLparser.c: use the character() SAX callback
+         if the cdataBlock ain't defined.
+       * xpath.c: fix bug #115349 allowing compilation when configured
+         with --without-xpath since the Schemas code needs NAN and co.
+
+Sat Jul 5 00:51:30 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+       Fixed problem with multi-threading, shown by the test program
+       testThreads.  After fix, ran mutiple tests on various speed
+       machines (single and dual processor X86), which all seem okay.
+
+       * catalog.c: added missing xmlRMutexUnlock in xmlLoadCatalog
+
+       * threads.c: added missing initialisation for condition variable
+         in xmlNewRMutex.
+
+Sat Jun 21 16:10:24 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+        Applying IPv6 patch from Archana Shah <archana.shah@wipro.com>
+       closing bug #114837
+
+       * configure.in: Added checks for IPv6 support and getaddrinfo().
+
+       * acconfig.h: Defined HAVE_GETADDRINFO and SUPPORT_IP6.
+
+       * config.h.in: Defined HAVE_GETADDRINFO and SUPPORT_IP6.
+
+       * nanoftp.c: Structure xmlNanoFTPCtxt contains either sockaddr_storage
+         field or sockaddr_in field, depending upon the availability of IPv6
+         support.
+         have_ipv6(): Added to check for run-time IPv6 support.
+         (xmlNanoFTPScanURL), (xmlNanoFTPUpdateURL), (xmlNanoFTPScanProxy):
+         Modified to parse a URI with IPv6 address given in [].
+         (xmlNanoFTPConnect): Changed to use getaddrinfo for address
+         resolution, if it is available on the system, as gethostbyname
+         does not return IPv6 addresses on some platforms.
+         (xmlNanoFTPGetConnection): Modified type of dataAddr variable to
+         sockaddr_storage or sockaddr_in depending upon the IPv6 support.
+         Sending EPSV, EPRT or PASV, PORT depending upon the type of address
+         we are dealing with.
+
+       * nanohttp.c: (have_ipv6): Added to check for run-time IPv6 support.
+         (xmlNanoHTTPScanURL), (xmlNanoHTTPScanProxy): Modified to parse
+         a URI with IPv6 address given in [].
+         (xmlNanoHTTPConnectHost): Modified to use getaddrinfo if it is
+         available on the system. Also IPv6 addresses will be resolved by
+         gethostbyname only if IPv6 run-time support is available.
+         (xmlNanoHTTPConnectAttempt): Modified to deal with IPv6 address.
+
+Sat Jun 14 18:46:51 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+       * win32/configure.js include/win32config.h 
+         include/libxml/xmlversion.h.in: Applied the patch for BCB
+         by Eric Zurcher.
+
+Fri Jun 13 14:27:19 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * doc/Makefile.am doc/html/*: reverted back patch for #113521,
+         due to #115104 and while fixing #115101 . HTML URLs must not
+         be version dependant.
+
+Fri Jun 13 12:03:30 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * entities.c: do not generate &quot; for " outside of attributes
+       * result//*: this changes the output of some tests
+
+Mon Jun  9 12:28:58 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c xmlIO.c: trying to fix #114277 about when file
+         remapping and escaping should really be attempted.
+
+Mon Jun  9 11:06:09 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * doc/*: applied a patch from Gman for building docs
+       * valid.c xmllint.c include/libxml/valid.h: applied a patch from
+         Gary Pennington to provide an allocator for xmlValidCtxt
+       * xmlreader.c: applied patch from Jacek Konieczny fixing bug
+         #113580 about data not being passed immediately.
+
+Thu Jun  5 11:31:02 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c: applied a couple of patches from Mark Itzcovitz
+         to handle saving back "UTF-16" documents.
+
+Mon Jun  2 21:56:15 MVT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c xmlschemas.c include/libxml/schemasInternals.h: commiting
+         some work done while in the Maldives (hence the timezone on the
+         laptop !)
+       * result/schemas/length3* test/schemas/deter0_*
+         test/schemas/group0_*: some tests added too
+
+Mon Jun  2 15:34:17 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * encoding.c: small fix
+       * xmlIO.c: fixed an error message
+
+Tue May 20 14:21:23 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parserInternals.c: fixing Red Hat bug #91013 where xmllint was
+         accepting an improper UTF8 sequence
+
+Sat May 17 12:53:11 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+       * 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@veillard.com>
+
+       * HTMLtree.c: fixing  bug #112904: html output method escaped
+         plus sign character in URI attribute.
+
+Thu May 15 18:06:18 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * build_glob.py global.data globals.c parser.c
+         include/libxml/globals.h: patch from Stéphane Bidoul for setting
+         up threads global defaults.
+       * doc/libxml2-api.xml: this extends the API with new functions
+       * python/tests/Makefile.am python/tests/reader2.py
+         python/tests/thread2.py: integrated the associated testcase and
+         fixed the error string used in reader2
+
+Wed May 14 14:56:46 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * configure.in libxml.spec.in python/Makefile.am: trying
+         to conciliate --with-python= requirements and RPM builds,
+         a PITA really...
+
+Tue May 13 18:30:34 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c: oops last commit introduced a memory leak.
+
+Tue May 13 18:10:38 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmllint.c doc/xmllint.xml: added --nonet option
+       * doc/Makefile.am: fixing #112803 by adding --nonet when calling
+         xsltproc or xmllint
+       * doc/xmllint.xml doc/xmllint.1: also added --schema doc and
+         rebuilt
+       * HTMLparser.c: cleaned up the HTML parser context build when 
+         using an URL
+
+Tue May 13 16:35:04 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * libxml.spec.in: added a comment about bug #112902 
+
+Mon May 12 21:58:00 EDT 2003 William Brack <wbrack@mmm.com.hk>
+
+       * minor cleanup of configure '--help' display
+       * error.c: enhanced xmlParserPrintFileContext to fix bug #109942
+
+Mon May 12 17:53:30 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c: PI nodes in external subset were not freed :-\
+         fixes bug #112842
+
+Mon May 12 11:23:27 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmllint.c: added --schema option to run WXS schema validation
+       * xmlschemas.c xmlschemastypes.c include/libxml/schemasInternals.h:
+         tried to improve error reporting in the Schema code, some cleanup
+         too.
+
+Sun May 11 16:13:20 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemas.c: fixed some problems in the handling of errors,
+         and attributes addressed by references.
+       * test/schemas/* result/schemas/*: dropped the verbosity level
+         and added a couple of new tests
+
+Sat May 10 16:01:21 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: Stéphane Bidoul found an off by one addressing
+         error on the error handling.
+
+Fri May  9 19:08:20 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastypes.c: trying to fix #112673
+
+Fri May  9 18:14:16 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * DOCBparser.c catalog.c parser.c relaxng.c: removed multiple
+         warning, this fixed a bug and should close #111574
+
+Fri May  9 15:34:32 EDT 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemas.c: fixing bug #104081 with xs:all with an element
+         holding minOccurs="0"
+       * test/schemas/all_* result/schemas/all_*: added some regression
+         tests for that bug
+       * xmllint.c xmlreader.c: patches from Joerg Schmitz-Linneweber and
+         Garry Pennington to compile without schemas support.
+
+Thu May  1 10:02:35 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c: fixed a problem with xmlUnlinkNode() for DTDs.
+
+Wed Apr 30 14:16:08 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xml2-config.in: try to fix Red hat bug #89957, do not
+         output -L/usr/lib64
+       * xmlreader.c: fixed a typo in a comment
+
+Tue Apr 29 07:32:02 MDT 2003 John Fleck <jfleck@inkstain.ent>
+
+       * doc/tutorial/aph.html, ix01.html
+       forgot to cvs add the new files. Thanks to Roland van Laar
+       for pointing this out
+
+Tue Apr 29 14:36:49 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemas.c doc/libxml2-api.xml: fixing a function comment
+       * doc/Makefile.am doc/apibuild.py doc/gnome-xml.sgml: switching
+         to the XML/XSLT doc generation closing #111799
+       * doc/html/*: complete update of the HTML results
+
+Mon Apr 28 14:51:41 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+       * win32/defgen.xsl: fixed the conditional for unicode map,
+         removed hardcoded schema entries
+         
+Mon Apr 28 02:19:00 CEST 2003 Igor Zlatkovic <igor@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@veillard.com>
+
+       * win32/configure.js python/setup.py.in: applied patch
+         from Stéphane Bidoul for the Python bindings on the new
+         release.
+
+Sun Apr 27 17:56:21 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+       * debugXML.c: included libxml/uri.h for xmlCanonicPath
+         declaration
+       * win32/configure.js: thread-enabled build is now default
+       * win32/libxml2.def.src: added more exports
+
+Sun Apr 27 00:23:05 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * NEWS doc/*.xsl doc/*.html: updated the web site separated
+         developers from common pages, made the transition to XHTML1,
+         added validity checking to the makefile rules.
+
+Sat Apr 26 23:17:51 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: fix for xmlIOParseDTD same as previous and reported
+         by Petr Pajas
+
+Sat Apr 26 15:26:04 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: applied fix to xmlSAXParseDTD from Malcolm Tredinnick
+         closing #111638
+
+Sat Apr 26 14:00:58 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * python/generator.py: fixed a problem in the generator where
+         the way functions are remapped as methods on classes was
+         not symetric and dependant on python internal hash order,
+         as reported by Stéphane Bidoul
+
+Fri Apr 25 21:52:33 MDT 2003 John Fleck <jfleck@inkstain.net>
+
+       * doc/tutorial:
+       xmltutorial.xml
+       xmltutorial.pdf
+       *.html
+       add appendix on generating compiler flags, more indexing
+
+Sat Apr 26 01:10:48 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * triodef.h vms/build_libxml.com: applied patch from Craig A. Berry
+         to get libxml-2.5.7 to compile on OpenVMS
+
+Fri Apr 25 18:42:35 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: fixing an xmlParseDTD bug raised by Petr Pajas
+
+Fri Apr 25 15:20:29 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * doc/Makefile.am doc/xmlcatalog.1 doc/xmlcatalog_man.xml
+         doc/xmllint.1 doc/xmllint.xml: automated the generation of the
+         man page based on xsltproc and a stylesheet PI in the XML.
+
+Fri Apr 25 12:37:33 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * doc/xmllint.*: trying to fix #110541 where &nbsp; generated
+         character preventing rendering by the man command.
+
+Fri Apr 25 01:09:23 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * NEWS configure.in: preparing release 2.5.7
+       * doc/*: updated and rebuilt the docs
+       * doc/apibuild.py: fixed the script
+
+Thu Apr 24 19:11:12 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * Makefile.am doc/apibuild.py: make sure the OOM code don't
+         get in the way of the builds
+       * doc/libxml2-api.xml python/libxml2class.txt: automatic update
+
+Thu Apr 24 18:01:46 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * Makefile.am testOOM.c testOOMlib.[ch] : integrated the Out Of
+         Memory test from Havoc Pennington #109368
+       * SAX.c parser.c parserInternals.c tree.c uri.c valid.c
+         xmlmemory.c xmlreader.c xmlregexp.c include/libxml/tree.h
+         include/libxml/parser.h: a lot of memory allocation cleanups
+         based on the results of the OOM testing
+       * check-relaxng-test-suite2.py: seems I forgot to commit the
+         script.
+
+Wed Apr 23 17:16:41 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastypes.c: trivial fix for 109774 removing a warning
+
+Wed Apr 23 15:49:32 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * DOCBparser.c SAX.c catalog.c debugXML.c parser.c: try to find
+         more places where xmlCanonicPath() must be used to convert
+         filenames to URLs, trying to fix #111088
+
+Wed Apr 23 09:35:12 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * python/libxml.c python/libxml.py: applied patch from 
+         Brent M Hendricks adding binding for xmlCatalogAddLocal
+
+Tue Apr 22 15:18:01 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c: tried to fix #98879 again in a more solid
+         way.
+        
+Tue Apr 22 13:58:43 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+       * win32/libxml2.def.src: added more exports from the relaxng and
+         xmlreader clan
+
+Tue Apr 22 10:35:13 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * SAX.c test/valid/ns* test/result/ns*: applied the patch
+         provided by Brent Hendricks fixing #105992 and integrated the
+         examples in the testsuite.
+
+Tue Apr 22 01:06:09 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * TODO: updated a bit
+       * configure.in: fixed the comment, threads now default to on
+       * parserInternals.c: fixed an erroneous xmlMallocAtomic() call
+
+Mon Apr 21 23:33:38 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * globals.c libxml.h parser.c parserInternals.c tree.c xmllint.c
+         xmlreader.c include/libxml/parser.h: a lot of performance work
+         especially the speed of streaming through the reader and push
+         interface. Some thread related optimizations. Nearly doubled the
+         speed of parsing through the reader.
+
+Sun Apr 20 10:36:05 MDT 2003 John Fleck <jfleck@inkstain.net>
+
+       * doc/xmllint.xml
+       * doc/xmllint.1
+       update man page to explain use of --stream
+
+Sat Apr 19 02:03:24 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * DOCBparser.c HTMLparser.c c14n.c catalog.c encoding.c globals.c
+         nanohttp.c parser.c parserInternals.c relaxng.c tree.c uri.c
+         xmlmemory.c xmlreader.c xmlregexp.c xpath.c xpointer.c
+         include/libxml/globals.h include/libxml/xmlmemory.h: added
+         xmlMallocAtomic() to be used when allocating blocks which
+         do not contains pointers, add xmlGcMemSetup() and xmlGcMemGet()
+         to allow registering the full set of functions needed by
+         a garbage collecting allocator like libgc, ref #109944
+
+Fri Apr 18 16:37:41 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * configure.in: switched to have thread support enabled by default,
+         didn't got troubles with ABI compatibility on Linux, hope it
+         won't break on strange OSes, if yes, report the system ID
+       * doc/libxml2-api.xml: just rebuilt the API
+
+Fri Apr 18 14:31:15 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * libxml.h include/libxml/parser.h parser.c xmlIO.c DOCBparser.c: 
+         added support for large file, tested with a 3+GB instance,
+         and some cleanup.
+       * catalog.c: added a TODO
+       * Makefile.am: added some "make tests" comments
+
+Thu Apr 17 14:51:57 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: some cleanups
+       * doc/xmlreader.html: extended the document to cover RelaxNG and
+         tree operations
+       * python/tests/Makefile.am python/tests/reader[46].py: added some
+         xmlReader example/regression tests
+       * result/relaxng/tutor*.err: updated the output of a number of tests
+
+Thu Apr 17 11:35:37 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: valgrind pointed out an uninitialized variable error.
+
+Thu Apr 17 11:06:28 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * include/libxml/relaxng.h relaxng.c include/libxml/xmlreader.h
+         xmlreader.c: augnemting the APIs, cleanups.
+       * parser.c: cleanup bug #111005
+       * xmlIO.c: added some missing comments
+
+Wed Apr 16 17:46:50 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c xmllint.c: more work on RelaxNG streaming validation
+         trying to improve the subset compiled, and more testing.
+       * doc/downloads.html doc/xml.html doc/xmlmem.html: some updates on the
+         documentation
+       * test/relaxng/tutor11_1_3.xml: fixes the DTD path
+       * result/relaxng/*.err: fix some of the outputs
+
+Wed Apr 16 01:28:15 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c xmlreader.c xmllint.c include/libxml/relaxng.h
+         include/libxml/xmlreader.h: implemented streaming of
+         RelaxNG (when possible) on top of the xmlReader interface,
+         provided it as xmllint --stream --relaxng .rng .xml
+         This seems to mostly work.
+       * Makefile.am: updated to test RelaxNG streaming
+
+Mon Apr 14 18:08:33 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c include/libxml/relaxng.h: integrated the regexp
+         based validity checking of fragments of the document for
+         which the RNG can be compiled to regexps. Works on all regression
+         tests, only fix needed is related to error messages.
+
+Sun Apr 13 21:51:00 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c xmlregexp.c include/libxml/xmlautomata.h
+         include/libxml/xmlregexp.h: Starting work precompiling
+         parts of RelaxNG schemas. Not plugged onto validity checking
+         yet, just the regexp building part. Needed to extend some
+         of the automata and regexp APIs.
+
+Fri Apr 11 21:36:21 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmllint.c xmlreader.c include/libxml/xmlreader.h: make sure
+         xmllint --stream and xmllint --stream --valid returns errors
+         code appropriately
+
+Fri Apr 11 10:59:24 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlreader.c include/libxml/xmlreader.h: Added the Expand()
+         and Next() operation to work on subtrees within the reader
+         framework.
+       * doc/libxml2-api.xml python/libxml2class.txt: resulting updates
+       * python/tests/reader5.py: added an example for those new
+         functions of the reader.
+
+Thu Apr 10 23:38:13 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLtree.c: patch from Vasily Tchekalkin to fix #109865
+
+Thu Apr 10 15:32:44 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlreader.c: fixing HasValue for namespace as raised by 
+         Denys Duchier
+
+Wed Apr  9 14:07:18 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c include/libxml/HTMLparser.h:  exported
+         htmlCreateMemoryParserCtxt() it was static
+
+Wed Apr  9 13:21:48 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemas.c xmlschemastypes.c include/libxml/xmlschemas.h:
+         update from Charles Bozeman for date and duration types
+       * test/schemas/date_0.* test/schemas/dur_0.*
+         result/schemas/date_0.* result/schemas/dur_0.*: updated too
+
+Mon Apr  7 12:19:26 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c valid.c xpath.c include/libxml/tree.h include/libxml/valid.h:
+         fixing bug #107129, removing excessive allocation and calls
+         to *printf in the code to build QName strings.
+
+Sat Apr  5 11:41:36 CEST 2003 Igoe Zlatkovic <igor@zlatkovic.com>
+
+       * win32/libxml2.def.src: fixed conditional exports, reported by
+         Luke Murray.
+
+Fri Apr  4 18:08:00 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: fixed a possible problem with xmlRecoverMemory()
+
+Thu Apr  3 17:24:44 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * trio.c trio.h triodef.h trionan.c trionan.h triop.h triostr.c
+         triostr.h: Bjorn sent an update for the TRIO portability layer.
+
+Tue Apr  1 21:57:26 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+       * win32/libxml2.def.src: exported new functions
+
+Tue Apr  1 13:09:46 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * configure.in NEWS: preparing release 2.5.6
+       * doc/*: updated and rebuilt the docs
+
+Tue Apr  1 11:52:15 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * SAX.c: fixed an uninitialized memory access pointed by valgrind
+         on C14Ntests
+
+Tue Apr  1 00:12:28 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: one more fixup of error message reporting
+
+Mon Mar 31 18:36:32 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: more work on bug #109225, and fixed an uninitialized
+         variable pointed out by valgrind
+
+Mon Mar 31 18:05:22 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: try to work on bug #109225 and provide better
+         error reports.
+       * result/relaxng/* : this change the output of a number of tests
+       * xinclude.c: fixing the parsed entity redefinition problem
+         raised on the list.
+       * test/schemas/date_0.xsd: updated the date test c.f. E2-12
+
+Mon Mar 31 13:19:04 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastypes.c: fixed date comparison to handle the tzo
+         The only failures left are disagreements on Notations and
+         '+1' not being allowed for ulong, uint, ushort and ubyte.
+
+Mon Mar 31 12:11:47 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastypes.c: fixed gMonth parsing routine accordingly
+         to the XML Schemas errata
+         http://www.w3.org/2001/05/xmlschema-errata#e2-12
+
+Sun Mar 30 23:04:18 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c xmlschemastypes.c: more work on XML Schemas datatypes
+         and facets support. Currently only schemas with binHex or
+         base64 don't compile. A few error left in the test suite:
+         found 1035 test instances: 919 success 23 failures
+         most are gdate or gdateyear failing check, and a few cases where
+         James clark tests results are strange.
+       * valid.c: allow to reuse the Notation checking routine without
+         having a validation context.
+       * SAX.c: removed a #if 0
+
+Sat Mar 29 17:35:05 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xinclude.c: forgot to apply one check from #106931 patch
+       * xmlschemastypes.c: more work on XML Schemas datatypes
+
+Sat Mar 29 11:49:25 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c include/libxml/relaxng.h xmlschemastypes.c: more work
+         on cleaning up XML Schemas datatypes based on James Clark tests
+         test/xsdtest/xsdtest.xml
+
+Fri Mar 28 14:24:08 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: implemented comparisons for Schemas values.
+       * xmlschemastypes.c include/libxml/xmlschemastypes.h: fixed
+         some bugs in duration handling, comparisons for durations
+         and decimals, removed all memory leaks pointed out by James
+         testsuite. Current status is now
+         found 238 test schemas: 197 success 41 failures
+         found 1035 test instances: 803 success 130 failures
+
+Fri Mar 28 00:41:55 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemas.c include/libxml/xmlschemas.h: fixed bugs and memory
+         leaks in the W3C XML Schemas code
+       * xmlschemastypes.c: implemented nonPositiveInteger
+       * test/schemas/length2_0.xsd result/schemas/length2_0_0.err:
+         fixed the test and result.
+
+Thu Mar 27 22:23:07 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c tree.c: two patches from James Bursa on the HTML
+         parser and a typo
+       * xmlschemastypes.c: reindenting, fixing a memory access
+         problem with dates.
+
+Thu Mar 27 15:53:35 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: fixing #109227 providing more context in case of 
+         start/end tag mismatch
+       * python/tests/ctxterror.py python/tests/readererr.py: update the
+         tests accordingly
+
+Thu Mar 27 15:22:41 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xinclude.c: should fix #109327 errors on memory accesses
+
+Thu Mar 27 15:06:13 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLtree.c: Fixed reopening of #78662 <form action="...">
+         is an URI reference
+
+Wed Mar 26 22:38:39 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xpath.c: fixed bug #109160 on non-ASCII IDs
+
+Wed Mar 26 17:30:37 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: Norm suggested a nicer error message for xml:space values
+         errors
+
+Wed Mar 26 01:34:19 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xpath.c include/libxml/xpath.h: first part of the fix to
+         performance bug #108905, adds xmlXPathOrderDocElems() providing
+         document order for nodes.
+       * python/libxml.c: Python may require TRIO as Albert Chin pointed out
+
+Tue Mar 25 16:07:00 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastypes.c: removing a warning with Sun compiler
+         bug #109154
+
+Tue Mar 25 07:02:56 MST 2003 John Fleck <jfleck@inkstain.net>
+
+       * doc/xmllint.xml
+       * doc/xmllint.1
+       update xmllint man page with --relaxng option
+
+Tue Mar 25 12:07:03 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * python/setup.py.in : was missing "drv_libxml2.py"
+
+Mon Mar 24 19:38:05 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c xpath.c: some changes related to the new way of 
+         handling Result Value Tree, before 2.5.5
+
+Mon Mar 24 16:36:23 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * configure.in NEWS: preparing release 2.5.5
+       * doc/* : updated the documentation and regenerated it.
+
+Mon Mar 24 14:56:01 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xpath.c: fixed some problems related to #75813 about handling
+         of Result Value Trees
+
+Sun Mar 23 22:57:20 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * uri.c: applied a set of patches from Lorenzo Viali correcting
+         URI parsing errors.
+
+Sun Mar 23 22:00:14 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: validity status was not passed back when validating in
+         entities, but raised by Oliver Fischer
+
+Sun Mar 23 21:30:50 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLtree.c: avoid escaping ',' in URIs
+
+Sun Mar 23 12:57:00 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * parser.c: fixing bug #108976 get the ID/REFs to reference 
+         the ID in the document content and not in the entity copy
+       * 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 
+         elements in entities
+       * result/VC/ElementValid8 test/VCM/v20.xml result/valid/xhtml1.xhtml:
+         cleanup of the validation tests
+       * test/valid/id* test/valid/dtds/destfoo.ent result/valid/id*:
+         added more ID/IDREF tests to the suite
+
+Sat Mar 22 23:38:08 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlreader.c: fixed #107043 removing 2 warnings with Sun One
+         compiler.
+
+Sat Mar 22 18:50:45 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: valgrind'ed and cleaned up a couple of memory issues.
+
+Sat Mar 22 16:15:50 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * SAX.c: fix bug #107208 avoid false duplicates when ID/REFs are
+         defined in entities content
+
+Sat Mar 22 15:53:27 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * SAX.c: Fixed validation bug #108858 on namespace names using
+         entities and reported by Brent Hendricks
+       * xmllint.c: report xmlTextReaderHasValue() result in --stream
+         --debug output.
+
+Sat Mar 22 13:32:39 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlreader.c: fixed bug #108801 reported by Malcolm Tredinnick
+         about the DocType node not being reported sometimes.
+       * python/tests/reader.py: added to test to the regression checks
+
+Sat Mar 22 01:57:40 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlreader.c: fixed bug #108546 on long CDATA (or text nodes)
+         reported by Edd Dumbill
+
+Sat Mar 23 01:00:24 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * HTMLparser.c parser.c parserInternals.c: patch from
+         johan@evenhuis.nl for #107937 fixing some line counting
+         problems, and some other cleanups.
+       * result/HTML/: this result in some line number changes
+
+Fri Mar 21 22:19:14 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * configure.in Makefile.am: fixed Red Hat bug #86118 use libxml2.spec
+         instead of libxml.spec
+       * relaxng.c: fixed some of the error reporting excessive
+         verbosity
+       * catalog.c debugXML.c valid.c xmlreader.c xmlschemas.c xpath.c
+         xmlschemastypes.c: removed some warnings from gcc
+       * doc/libxml2-api.xml: rebuilt
+
+Fri Mar 21 17:25:23 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: another optimization, for choice this time
+       * result/relaxng/spec1* result/relaxng/tutor12_1* 
+         result/relaxng/tutor3_7: cleanups.
+
+Fri Mar 21 13:41:23 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: fixed xmlRelaxNGNodeMatchesList
+       * test/relaxng/testsuite.xml: augmented the test suite
+       * result/relaxng/spec1* result/relaxng/tutor12_1*: this fixes
+         some schemas validation tests in the presence of foreign 
+         namespaces.
+
+Fri Mar 21 02:23:34 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: added another interleave speedup.
+
+Thu Mar 20 17:22:00 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastypes.c: added integer and fixed one of the
+         IDREFS regression tests pbm
+       * result/relaxng/docbook_0.err: updated
+
+Wed Mar 19 21:58:47 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * valid.c xmlschemastypes.c: attempt to cope with ID/IDREF(S)
+         declared both in the DTD and in the Schemas <grin/>
+       * relaxng.c: more debug, added a big optimization for <mixed>
+       * test/relaxng/testsuite.xml: augmented the testsuite
+       * test/relaxng/ result/relaxng: added the RelaxNG spec and a 
+         DocBook example to the regression tests
+
+Wed Mar 19 11:34:10 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * check-xsddata-test-suite.py: cosmetic change for output
+       * relaxng.c: try to minimize calls to malloc/free for states.
+
+Tue Mar 18 17:50:31 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c: removed a warning
+       * xmlschemastypes.c: more cleanup, added ENTITY and ENTITIES
+         support
+       * check-relaxng-test-suite.py check-xsddata-test-suite.py:
+         cleanup/improvements of the regression tests batch
+       * test/relaxng/testsuite.xml: augmented libxml2 own testsuite
+
+Tue Mar 18 12:36:22 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: fixed error msg cleanup deallocation
+       * xmlschemastypes.c: added a function to handle lists of
+         atomic types, added support for IDREFS
+
+Tue Mar 18 01:28:15 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c valid.c xmlschemastypes.c: added Datatype ID
+         and IDREF, usable from RelaxNG now
+       * include/libxml/xmlschemastypes.h: need to add a new interface
+         because the validation modifies the infoset
+       * test/relaxng/testsuite.xml: extended the testsuite
+
+Mon Mar 17 16:34:07 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: fixed the last core RelaxNG bug known #107083,
+         shemas datatype ID/IDREF support still missing though.
+       * xmlreader.c: fix a crashing bug with prefix raised by
+         Merijn Broeren
+       * test/relaxng/testsuite.xml: augmented the testsuite with
+         complex inheritance tests
+
+Sun Mar 16 18:45:50 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: switched back to the previous Relax-NG code base,
+         the derivation algorithm need severe constraining code to avoid
+         combinatorial explosion. Fixed the problem with Sebastian Rahtz
+         TEI based example and other bugs
+       * result/relaxng/*err: updated the results
+       * test/relaxng/testsuite.xml: started a new test suite 
+
+Sat Mar 15 22:26:46 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c include/libxml/relaxng.h: After coming to the conclusion
+         that the original RelaxNG validation code was un-fixeable, it got
+         rewritten to use the derivation algorithm from James Clark and
+         redebugged it (nearly) from scratch:
+         found 373 test schemas: 372 success 1 failures
+         found 529 test instances: 529 success 0 failures
+
+Tue Mar 11 12:08:23 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * SAX.c parser.c: fix some recursion problems introduced in the
+         last release.
+       * relaxng.c: more debugging of the RNG validation engine, still
+         problems though.
+
+Mon Mar 10 14:10:47 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * Makefile.am: stop generating wrong result file with * in name
+       * relaxng.c: fixing the include bug raised by Sebastian Rahtz
+       * result/relaxng/demo* test/relaxng/demo: added the tests from
+         Sebastian reproducing the problem.
+
+Sun Mar  9 18:02:31 MST 2003 John Fleck <jfleck@inkstain.net>
+
+       * doc/xmllint.1: regenerating man page from xmllint.xml to pick
+         up Aleksey's change
+
+Sun Mar  9 13:53:16 2003  Aleksey Sanin  <aleksey@aleksey.com>
+
+       * xmllint.c doc/xmllint.xml: use $XMLLINT_INDENT environment
+       variable to control the indentation for the xmllint "--format" 
+       option
+
+Sat Mar  8 14:27:43 CET 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+       * encoding.c: applied Gennady's patch against buffer overrun
+
+Fri Mar  7 19:29:40 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * test/xsdtest/xsdtest.xml uri.c: after and exchange with James
+         Clark it appeared I had bug in URI parsing code ...
+       * relaxng.c include/libxml/relaxng.h: completely revamped error
+         reporting to not loose message from optional parts.
+       * xmllint.c: added timing for RNG validation steps
+       * result/relaxng/*: updated the result, all error messages changed
+
+Fri Mar  7 15:18:32 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xpath.c: fix bug #107804, the algorithm used for document order
+         computation was failing on attributes.
+
+Thu Mar  6 22:35:50 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * valid.c: fix bug #107764 , possibility of buffer overflow
+         in xmlValidDebug()
+
+Wed Mar  5 17:41:37 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * nanoftp.c include/libxml/nanoftp.h: adding xmlNanoFTPDele()
+         from Philipp Dunkel
+
+Wed Mar  5 10:57:09 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * xmlschemastype.c: made powten array static it should not be exported
+       * HTMLparser.c: fix bug #107361 by reusing the code from the XML 
+         parser function.
+       * testHTML.c: get rid of valgrind messages on the HTML SAX tests
+
+Fri Feb 28 00:23:00 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * tree.c: fixed a node dump crash on attributes
+       * test/xsdtest/xsdtest.xml test/xsdtest/xsdtest.xsl: fixed
+         an URI test bug and get better output.
+
+Thu Feb 27 22:28:40 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * check-xsddata-test-suite.py: give more infos
+       * relaxng.c: fix a bug reported by Sebastian Rahtz and
+         REF->DEF in attribute values.
+
+Thu Feb 27 21:09:32 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * check-xsddata-test-suite.py test/xsdtest/xsdtest.xml
+         test/xsdtest/xsdtest.xsl: import of the XSD Datatype
+         regression tests from James Clark.
+
+Thu Feb 27 18:40:04 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c xmlschemas.c xmlschemastypes.c
+         include/libxml/xmlschemastypes.h: added param support for relaxng
+         type checking, started to increment the pool of simple types
+         registered, still much work to be done on simple types and
+         facets checkings.
+
+Wed Feb 26 16:45:39 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * entities.c: fixes again one of the problem raised by
+         James Clark in #106788
+
+Wed Feb 26 15:46:48 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+       * relaxng.c: Fixed a couple of problem raised by James Clark
+         in bug #107083, the support for ID/IDREF/IDREFS at the WXS
+         datatype level still not fixed though.
+
 Mon Feb 24 21:09:19 CET 2003 Daniel Veillard <daniel@veillard.com>
 
        * configure.in: preparing release 2.5.4
index 4673a6c..e4468ac 100644 (file)
@@ -2675,14 +2675,13 @@ docbParseSGMLAttribute(docbParserCtxtPtr ctxt, const xmlChar stop) {
     xmlChar *name = NULL;
 
     xmlChar *cur = NULL;
-    xmlEntityPtr xent;
     docbEntityDescPtr ent;
 
     /*
      * allocate a translation buffer.
      */
     buffer_size = DOCB_PARSER_BIG_BUFFER_SIZE;
-    buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
+    buffer = (xmlChar *) xmlMallocAtomic(buffer_size * sizeof(xmlChar));
     if (buffer == NULL) {
        xmlGenericError(xmlGenericErrorContext,
                       "docbParseSGMLAttribute: malloc failed");
@@ -2714,7 +2713,7 @@ docbParseSGMLAttribute(docbParserCtxtPtr ctxt, const xmlChar stop) {
                    *out++  = ((c >> bits) & 0x3F) | 0x80;
                }
            } else {
-               xent = docbParseEntityRef(ctxt, &name);
+               docbParseEntityRef(ctxt, &name);
                if (name == NULL) {
                    *out++ = '&';
                    if (out - buffer > buffer_size - 100) {
@@ -2917,9 +2916,9 @@ docbParseSystemLiteral(docbParserCtxtPtr ctxt) {
     if (CUR == '"') {
         NEXT;
        q = CUR_PTR;
-       while ((IS_CHAR(CUR)) && (CUR != '"'))
+       while ((IS_CHAR((unsigned int) CUR)) && (CUR != '"'))
            NEXT;
-       if (!IS_CHAR(CUR)) {
+       if (!IS_CHAR((unsigned int) CUR)) {
            if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                ctxt->sax->error(ctxt->userData, "Unfinished SystemLiteral\n");
            ctxt->wellFormed = 0;
@@ -2930,9 +2929,9 @@ docbParseSystemLiteral(docbParserCtxtPtr ctxt) {
     } else if (CUR == '\'') {
         NEXT;
        q = CUR_PTR;
-       while ((IS_CHAR(CUR)) && (CUR != '\''))
+       while ((IS_CHAR((unsigned int) CUR)) && (CUR != '\''))
            NEXT;
-       if (!IS_CHAR(CUR)) {
+       if (!IS_CHAR((unsigned int) CUR)) {
            if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                ctxt->sax->error(ctxt->userData, "Unfinished SystemLiteral\n");
            ctxt->wellFormed = 0;
@@ -3157,7 +3156,7 @@ docbParsePI(xmlParserCtxtPtr ctxt) {
         */
        target = xmlParseName(ctxt);
        if (target != NULL) {
-           xmlChar *encoding = NULL;
+           const xmlChar *encoding = NULL;
 
            if ((RAW == '?') && (NXT(1) == '>')) {
                if (input != ctxt->input) {
@@ -3195,7 +3194,7 @@ docbParsePI(xmlParserCtxtPtr ctxt) {
                }
 
            }
-           buf = (xmlChar *) xmlMalloc(size * sizeof(xmlChar));
+           buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
            if (buf == NULL) {
                xmlGenericError(xmlGenericErrorContext,
                        "malloc of %d byte failed\n", size);
@@ -3315,7 +3314,7 @@ docbParseComment(docbParserCtxtPtr ctxt) {
     ctxt->instate = XML_PARSER_COMMENT;
     SHRINK;
     SKIP(4);
-    buf = (xmlChar *) xmlMalloc(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
     if (buf == NULL) {
        xmlGenericError(xmlGenericErrorContext,
                "malloc of %d byte failed\n", size);
@@ -3724,7 +3723,7 @@ docbParseStartTag(docbParserCtxtPtr ctxt) {
      * (S Attribute)* S?
      */
     SKIP_BLANKS;
-    while ((IS_CHAR(CUR)) &&
+    while ((IS_CHAR((unsigned int) CUR)) &&
            (CUR != '>') && 
           ((CUR != '/') || (NXT(1) != '>'))) {
        long cons = ctxt->nbChars;
@@ -3870,7 +3869,7 @@ docbParseEndTag(docbParserCtxtPtr ctxt) {
      * We should definitely be at the ending "S? '>'" part
      */
     SKIP_BLANKS;
-    if ((!IS_CHAR(CUR)) || (CUR != '>')) {
+    if ((!IS_CHAR((unsigned int) CUR)) || (CUR != '>')) {
        if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
            ctxt->sax->error(ctxt->userData, "End tag : expected '>'\n");
        ctxt->wellFormed = 0;
@@ -3993,10 +3992,9 @@ docbParseReference(docbParserCtxtPtr ctxt) {
                    /*
                     * we really need to fetch and parse the external entity
                     */
-                   int parse;
                    xmlNodePtr children = NULL;
 
-                   parse = docbParseCtxtExternalEntity(ctxt,
+                   docbParseCtxtExternalEntity(ctxt,
                               xent->SystemID, xent->ExternalID, &children);
                    xmlAddChildList((xmlNodePtr) xent, children);
            }
@@ -4323,12 +4321,12 @@ docbParseElement(docbParserCtxtPtr ctxt) {
      */
     currentNode = xmlStrdup(ctxt->name);
     depth = ctxt->nameNr;
-    while (IS_CHAR(CUR)) {
+    while (IS_CHAR((unsigned int) CUR)) {
        docbParseContent(ctxt);
        if (ctxt->nameNr < depth) break; 
     }  
 
-    if (!IS_CHAR(CUR)) {
+    if (!IS_CHAR((unsigned int) CUR)) {
        /************
        if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
            ctxt->sax->error(ctxt->userData,
@@ -4713,7 +4711,7 @@ docbParseInternalSubset(xmlParserCtxtPtr ctxt) {
         */
        while (RAW != ']') {
            const xmlChar *check = CUR_PTR;
-           int cons = ctxt->input->consumed;
+           unsigned int cons = ctxt->input->consumed;
 
            SKIP_BLANKS;
            docbParseMarkupDecl(ctxt);
@@ -5918,7 +5916,8 @@ docbCreatePushParserCtxt(docbSAXHandlerPtr sax, void *user_data,
     if (filename == NULL)
        inputStream->filename = NULL;
     else
-       inputStream->filename = xmlMemStrdup(filename);
+       inputStream->filename = (char *)
+            xmlCanonicPath((const xmlChar *)filename);
     inputStream->buf = buf;
     inputStream->base = inputStream->buf->buffer->content;
     inputStream->cur = inputStream->buf->buffer->content;
@@ -6030,8 +6029,7 @@ docbCreateFileParserCtxt(const char *filename,
     }
     memset(inputStream, 0, sizeof(docbParserInput));
 
-    inputStream->filename = (char *)
-       xmlCanonicPath((const xmlChar *)filename);
+    inputStream->filename = (char *) xmlCanonicPath((const xmlChar *)filename);
     inputStream->line = 1;
     inputStream->col = 1;
     inputStream->buf = buf;
index 75e9229..28617fe 100644 (file)
@@ -134,7 +134,7 @@ htmlnamePop(htmlParserCtxtPtr ctxt)
  *   UPP(n)  returns the n'th next xmlChar converted to uppercase. Same as CUR
  *           it should be used only to compare on ASCII based substring.
  *   SKIP(n) Skip n xmlChar, and must also be used only to skip ASCII defined
- *           strings within the parser.
+ *           strings without newlines within the parser.
  *
  * Clean macros, not dependent of an ASCII context, expect UTF-8 encoding
  *
@@ -142,12 +142,13 @@ htmlnamePop(htmlParserCtxtPtr ctxt)
  *           UTF-8 if we are using this mode. It returns an int.
  *   NEXT    Skip to the next character, this does the proper decoding
  *           in UTF-8 mode. It also pop-up unfinished entities on the fly.
+ *   NEXTL(l) Skip the current unicode character of l xmlChars long.
  *   COPY(to) copy one char to *to, increment CUR_PTR and to accordingly
  */
 
 #define UPPER (toupper(*ctxt->input->cur))
 
-#define SKIP(val) ctxt->nbChars += (val),ctxt->input->cur += (val)
+#define SKIP(val) ctxt->nbChars += (val),ctxt->input->cur += (val),ctxt->input->col+=(val)
 
 #define NXT(val) ctxt->input->cur[(val)]
 
@@ -167,7 +168,7 @@ htmlnamePop(htmlParserCtxtPtr ctxt)
 
 /* #define CUR (ctxt->token ? ctxt->token : (int) (*ctxt->input->cur)) */
 #define CUR ((int) (*ctxt->input->cur))
-#define NEXT xmlNextChar(ctxt),ctxt->nbChars++
+#define NEXT xmlNextChar(ctxt)
 
 #define RAW (ctxt->token ? -1 : (*ctxt->input->cur))
 #define NXT(val) ctxt->input->cur[(val)]
@@ -961,7 +962,7 @@ htmlTagLookup(const xmlChar *tag) {
     for (i = 0; i < (sizeof(html40ElementTable) /
                      sizeof(html40ElementTable[0]));i++) {
         if (!xmlStrcasecmp(tag, BAD_CAST html40ElementTable[i].name))
-           return((const htmlElemDescPtr) (const htmlElemDescPtr) (const htmlElemDescPtr) (const htmlElemDescPtr) (const htmlElemDescPtr) (const htmlElemDescPtr) (const htmlElemDescPtr) (const htmlElemDescPtr) (const htmlElemDescPtr) &html40ElementTable[i]);
+           return((htmlElemDescPtr) &html40ElementTable[i]);
     }
     return(NULL);
 }
@@ -1687,7 +1688,7 @@ htmlEntityLookup(const xmlChar *name) {
 #ifdef DEBUG
             xmlGenericError(xmlGenericErrorContext,"Found entity %s\n", name);
 #endif
-            return((const htmlEntityDescPtr) &html40EntitiesTable[i]);
+            return((htmlEntityDescPtr) &html40EntitiesTable[i]);
        }
     }
     return(NULL);
@@ -1718,7 +1719,7 @@ htmlEntityValueLookup(unsigned int value) {
 #ifdef DEBUG
            xmlGenericError(xmlGenericErrorContext,"Found entity %s\n", html40EntitiesTable[i].name);
 #endif
-            return((const htmlEntityDescPtr) &html40EntitiesTable[i]);
+            return((htmlEntityDescPtr) &html40EntitiesTable[i]);
        }
 #ifdef DEBUG
        if (lv > html40EntitiesTable[i].value) {
@@ -2220,6 +2221,8 @@ htmlParseName(htmlParserCtxtPtr ctxt) {
            count = in - ctxt->input->cur;
            ret = xmlStrndup(ctxt->input->cur, count);
            ctxt->input->cur = in;
+           ctxt->nbChars += count;
+           ctxt->input->col += count;
            return(ret);
        }
     }
@@ -2265,7 +2268,7 @@ htmlParseNameComplex(xmlParserCtxtPtr ctxt) {
            xmlChar *buffer;
            int max = len * 2;
            
-           buffer = (xmlChar *) xmlMalloc(max * sizeof(xmlChar));
+           buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
            if (buffer == NULL) {
                if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                    ctxt->sax->error(ctxt->userData,
@@ -2330,7 +2333,7 @@ htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
      * allocate a translation buffer.
      */
     buffer_size = HTML_PARSER_BUFFER_SIZE;
-    buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
+    buffer = (xmlChar *) xmlMallocAtomic(buffer_size * sizeof(xmlChar));
     if (buffer == NULL) {
        xmlGenericError(xmlGenericErrorContext,
                        "htmlParseHTMLAttribute: malloc failed\n");
@@ -2562,9 +2565,9 @@ htmlParseSystemLiteral(htmlParserCtxtPtr ctxt) {
     if (CUR == '"') {
         NEXT;
        q = CUR_PTR;
-       while ((IS_CHAR(CUR)) && (CUR != '"'))
+       while ((IS_CHAR((unsigned int) CUR)) && (CUR != '"'))
            NEXT;
-       if (!IS_CHAR(CUR)) {
+       if (!IS_CHAR((unsigned int) CUR)) {
            if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                ctxt->sax->error(ctxt->userData, "Unfinished SystemLiteral\n");
            ctxt->wellFormed = 0;
@@ -2575,9 +2578,9 @@ htmlParseSystemLiteral(htmlParserCtxtPtr ctxt) {
     } else if (CUR == '\'') {
         NEXT;
        q = CUR_PTR;
-       while ((IS_CHAR(CUR)) && (CUR != '\''))
+       while ((IS_CHAR((unsigned int) CUR)) && (CUR != '\''))
            NEXT;
-       if (!IS_CHAR(CUR)) {
+       if (!IS_CHAR((unsigned int) CUR)) {
            if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                ctxt->sax->error(ctxt->userData, "Unfinished SystemLiteral\n");
            ctxt->wellFormed = 0;
@@ -2628,9 +2631,9 @@ htmlParsePubidLiteral(htmlParserCtxtPtr ctxt) {
     } else if (CUR == '\'') {
         NEXT;
        q = CUR_PTR;
-       while ((IS_LETTER(CUR)) && (CUR != '\''))
+       while ((IS_PUBIDCHAR(CUR)) && (CUR != '\''))
            NEXT;
-       if (!IS_LETTER(CUR)) {
+       if (CUR != '\'') {
            if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                ctxt->sax->error(ctxt->userData, "Unfinished PubidLiteral\n");
            ctxt->wellFormed = 0;
@@ -2676,7 +2679,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
 
     SHRINK;
     cur = CUR;
-    while (IS_CHAR(cur)) {
+    while (IS_CHAR((unsigned int) cur)) {
        if ((cur == '<') && (NXT(1) == '!') && (NXT(2) == '-') &&
            (NXT(3) == '-')) {
            if ((nbchar != 0) && (ctxt->sax != NULL) && (!ctxt->disableSAX)) {
@@ -2685,6 +2688,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
                     * Insert as CDATA, which is the same as HTML_PRESERVE_NODE
                     */
                    ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
+               } else if (ctxt->sax->characters != NULL) {
+                   ctxt->sax->characters(ctxt->userData, buf, nbchar);
                }
            }
            nbchar = 0;
@@ -2709,13 +2714,15 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
                 * Insert as CDATA, which is the same as HTML_PRESERVE_NODE
                 */
                ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
+           } else if (ctxt->sax->characters != NULL) {
+               ctxt->sax->characters(ctxt->userData, buf, nbchar);
            }
            nbchar = 0;
        }
        NEXT;
        cur = CUR;
     }
-    if (!(IS_CHAR(cur))) {
+    if (!(IS_CHAR((unsigned int) cur))) {
        if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
            ctxt->sax->error(ctxt->userData,
                "Invalid char in CDATA 0x%X\n", cur);
@@ -2729,6 +2736,8 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
             * Insert as CDATA, which is the same as HTML_PRESERVE_NODE
             */
            ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
+       } else if (ctxt->sax->characters != NULL) {
+           ctxt->sax->characters(ctxt->userData, buf, nbchar);
        }
     }
 }
@@ -2897,7 +2906,7 @@ htmlParseComment(htmlParserCtxtPtr ctxt) {
     ctxt->instate = XML_PARSER_COMMENT;
     SHRINK;
     SKIP(4);
-    buf = (xmlChar *) xmlMalloc(size * sizeof(xmlChar));
+    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
     if (buf == NULL) {
        xmlGenericError(xmlGenericErrorContext,
                "malloc of %d byte failed\n", size);
@@ -3310,7 +3319,7 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
             "htmlParseStartTag: invalid element name\n");
        ctxt->wellFormed = 0;
        /* Dump the bogus tag like browsers do */
-       while ((IS_CHAR(CUR)) && (CUR != '>'))
+       while ((IS_CHAR((unsigned int) CUR)) && (CUR != '>'))
            NEXT;
         return;
     }
@@ -3368,7 +3377,7 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
      * (S Attribute)* S?
      */
     SKIP_BLANKS;
-    while ((IS_CHAR(CUR)) &&
+    while ((IS_CHAR((unsigned int) CUR)) &&
            (CUR != '>') && 
           ((CUR != '/') || (NXT(1) != '>'))) {
        long cons = ctxt->nbChars;
@@ -3427,8 +3436,9 @@ htmlParseStartTag(htmlParserCtxtPtr ctxt) {
        else {
            /* Dump the bogus attribute string up to the next blank or
             * the end of the tag. */
-           while ((IS_CHAR(CUR)) && !(IS_BLANK(CUR)) && (CUR != '>')
-            && ((CUR != '/') || (NXT(1) != '>')))
+           while ((IS_CHAR((unsigned int) CUR)) &&
+                  !(IS_BLANK(CUR)) && (CUR != '>') &&
+                  ((CUR != '/') || (NXT(1) != '>')))
                NEXT;
        }
 
@@ -3505,7 +3515,7 @@ htmlParseEndTag(htmlParserCtxtPtr ctxt) {
      * We should definitely be at the ending "S? '>'" part
      */
     SKIP_BLANKS;
-    if ((!IS_CHAR(CUR)) || (CUR != '>')) {
+    if ((!IS_CHAR((unsigned int) CUR)) || (CUR != '>')) {
        if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
            ctxt->sax->error(ctxt->userData, "End tag : expected '>'\n");
        ctxt->wellFormed = 0;
@@ -3922,7 +3932,7 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
      */
     currentNode = xmlStrdup(ctxt->name);
     depth = ctxt->nameNr;
-    while (IS_CHAR(CUR)) {
+    while (IS_CHAR((unsigned int) CUR)) {
        oldptr = ctxt->input->cur;
        htmlParseContent(ctxt);
        if (oldptr==ctxt->input->cur) break;
@@ -3939,7 +3949,7 @@ htmlParseElement(htmlParserCtxtPtr ctxt) {
        node_info.node = ctxt->node;
        xmlParserAddNodeInfo(ctxt, &node_info);
     }
-    if (!IS_CHAR(CUR)) {
+    if (!IS_CHAR((unsigned int) CUR)) {
        htmlAutoCloseOnEnd(ctxt);
     }
 
@@ -4202,7 +4212,7 @@ htmlNewParserCtxt(void)
  *
  * Returns the new parser context or NULL
  */
-static htmlParserCtxtPtr
+htmlParserCtxtPtr
 htmlCreateMemoryParserCtxt(const char *buffer, int size) {
     xmlParserCtxtPtr ctxt;
     xmlParserInputPtr input;
@@ -4263,7 +4273,7 @@ htmlCreateDocParserCtxt(xmlChar *cur, const char *encoding ATTRIBUTE_UNUSED) {
 
        if (ctxt->input->encoding != NULL)
            xmlFree((xmlChar *) ctxt->input->encoding);
-       ctxt->input->encoding = (const xmlChar *) encoding;
+       ctxt->input->encoding = xmlStrdup((const xmlChar *) encoding);
 
        enc = xmlParseCharEncoding(encoding);
        /*
@@ -4275,7 +4285,6 @@ htmlCreateDocParserCtxt(xmlChar *cur, const char *encoding ATTRIBUTE_UNUSED) {
                if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                    ctxt->sax->error(ctxt->userData,
                         "Unsupported encoding %s\n", encoding);
-               ctxt->input->encoding = NULL;
            }
        } else {
            /*
@@ -4307,6 +4316,7 @@ htmlCreateDocParserCtxt(xmlChar *cur, const char *encoding ATTRIBUTE_UNUSED) {
  * @first:  the first char to lookup
  * @next:  the next char to lookup or zero
  * @third:  the next char to lookup or zero
+ * @comment: flag to force checking inside comments
  *
  * Try to find if a sequence (first, next, third) or  just (first next) or
  * (first) is available in the input stream.
@@ -4320,7 +4330,7 @@ htmlCreateDocParserCtxt(xmlChar *cur, const char *encoding ATTRIBUTE_UNUSED) {
  */
 static int
 htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first,
-                       xmlChar next, xmlChar third) {
+                        xmlChar next, xmlChar third, int iscomment) {
     int base, len;
     htmlParserInputPtr in;
     const xmlChar *buf;
@@ -4343,15 +4353,16 @@ htmlParseLookupSequence(htmlParserCtxtPtr ctxt, xmlChar first,
     if (third) len -= 2;
     else if (next) len --;
     for (;base < len;base++) {
-       if (!incomment && (base + 4 < len)) {
+       if (!incomment && (base + 4 < len) && !iscomment) {
            if ((buf[base] == '<') && (buf[base + 1] == '!') &&
                (buf[base + 2] == '-') && (buf[base + 3] == '-')) {
                incomment = 1;
+               /* do not increment past <! - some people use <!--> */
+               base += 2;
            }
-           /* do not increment base, some people use <!--> */
        }
        if (incomment) {
-           if (base + 3 < len)
+           if (base + 3 > len)
                return(-1);
            if ((buf[base] == '-') && (buf[base + 1] == '-') &&
                (buf[base + 2] == '>')) {
@@ -4490,6 +4501,12 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
        }
         if (avail < 1)
            goto done;
+       cur = in->cur[0];
+       if (cur == 0) {
+           SKIP(1);
+           continue;
+       }
+
         switch (ctxt->instate) {
             case XML_PARSER_EOF:
                /*
@@ -4523,7 +4540,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                    (UPP(6) == 'Y') && (UPP(7) == 'P') &&
                    (UPP(8) == 'E')) {
                    if ((!terminate) &&
-                       (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
+                       (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
                        goto done;
 #ifdef DEBUG_PUSH
                    xmlGenericError(xmlGenericErrorContext,
@@ -4556,7 +4573,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                if ((cur == '<') && (next == '!') &&
                    (in->cur[2] == '-') && (in->cur[3] == '-')) {
                    if ((!terminate) &&
-                       (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
+                       (htmlParseLookupSequence(ctxt, '-', '-', '>', 1) < 0))
                        goto done;
 #ifdef DEBUG_PUSH
                    xmlGenericError(xmlGenericErrorContext,
@@ -4570,7 +4587,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                    (UPP(6) == 'Y') && (UPP(7) == 'P') &&
                    (UPP(8) == 'E')) {
                    if ((!terminate) &&
-                       (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
+                       (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
                        goto done;
 #ifdef DEBUG_PUSH
                    xmlGenericError(xmlGenericErrorContext,
@@ -4606,7 +4623,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                if ((cur == '<') && (next == '!') &&
                    (in->cur[2] == '-') && (in->cur[3] == '-')) {
                    if ((!terminate) &&
-                       (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
+                       (htmlParseLookupSequence(ctxt, '-', '-', '>', 1) < 0))
                        goto done;
 #ifdef DEBUG_PUSH
                    xmlGenericError(xmlGenericErrorContext,
@@ -4643,7 +4660,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                if ((cur == '<') && (next == '!') &&
                    (in->cur[2] == '-') && (in->cur[3] == '-')) {
                    if ((!terminate) &&
-                       (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
+                       (htmlParseLookupSequence(ctxt, '-', '-', '>', 1) < 0))
                        goto done;
 #ifdef DEBUG_PUSH
                    xmlGenericError(xmlGenericErrorContext,
@@ -4693,7 +4710,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                    break;
                }
                if ((!terminate) &&
-                   (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
+                   (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
                    goto done;
 
                oldname = xmlStrdup(ctxt->name);
@@ -4862,7 +4879,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                     * Handle SCRIPT/STYLE separately
                     */
                    if ((!terminate) &&
-                       (htmlParseLookupSequence(ctxt, '<', '/', 0) < 0))
+                       (htmlParseLookupSequence(ctxt, '<', '/', 0, 0) < 0))
                        goto done;
                    htmlParseScript(ctxt);
                    if ((cur == '<') && (next == '/')) {
@@ -4884,7 +4901,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                        (UPP(6) == 'Y') && (UPP(7) == 'P') &&
                        (UPP(8) == 'E')) {
                        if ((!terminate) &&
-                           (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
+                           (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
                            goto done;
                        if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                            ctxt->sax->error(ctxt->userData,
@@ -4894,7 +4911,8 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                    } else if ((cur == '<') && (next == '!') &&
                        (in->cur[2] == '-') && (in->cur[3] == '-')) {
                        if ((!terminate) &&
-                           (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
+                           (htmlParseLookupSequence(
+                                       ctxt, '-', '-', '>', 1) < 0))
                            goto done;
 #ifdef DEBUG_PUSH
                        xmlGenericError(xmlGenericErrorContext,
@@ -4922,7 +4940,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                        break;
                    } else if (cur == '&') {
                        if ((!terminate) &&
-                           (htmlParseLookupSequence(ctxt, ';', 0, 0) < 0))
+                           (htmlParseLookupSequence(ctxt, ';', 0, 0, 0) < 0))
                            goto done;
 #ifdef DEBUG_PUSH
                        xmlGenericError(xmlGenericErrorContext,
@@ -4931,18 +4949,15 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                        /* TODO: check generation of subtrees if noent !!! */
                        htmlParseReference(ctxt);
                    } else {
-                       /* TODO Avoid the extra copy, handle directly !!!!!! */
-                       /*
-                        * Goal of the following test is:
-                        *  - minimize calls to the SAX 'character' callback
-                        *    when they are mergeable
+                       /*
+                        * check that the text sequence is complete
+                        * before handing out the data to the parser
+                        * to avoid problems with erroneous end of
+                        * data detection.
                         */
-                       if ((ctxt->inputNr == 1) &&
-                           (avail < HTML_PARSER_BIG_BUFFER_SIZE)) {
-                           if ((!terminate) &&
-                               (htmlParseLookupSequence(ctxt, '<', 0, 0) < 0))
-                               goto done;
-                       }
+                       if ((!terminate) &&
+                           (htmlParseLookupSequence(ctxt, '<', 0, 0, 0) < 0))
+                           goto done;
                        ctxt->checkIndex = 0;
 #ifdef DEBUG_PUSH
                        xmlGenericError(xmlGenericErrorContext,
@@ -4968,7 +4983,7 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
                if (avail < 2)
                    goto done;
                if ((!terminate) &&
-                   (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
+                   (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
                    goto done;
                htmlParseEndTag(ctxt);
                if (ctxt->nameNr == 0) {
@@ -5140,12 +5155,27 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
        xmlGenericError(xmlGenericErrorContext, "HPP: pushed %d\n", size);
 #endif
 
+#if 0
        if ((terminate) || (ctxt->input->buf->buffer->use > 80))
            htmlParseTryOrFinish(ctxt, terminate);
+#endif
     } else if (ctxt->instate != XML_PARSER_EOF) {
-       xmlParserInputBufferPush(ctxt->input->buf, 0, "");
-        htmlParseTryOrFinish(ctxt, terminate);
+       if ((ctxt->input != NULL) && ctxt->input->buf != NULL) {
+           xmlParserInputBufferPtr in = ctxt->input->buf;
+           if ((in->encoder != NULL) && (in->buffer != NULL) &&
+                   (in->raw != NULL)) {
+               int nbchars;
+                   
+               nbchars = xmlCharEncInFunc(in->encoder, in->buffer, in->raw);
+               if (nbchars < 0) {
+                   xmlGenericError(xmlGenericErrorContext,
+                                   "htmlParseChunk: encoder error\n");
+                   return(XML_ERR_INVALID_ENCODING);
+               }
+           }
+       }
     }
+    htmlParseTryOrFinish(ctxt, terminate);
     if (terminate) {
        if ((ctxt->instate != XML_PARSER_EOF) &&
            (ctxt->instate != XML_PARSER_EPILOG) &&
@@ -5203,6 +5233,8 @@ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data,
     }
     memset(ctxt, 0, sizeof(htmlParserCtxt));
     htmlInitParserCtxt(ctxt);
+    if(enc==XML_CHAR_ENCODING_UTF8 || buf->encoder)
+       ctxt->charset=XML_CHAR_ENCODING_UTF8;
     if (sax != NULL) {
        if (ctxt->sax != &htmlDefaultSAXHandler)
            xmlFree(ctxt->sax);
@@ -5225,22 +5257,34 @@ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax, void *user_data,
     inputStream = htmlNewInputStream(ctxt);
     if (inputStream == NULL) {
        xmlFreeParserCtxt(ctxt);
+       xmlFree(buf);
        return(NULL);
     }
 
     if (filename == NULL)
        inputStream->filename = NULL;
     else
-       inputStream->filename = xmlMemStrdup(filename);
+       inputStream->filename = (char *)
+           xmlCanonicPath((const xmlChar *) filename);
     inputStream->buf = buf;
     inputStream->base = inputStream->buf->buffer->content;
     inputStream->cur = inputStream->buf->buffer->content;
+    inputStream->end = 
+       &inputStream->buf->buffer->content[inputStream->buf->buffer->use];
 
     inputPush(ctxt, inputStream);
 
     if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) &&
         (ctxt->input->buf != NULL))  {       
+       int base = ctxt->input->base - ctxt->input->buf->buffer->content;
+       int cur = ctxt->input->cur - ctxt->input->base;
+
        xmlParserInputBufferPush(ctxt->input->buf, size, chunk);              
+
+       ctxt->input->base = ctxt->input->buf->buffer->content + base;
+       ctxt->input->cur = ctxt->input->base + cur;
+       ctxt->input->end =
+           &ctxt->input->buf->buffer->content[ctxt->input->buf->buffer->use];
 #ifdef DEBUG_PUSH
        xmlGenericError(xmlGenericErrorContext, "HPP: pushed %d\n", size);
 #endif
@@ -5277,6 +5321,7 @@ htmlSAXParseDoc(xmlChar *cur, const char *encoding, htmlSAXHandlerPtr sax, void
     ctxt = htmlCreateDocParserCtxt(cur, encoding);
     if (ctxt == NULL) return(NULL);
     if (sax != NULL) { 
+        if (ctxt->sax != NULL) xmlFree (ctxt->sax);
         ctxt->sax = sax;
         ctxt->userData = userData;
     }
@@ -5324,13 +5369,10 @@ htmlCreateFileParserCtxt(const char *filename, const char *encoding)
 {
     htmlParserCtxtPtr ctxt;
     htmlParserInputPtr inputStream;
-    xmlParserInputBufferPtr buf;
+    char *canonicFilename;
     /* htmlCharEncoding enc; */
     xmlChar *content, *content_line = (xmlChar *) "charset=";
 
-    buf = xmlParserInputBufferCreateFilename(filename, XML_CHAR_ENCODING_NONE);
-    if (buf == NULL) return(NULL);
-
     ctxt = (htmlParserCtxtPtr) xmlMalloc(sizeof(htmlParserCtxt));
     if (ctxt == NULL) {
         xmlGenericError(xmlGenericErrorContext, "malloc failed\n");
@@ -5338,30 +5380,27 @@ htmlCreateFileParserCtxt(const char *filename, const char *encoding)
     }
     memset(ctxt, 0, sizeof(htmlParserCtxt));
     htmlInitParserCtxt(ctxt);
-    inputStream = (htmlParserInputPtr) xmlMalloc(sizeof(htmlParserInput));
+    canonicFilename = (char *) xmlCanonicPath((const xmlChar *) filename);
+    if (canonicFilename == NULL) {
+       if (xmlDefaultSAXHandler.error != NULL) {
+           xmlDefaultSAXHandler.error(NULL, "out of memory\n");
+       }
+       xmlFreeParserCtxt(ctxt);
+       return(NULL);
+    }
+    
+    inputStream = xmlLoadExternalEntity(canonicFilename, NULL, ctxt);
+    xmlFree(canonicFilename);
     if (inputStream == NULL) {
-        xmlGenericError(xmlGenericErrorContext, "malloc failed\n");
-       xmlFree(ctxt);
+       xmlFreeParserCtxt(ctxt);
        return(NULL);
     }
-    memset(inputStream, 0, sizeof(htmlParserInput));
-
-    inputStream->filename = (char *)
-       xmlCanonicPath((xmlChar *)filename);
-    inputStream->line = 1;
-    inputStream->col = 1;
-    inputStream->buf = buf;
-    inputStream->directory = NULL;
-
-    inputStream->base = inputStream->buf->buffer->content;
-    inputStream->cur = inputStream->buf->buffer->content;
-    inputStream->free = NULL;
 
     inputPush(ctxt, inputStream);
-    
+
     /* set encoding */
     if (encoding) {
-        content = xmlMalloc (xmlStrlen(content_line) + strlen(encoding) + 1);
+        content = xmlMallocAtomic (xmlStrlen(content_line) + strlen(encoding) + 1);
        if (content) {  
            strcpy ((char *)content, (char *)content_line);
             strcat ((char *)content, (char *)encoding);
index 94682bb..4efce27 100644 (file)
@@ -383,6 +383,8 @@ htmlNodeDumpFormat(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur,
  */
 int
 htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
+    xmlInitParser();
+
     return(htmlNodeDumpFormat(buf, doc, cur, 1));
 }
 
@@ -407,6 +409,8 @@ htmlNodeDumpFileFormat(FILE *out, xmlDocPtr doc,
     xmlCharEncodingHandlerPtr handler = NULL;
     int ret;
 
+    xmlInitParser();
+
     if (encoding != NULL) {
        xmlCharEncoding enc;
 
@@ -467,6 +471,8 @@ htmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size) {
     xmlCharEncodingHandlerPtr handler = NULL;
     const char *encoding;
 
+    xmlInitParser();
+
     if (cur == NULL) {
 #ifdef DEBUG_TREE
         xmlGenericError(xmlGenericErrorContext,
@@ -605,14 +611,17 @@ htmlAttrDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlAttrPtr cur,
        value = xmlNodeListGetString(doc, cur->children, 0);
        if (value) {
            xmlOutputBufferWriteString(buf, "=");
-           if ((!xmlStrcasecmp(cur->name, BAD_CAST "href")) ||
-               (!xmlStrcasecmp(cur->name, BAD_CAST "src"))) {
+           if ((cur->ns == NULL) && (cur->parent != NULL) &&
+               (cur->parent->ns == NULL) &&
+               ((!xmlStrcasecmp(cur->name, BAD_CAST "href")) ||
+                (!xmlStrcasecmp(cur->name, BAD_CAST "action")) ||
+                (!xmlStrcasecmp(cur->name, BAD_CAST "src")))) {
                xmlChar *escaped;
                xmlChar *tmp = value;
 
                while (IS_BLANK(*tmp)) tmp++;
 
-               escaped = xmlURIEscapeStr(tmp, BAD_CAST"@/:=?;#%&");
+               escaped = xmlURIEscapeStr(tmp, BAD_CAST"@/:=?;#%&,+");
                if (escaped != NULL) {
                    xmlBufferWriteQuotedString(buf->buffer, escaped);
                    xmlFree(escaped);
@@ -692,6 +701,8 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
                         xmlNodePtr cur, const char *encoding, int format) {
     const htmlElemDesc * info;
 
+    xmlInitParser();
+
     if (cur == NULL) {
         xmlGenericError(xmlGenericErrorContext,
                "htmlNodeDumpFormatOutput : node == NULL\n");
@@ -797,6 +808,10 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
            xmlOutputBufferWriteString(buf, ">");
        } else {
            xmlOutputBufferWriteString(buf, "></");
+            if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
+                xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix);
+                xmlOutputBufferWriteString(buf, ":");
+            }
            xmlOutputBufferWriteString(buf, (const char *)cur->name);
            xmlOutputBufferWriteString(buf, ">");
        }
@@ -882,6 +897,8 @@ htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr cur,
                               const char *encoding, int format) {
     int type;
 
+    xmlInitParser();
+
     /*
      * force to output the stuff as HTML, especially for entities
      */
@@ -933,6 +950,8 @@ htmlDocDump(FILE *f, xmlDocPtr cur) {
     const char *encoding;
     int ret;
 
+    xmlInitParser();
+
     if (cur == NULL) {
 #ifdef DEBUG_TREE
         xmlGenericError(xmlGenericErrorContext,
@@ -993,6 +1012,8 @@ htmlSaveFile(const char *filename, xmlDocPtr cur) {
     const char *encoding;
     int ret;
 
+    xmlInitParser();
+
     encoding = (const char *) htmlGetMetaEncoding(cur);
 
     if (encoding != NULL) {
@@ -1051,6 +1072,8 @@ htmlSaveFileFormat(const char *filename, xmlDocPtr cur,
     xmlCharEncodingHandlerPtr handler = NULL;
     int ret;
 
+    xmlInitParser();
+
     if (encoding != NULL) {
        xmlCharEncoding enc;
 
index 94894ff..bab9ae8 100644 (file)
@@ -39,7 +39,8 @@ libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
 endif
 
 DEPS = $(top_builddir)/libxml2.la
-LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm
+LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@
+
 
 man_MANS = xml2-config.1 libxml.3
 
@@ -116,6 +117,11 @@ testReader_LDFLAGS =
 testReader_DEPENDENCIES = $(DEPS)
 testReader_LDADD= $(LDADDS)
 
+#testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
+#testOOM_LDFLAGS = 
+#testOOM_DEPENDENCIES = $(DEPS)
+#testOOM_LDADD= $(LDADDS)
+
 check-local: tests
 
 testall : tests SVGtests SAXtests
@@ -408,6 +414,8 @@ XIncludetests : xmllint$(EXEEXT)
        @echo "##"
        @echo "## XInclude regression tests"
        @echo "##"
+       @echo "## the warning reported on fallback.xml test is expected"
+       @echo "##"
        -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
          name=`basename $$i`; \
          if [ ! -d $$i ] ; then \
@@ -665,6 +673,7 @@ Schemastests: testSchemas$(EXEEXT)
          name=`basename $$i | sed 's+_.*++'`; \
          sno=`basename $$i | sed 's+.*_\(.*\).xsd+\1+'`; \
          for j in $(srcdir)/test/schemas/"$$name"_*.xml ; do \
+             if [ -f $$j ] ; then \
              xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
              if [ ! -f $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" ]; \
              then \
@@ -683,7 +692,7 @@ Schemastests: testSchemas$(EXEEXT)
                       err.$$name;\
                  grep Unimplemented err.$$name; \
                  rm res.$$name err.$$name ; \
-              fi ; \
+              fi ; fi ;\
          done; done)
 
 Relaxtests: xmllint$(EXEEXT)
@@ -732,9 +741,39 @@ Relaxtests: xmllint$(EXEEXT)
                  rm res.$$name err.$$name ; \
               fi ; fi ; \
          done; done)
+       @echo "##"
+       @echo "## Relax-NG streaming regression tests"
+       @echo "##"
+       @echo "## Some error messages are different than non-streaming"
+       @echo "## and generate small diffs"
+       @echo "##"
+       -@(for i in $(srcdir)/test/relaxng/*.rng ; do \
+         name=`basename $$i | sed 's+\.rng++'`; \
+         for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
+             if [ -f $$j ] ; then \
+             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
+             if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
+             then \
+                 echo New test file "$$name"_"$$xno" ; \
+                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
+                   > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
+                   2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
+             else \
+                 echo Testing "$$name"_"$$xno" ; \
+                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --stream --relaxng $$i $$j \
+                   > res.$$name 2> err.$$name;\
+                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno" \
+                      res.$$name;\
+                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
+                      err.$$name | grep -v "error detected at";\
+                 grep Unimplemented err.$$name; \
+                 rm res.$$name err.$$name ; \
+              fi ; fi ; \
+         done; done)
 
-dist-hook: libxml.spec
-       -cp libxml.spec $(distdir)
+dist-hook: libxml2.spec
+       -cp libxml2.spec $(distdir)
        (cd $(srcdir) ; tar -cf - --exclude CVS win32 macos vms test result SAXresult ) | (cd $(distdir); tar xf -)
 
 cleantar:
@@ -752,7 +791,7 @@ CLEANFILES=xml2Conf.sh
 
 confexecdir=$(libdir)
 confexec_DATA = xml2Conf.sh
-EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml.spec \
+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-xinclude-test-suite.py \
              example/Makefile.am example/gjobread.c example/gjobs.xml \
index 2984800..4c0fdca 100644 (file)
@@ -1,6 +1,8 @@
-# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -10,9 +12,9 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-# AUTOMAKE_ OPTIONS=no-dependencies
-
+@SET_MAKE@
 
+# AUTOMAKE_ OPTIONS=no-dependencies
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -33,13 +35,9 @@ infodir = @infodir@
 mandir = @mandir@
 includedir = @includedir@
 oldincludedir = /usr/include
-
-DESTDIR =
-
 pkgdatadir = $(datadir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
-
 top_builddir = .
 
 ACLOCAL = @ACLOCAL@
@@ -47,12 +45,16 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
-
 NORMAL_INSTALL = :
 PRE_INSTALL = :
 POST_INSTALL = :
@@ -61,17 +63,23 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+AMTAR = @AMTAR@
 AS = @AS@
+AWK = @AWK@
 C14N_OBJ = @C14N_OBJ@
 CATALOG_OBJ = @CATALOG_OBJ@
 CC = @CC@
 CFLAGS = @CFLAGS@
 CPP = @CPP@
 DEBUG_OBJ = @DEBUG_OBJ@
+DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
 DOCB_OBJ = @DOCB_OBJ@
 ECHO = @ECHO@
-EXEEXT = @EXEEXT@
 FTP_OBJ = @FTP_OBJ@
 HAVE_ISINF = @HAVE_ISINF@
 HAVE_ISNAN = @HAVE_ISNAN@
@@ -79,6 +87,7 @@ HTML_DIR = @HTML_DIR@
 HTML_OBJ = @HTML_OBJ@
 HTTP_OBJ = @HTTP_OBJ@
 ICONV_LIBS = @ICONV_LIBS@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LIBTOOL = @LIBTOOL@
 LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
@@ -88,11 +97,9 @@ LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
 MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
 MV = @MV@
 M_LIBS = @M_LIBS@
 OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
@@ -113,6 +120,8 @@ THREAD_CFLAGS = @THREAD_CFLAGS@
 THREAD_LIBS = @THREAD_LIBS@
 U = @U@
 VERSION = @VERSION@
+WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
+WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
 WITH_C14N = @WITH_C14N@
 WITH_CATALOG = @WITH_CATALOG@
 WITH_DEBUG = @WITH_DEBUG@
@@ -121,6 +130,7 @@ WITH_FTP = @WITH_FTP@
 WITH_HTML = @WITH_HTML@
 WITH_HTTP = @WITH_HTTP@
 WITH_ICONV = @WITH_ICONV@
+WITH_ISO8859X = @WITH_ISO8859X@
 WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
 WITH_REGEXPS = @WITH_REGEXPS@
 WITH_SCHEMAS = @WITH_SCHEMAS@
@@ -138,6 +148,10 @@ XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
+am__include = @am__include@
+am__quote = @am__quote@
+install_sh = @install_sh@
+pythondir = @pythondir@
 
 SUBDIRS = include . doc example @PYTHON_SUBDIR@
 
@@ -158,14 +172,16 @@ lib_LTLIBRARIES = libxml2.la
 libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm
 
 libxml2_la_LDFLAGS = -version-info @LIBXML_VERSION_INFO@
-@WITH_TRIO_SOURCES_TRUE@libxml2_la_SOURCES = @WITH_TRIO_SOURCES_TRUE@SAX.c entities.c encoding.c error.c parserInternals.c  \
+
+@WITH_TRIO_SOURCES_TRUE@libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
 @WITH_TRIO_SOURCES_TRUE@               parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
 @WITH_TRIO_SOURCES_TRUE@               valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
 @WITH_TRIO_SOURCES_TRUE@               xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
 @WITH_TRIO_SOURCES_TRUE@               catalog.c globals.c threads.c c14n.c \
 @WITH_TRIO_SOURCES_TRUE@               xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
 @WITH_TRIO_SOURCES_TRUE@               triostr.c trio.c xmlreader.c relaxng.c
-@WITH_TRIO_SOURCES_FALSE@libxml2_la_SOURCES = @WITH_TRIO_SOURCES_FALSE@SAX.c entities.c encoding.c error.c parserInternals.c  \
+
+@WITH_TRIO_SOURCES_FALSE@libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
 @WITH_TRIO_SOURCES_FALSE@              parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
 @WITH_TRIO_SOURCES_FALSE@              valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
 @WITH_TRIO_SOURCES_FALSE@              xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
@@ -173,8 +189,9 @@ libxml2_la_LDFLAGS = -version-info @LIBXML_VERSION_INFO@
 @WITH_TRIO_SOURCES_FALSE@              xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
 @WITH_TRIO_SOURCES_FALSE@              xmlreader.c relaxng.c
 
+
 DEPS = $(top_builddir)/libxml2.la
-LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm
+LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@
 
 man_MANS = xml2-config.1 libxml.3
 
@@ -255,7 +272,7 @@ CLEANFILES = xml2Conf.sh
 
 confexecdir = $(libdir)
 confexec_DATA = xml2Conf.sh
-EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml.spec \
+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-xinclude-test-suite.py \
              example/Makefile.am example/gjobread.c example/gjobs.xml \
@@ -274,324 +291,413 @@ pkgconfig_DATA = libxml-2.0.pc
 BASE_DIR = $(datadir)/doc
 DOC_MODULE = libxml2-$(VERSION)
 EXAMPLES_DIR = $(BASE_DIR)/$(DOC_MODULE)/examples
+subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =  libxml.spec xml2-config libxml-2.0.pc xml2Conf.sh
-LTLIBRARIES =  $(lib_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I.
+CONFIG_CLEAN_FILES = libxml2.spec xml2-config libxml-2.0.pc xml2Conf.sh
+LTLIBRARIES = $(lib_LTLIBRARIES)
+
+libxml2_la_DEPENDENCIES =
+@WITH_TRIO_SOURCES_TRUE@am_libxml2_la_OBJECTS = SAX.lo entities.lo \
+@WITH_TRIO_SOURCES_TRUE@       encoding.lo error.lo parserInternals.lo \
+@WITH_TRIO_SOURCES_TRUE@       parser.lo tree.lo hash.lo list.lo \
+@WITH_TRIO_SOURCES_TRUE@       xmlIO.lo xmlmemory.lo uri.lo valid.lo \
+@WITH_TRIO_SOURCES_TRUE@       xlink.lo HTMLparser.lo HTMLtree.lo \
+@WITH_TRIO_SOURCES_TRUE@       debugXML.lo xpath.lo xpointer.lo \
+@WITH_TRIO_SOURCES_TRUE@       xinclude.lo nanohttp.lo nanoftp.lo \
+@WITH_TRIO_SOURCES_TRUE@       DOCBparser.lo catalog.lo globals.lo \
+@WITH_TRIO_SOURCES_TRUE@       threads.lo c14n.lo xmlregexp.lo \
+@WITH_TRIO_SOURCES_TRUE@       xmlschemas.lo xmlschemastypes.lo \
+@WITH_TRIO_SOURCES_TRUE@       xmlunicode.lo triostr.lo trio.lo \
+@WITH_TRIO_SOURCES_TRUE@       xmlreader.lo relaxng.lo
+@WITH_TRIO_SOURCES_FALSE@am_libxml2_la_OBJECTS = SAX.lo entities.lo \
+@WITH_TRIO_SOURCES_FALSE@      encoding.lo error.lo \
+@WITH_TRIO_SOURCES_FALSE@      parserInternals.lo parser.lo tree.lo \
+@WITH_TRIO_SOURCES_FALSE@      hash.lo list.lo xmlIO.lo xmlmemory.lo \
+@WITH_TRIO_SOURCES_FALSE@      uri.lo valid.lo xlink.lo HTMLparser.lo \
+@WITH_TRIO_SOURCES_FALSE@      HTMLtree.lo debugXML.lo xpath.lo \
+@WITH_TRIO_SOURCES_FALSE@      xpointer.lo xinclude.lo nanohttp.lo \
+@WITH_TRIO_SOURCES_FALSE@      nanoftp.lo DOCBparser.lo catalog.lo \
+@WITH_TRIO_SOURCES_FALSE@      globals.lo threads.lo c14n.lo \
+@WITH_TRIO_SOURCES_FALSE@      xmlregexp.lo xmlschemas.lo \
+@WITH_TRIO_SOURCES_FALSE@      xmlschemastypes.lo xmlunicode.lo \
+@WITH_TRIO_SOURCES_FALSE@      xmlreader.lo relaxng.lo
+libxml2_la_OBJECTS = $(am_libxml2_la_OBJECTS)
+bin_PROGRAMS = xmllint$(EXEEXT) xmlcatalog$(EXEEXT)
+noinst_PROGRAMS = testSchemas$(EXEEXT) testRelax$(EXEEXT) \
+       testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) \
+       testURI$(EXEEXT) testDocbook$(EXEEXT) testThreads$(EXEEXT) \
+       testC14N$(EXEEXT) testAutomata$(EXEEXT) testRegexp$(EXEEXT) \
+       testReader$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
+
+am_testAutomata_OBJECTS = testAutomata.$(OBJEXT)
+testAutomata_OBJECTS = $(am_testAutomata_OBJECTS)
+am_testC14N_OBJECTS = testC14N.$(OBJEXT)
+testC14N_OBJECTS = $(am_testC14N_OBJECTS)
+am_testDocbook_OBJECTS = testDocbook.$(OBJEXT)
+testDocbook_OBJECTS = $(am_testDocbook_OBJECTS)
+am_testHTML_OBJECTS = testHTML.$(OBJEXT)
+testHTML_OBJECTS = $(am_testHTML_OBJECTS)
+am_testReader_OBJECTS = testReader.$(OBJEXT)
+testReader_OBJECTS = $(am_testReader_OBJECTS)
+am_testRegexp_OBJECTS = testRegexp.$(OBJEXT)
+testRegexp_OBJECTS = $(am_testRegexp_OBJECTS)
+am_testRelax_OBJECTS = testRelax.$(OBJEXT)
+testRelax_OBJECTS = $(am_testRelax_OBJECTS)
+am_testSAX_OBJECTS = testSAX.$(OBJEXT)
+testSAX_OBJECTS = $(am_testSAX_OBJECTS)
+am_testSchemas_OBJECTS = testSchemas.$(OBJEXT)
+testSchemas_OBJECTS = $(am_testSchemas_OBJECTS)
+am_testThreads_OBJECTS = testThreads.$(OBJEXT)
+testThreads_OBJECTS = $(am_testThreads_OBJECTS)
+am_testURI_OBJECTS = testURI.$(OBJEXT)
+testURI_OBJECTS = $(am_testURI_OBJECTS)
+am_testXPath_OBJECTS = testXPath.$(OBJEXT)
+testXPath_OBJECTS = $(am_testXPath_OBJECTS)
+am_xmlcatalog_OBJECTS = xmlcatalog.$(OBJEXT)
+xmlcatalog_OBJECTS = $(am_xmlcatalog_OBJECTS)
+am_xmllint_OBJECTS = xmllint.$(OBJEXT)
+xmllint_OBJECTS = $(am_xmllint_OBJECTS)
+SCRIPTS = $(bin_SCRIPTS)
+
+
+DEFS = @DEFS@
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I.
 CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
-libxml2_la_DEPENDENCIES = 
-@WITH_TRIO_SOURCES_FALSE@libxml2_la_OBJECTS =  SAX.lo entities.lo \
-@WITH_TRIO_SOURCES_FALSE@encoding.lo error.lo parserInternals.lo \
-@WITH_TRIO_SOURCES_FALSE@parser.lo tree.lo hash.lo list.lo xmlIO.lo \
-@WITH_TRIO_SOURCES_FALSE@xmlmemory.lo uri.lo valid.lo xlink.lo \
-@WITH_TRIO_SOURCES_FALSE@HTMLparser.lo HTMLtree.lo debugXML.lo xpath.lo \
-@WITH_TRIO_SOURCES_FALSE@xpointer.lo xinclude.lo nanohttp.lo nanoftp.lo \
-@WITH_TRIO_SOURCES_FALSE@DOCBparser.lo catalog.lo globals.lo threads.lo \
-@WITH_TRIO_SOURCES_FALSE@c14n.lo xmlregexp.lo xmlschemas.lo \
-@WITH_TRIO_SOURCES_FALSE@xmlschemastypes.lo xmlunicode.lo xmlreader.lo \
-@WITH_TRIO_SOURCES_FALSE@relaxng.lo
-@WITH_TRIO_SOURCES_TRUE@libxml2_la_OBJECTS =  SAX.lo entities.lo \
-@WITH_TRIO_SOURCES_TRUE@encoding.lo error.lo parserInternals.lo \
-@WITH_TRIO_SOURCES_TRUE@parser.lo tree.lo hash.lo list.lo xmlIO.lo \
-@WITH_TRIO_SOURCES_TRUE@xmlmemory.lo uri.lo valid.lo xlink.lo \
-@WITH_TRIO_SOURCES_TRUE@HTMLparser.lo HTMLtree.lo debugXML.lo xpath.lo \
-@WITH_TRIO_SOURCES_TRUE@xpointer.lo xinclude.lo nanohttp.lo nanoftp.lo \
-@WITH_TRIO_SOURCES_TRUE@DOCBparser.lo catalog.lo globals.lo threads.lo \
-@WITH_TRIO_SOURCES_TRUE@c14n.lo xmlregexp.lo xmlschemas.lo \
-@WITH_TRIO_SOURCES_TRUE@xmlschemastypes.lo xmlunicode.lo triostr.lo \
-@WITH_TRIO_SOURCES_TRUE@trio.lo xmlreader.lo relaxng.lo
-bin_PROGRAMS =  xmllint$(EXEEXT) xmlcatalog$(EXEEXT)
-noinst_PROGRAMS =  testSchemas$(EXEEXT) testRelax$(EXEEXT) \
-testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) testURI$(EXEEXT) \
-testDocbook$(EXEEXT) testThreads$(EXEEXT) testC14N$(EXEEXT) \
-testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT)
-PROGRAMS =  $(bin_PROGRAMS) $(noinst_PROGRAMS)
-
-xmllint_OBJECTS =  xmllint.$(OBJEXT)
-xmlcatalog_OBJECTS =  xmlcatalog.$(OBJEXT)
-testSchemas_OBJECTS =  testSchemas.$(OBJEXT)
-testRelax_OBJECTS =  testRelax.$(OBJEXT)
-testSAX_OBJECTS =  testSAX.$(OBJEXT)
-testHTML_OBJECTS =  testHTML.$(OBJEXT)
-testXPath_OBJECTS =  testXPath.$(OBJEXT)
-testURI_OBJECTS =  testURI.$(OBJEXT)
-testDocbook_OBJECTS =  testDocbook.$(OBJEXT)
-testThreads_OBJECTS =  testThreads.$(OBJEXT)
-testC14N_OBJECTS =  testC14N.$(OBJEXT)
-testAutomata_OBJECTS =  testAutomata.$(OBJEXT)
-testRegexp_OBJECTS =  testRegexp.$(OBJEXT)
-testReader_OBJECTS =  testReader.$(OBJEXT)
-SCRIPTS =  $(bin_SCRIPTS)
-
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/DOCBparser.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/HTMLparser.Plo ./$(DEPDIR)/HTMLtree.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/SAX.Plo ./$(DEPDIR)/c14n.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/catalog.Plo ./$(DEPDIR)/debugXML.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/encoding.Plo ./$(DEPDIR)/entities.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/error.Plo ./$(DEPDIR)/globals.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/hash.Plo ./$(DEPDIR)/list.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/nanoftp.Plo ./$(DEPDIR)/nanohttp.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/parser.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/parserInternals.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/relaxng.Plo ./$(DEPDIR)/testAutomata.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/testC14N.Po ./$(DEPDIR)/testDocbook.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/testHTML.Po ./$(DEPDIR)/testReader.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/testRegexp.Po ./$(DEPDIR)/testRelax.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/testSAX.Po ./$(DEPDIR)/testSchemas.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/testThreads.Po ./$(DEPDIR)/testURI.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/testXPath.Po ./$(DEPDIR)/threads.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/tree.Plo ./$(DEPDIR)/trio.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/triostr.Plo ./$(DEPDIR)/uri.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/valid.Plo ./$(DEPDIR)/xinclude.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/xlink.Plo ./$(DEPDIR)/xmlIO.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/xmlcatalog.Po ./$(DEPDIR)/xmllint.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/xmlmemory.Plo ./$(DEPDIR)/xmlreader.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/xmlregexp.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/xmlschemas.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/xmlschemastypes.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/xmlunicode.Plo ./$(DEPDIR)/xpath.Plo \
+@AMDEP_TRUE@   ./$(DEPDIR)/xpointer.Plo
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+       $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-man1dir = $(mandir)/man1
-man3dir = $(mandir)/man3
-MANS = $(man_MANS)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(libxml2_la_SOURCES) $(testAutomata_SOURCES) \
+       $(testC14N_SOURCES) $(testDocbook_SOURCES) $(testHTML_SOURCES) \
+       $(testReader_SOURCES) $(testRegexp_SOURCES) \
+       $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
+       $(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) \
+       $(xmlcatalog_SOURCES) $(xmllint_SOURCES)
 
 NROFF = nroff
-DATA =  $(confexec_DATA) $(m4data_DATA) $(pkgconfig_DATA)
-
-DIST_COMMON =  README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
-Makefile.am Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 \
-config.guess config.h.in config.sub configure configure.in install-sh \
-libxml-2.0.pc.in libxml.spec.in ltconfig ltmain.sh missing \
-mkinstalldirs xml2-config.in xml2Conf.sh.in
+MANS = $(man_MANS)
+DATA = $(confexec_DATA) $(m4data_DATA) $(pkgconfig_DATA)
 
 
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
+       uninstall-info-recursive all-recursive install-data-recursive \
+       install-exec-recursive installdirs-recursive install-recursive \
+       uninstall-recursive check-recursive installcheck-recursive
+DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
+       Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 \
+       config.guess config.h.in config.sub configure configure.in \
+       depcomp install-sh libxml-2.0.pc.in libxml.spec.in ltconfig \
+       ltmain.sh missing mkinstalldirs xml2-config.in xml2Conf.sh.in
+SOURCES = $(libxml2_la_SOURCES) $(testAutomata_SOURCES) $(testC14N_SOURCES) $(testDocbook_SOURCES) $(testHTML_SOURCES) $(testReader_SOURCES) $(testRegexp_SOURCES) $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) $(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) $(xmlcatalog_SOURCES) $(xmllint_SOURCES)
 
-GZIP_ENV = --best
-SOURCES = $(libxml2_la_SOURCES) $(xmllint_SOURCES) $(xmlcatalog_SOURCES) $(testSchemas_SOURCES) $(testRelax_SOURCES) $(testSAX_SOURCES) $(testHTML_SOURCES) $(testXPath_SOURCES) $(testURI_SOURCES) $(testDocbook_SOURCES) $(testThreads_SOURCES) $(testC14N_SOURCES) $(testAutomata_SOURCES) $(testRegexp_SOURCES) $(testReader_SOURCES)
-OBJECTS = $(libxml2_la_OBJECTS) $(xmllint_OBJECTS) $(xmlcatalog_OBJECTS) $(testSchemas_OBJECTS) $(testRelax_OBJECTS) $(testSAX_OBJECTS) $(testHTML_OBJECTS) $(testXPath_OBJECTS) $(testURI_OBJECTS) $(testDocbook_OBJECTS) $(testThreads_OBJECTS) $(testC14N_OBJECTS) $(testAutomata_OBJECTS) $(testRegexp_OBJECTS) $(testReader_OBJECTS)
+all: config.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
-all: all-redirect
 .SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) \
-         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+.SUFFIXES: .c .lo .o .obj
 
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in  acinclude.m4
-       cd $(srcdir) && $(ACLOCAL)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --gnu  Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
 
-config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
-$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
        cd $(srcdir) && $(AUTOCONF)
 
-config.h: stamp-h
-       @if test ! -f $@; then \
-               rm -f stamp-h; \
-               $(MAKE) stamp-h; \
-       else :; fi
-stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
-       cd $(top_builddir) \
-         && CONFIG_FILES= CONFIG_HEADERS=config.h \
-            $(SHELL) ./config.status
-       @echo timestamp > stamp-h 2> /dev/null
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
+       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
        @if test ! -f $@; then \
-               rm -f $(srcdir)/stamp-h.in; \
-               $(MAKE) $(srcdir)/stamp-h.in; \
+         rm -f stamp-h1; \
+         $(MAKE) stamp-h1; \
        else :; fi
-$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
-       cd $(top_srcdir) && $(AUTOHEADER)
-       @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
 
-mostlyclean-hdr:
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+       @rm -f stamp-h1
+       cd $(top_builddir) && $(SHELL) ./config.status config.h
 
-clean-hdr:
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h