[xml/sgml-commit] r352 - in packages/libxml2/branches/unstable: . debian doc doc/examples doc/html doc/tutorial example include include/libxml python python/tests result result/HTML result/VC result/catalogs result/noent result/schemas result/scripts test test/HTML test/VC test/VCM test/catalogs test/schemas test/scripts vms win32 xstc

Mike Hommey glandium at costa.debian.org
Wed Sep 14 02:20:11 UTC 2005


Author: glandium
Date: 2005-02-16 20:06:11 +0100 (Wed, 16 Feb 2005)
New Revision: 352

Added:
   packages/libxml2/branches/unstable/debian/python2.3-libxml2.examples
   packages/libxml2/branches/unstable/debian/python2.3-libxml2.install
   packages/libxml2/branches/unstable/doc/examples/index.html
   packages/libxml2/branches/unstable/doc/examples/reader4.c
   packages/libxml2/branches/unstable/doc/examples/reader4.res
   packages/libxml2/branches/unstable/gentest.py
   packages/libxml2/branches/unstable/python/tests/dtdvalid.py
   packages/libxml2/branches/unstable/python/tests/schema.py
   packages/libxml2/branches/unstable/python/tests/test.dtd
   packages/libxml2/branches/unstable/result/HTML/python.html
   packages/libxml2/branches/unstable/result/HTML/python.html.err
   packages/libxml2/branches/unstable/result/HTML/python.html.sax
   packages/libxml2/branches/unstable/result/VC/AttributeNmtokens
   packages/libxml2/branches/unstable/result/catalogs/whites
   packages/libxml2/branches/unstable/result/catalogs/whitex
   packages/libxml2/branches/unstable/result/ent10
   packages/libxml2/branches/unstable/result/ent10.rde
   packages/libxml2/branches/unstable/result/ent10.rdr
   packages/libxml2/branches/unstable/result/ent10.sax
   packages/libxml2/branches/unstable/result/noent/ent10
   packages/libxml2/branches/unstable/result/noent/ns5
   packages/libxml2/branches/unstable/result/ns5
   packages/libxml2/branches/unstable/result/ns5.rde
   packages/libxml2/branches/unstable/result/ns5.rdr
   packages/libxml2/branches/unstable/result/ns5.sax
   packages/libxml2/branches/unstable/result/schemas/annot-err_0_0
   packages/libxml2/branches/unstable/result/schemas/annot-err_0_0.err
   packages/libxml2/branches/unstable/result/schemas/any1_0_0
   packages/libxml2/branches/unstable/result/schemas/any1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/any2_0_0
   packages/libxml2/branches/unstable/result/schemas/any2_0_0.err
   packages/libxml2/branches/unstable/result/schemas/any3_0_0
   packages/libxml2/branches/unstable/result/schemas/any3_0_0.err
   packages/libxml2/branches/unstable/result/schemas/any4_0_0
   packages/libxml2/branches/unstable/result/schemas/any4_0_0.err
   packages/libxml2/branches/unstable/result/schemas/bug141333_0_0
   packages/libxml2/branches/unstable/result/schemas/bug141333_0_0.err
   packages/libxml2/branches/unstable/result/schemas/bug145246_0_0
   packages/libxml2/branches/unstable/result/schemas/bug145246_0_0.err
   packages/libxml2/branches/unstable/result/schemas/bug152470_1_1
   packages/libxml2/branches/unstable/result/schemas/bug152470_1_1.err
   packages/libxml2/branches/unstable/result/schemas/ct-sc-nobase_0_0
   packages/libxml2/branches/unstable/result/schemas/ct-sc-nobase_0_0.err
   packages/libxml2/branches/unstable/result/schemas/element-err_0_0
   packages/libxml2/branches/unstable/result/schemas/element-err_0_0.err
   packages/libxml2/branches/unstable/result/schemas/element-minmax-err_0_0
   packages/libxml2/branches/unstable/result/schemas/element-minmax-err_0_0.err
   packages/libxml2/branches/unstable/result/schemas/facet-whiteSpace_0_0
   packages/libxml2/branches/unstable/result/schemas/facet-whiteSpace_0_0.err
   packages/libxml2/branches/unstable/result/schemas/import1_0_0
   packages/libxml2/branches/unstable/result/schemas/import1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/import2_0_0
   packages/libxml2/branches/unstable/result/schemas/import2_0_0.err
   packages/libxml2/branches/unstable/result/schemas/include1_0_0
   packages/libxml2/branches/unstable/result/schemas/include1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/include2_0_0
   packages/libxml2/branches/unstable/result/schemas/include2_0_0.err
   packages/libxml2/branches/unstable/result/schemas/include3_0_0
   packages/libxml2/branches/unstable/result/schemas/include3_0_0.err
   packages/libxml2/branches/unstable/result/schemas/restrict-CT-attr-ref_0_0
   packages/libxml2/branches/unstable/result/schemas/restrict-CT-attr-ref_0_0.err
   packages/libxml2/branches/unstable/result/schemas/restriction-attr1_0_0
   packages/libxml2/branches/unstable/result/schemas/restriction-attr1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/seq-dubl-elem1_0_0
   packages/libxml2/branches/unstable/result/schemas/seq-dubl-elem1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/xsd-list-itemType_0_0
   packages/libxml2/branches/unstable/result/schemas/xsd-list-itemType_0_0.err
   packages/libxml2/branches/unstable/result/scripts/base.err
   packages/libxml2/branches/unstable/result/scripts/base2.err
   packages/libxml2/branches/unstable/result/scripts/set1
   packages/libxml2/branches/unstable/result/scripts/set1.err
   packages/libxml2/branches/unstable/result/scripts/set2
   packages/libxml2/branches/unstable/result/scripts/set2.err
   packages/libxml2/branches/unstable/result/scripts/set3
   packages/libxml2/branches/unstable/result/scripts/set3.err
   packages/libxml2/branches/unstable/result/scripts/set4
   packages/libxml2/branches/unstable/result/scripts/set4.err
   packages/libxml2/branches/unstable/test/HTML/python.html
   packages/libxml2/branches/unstable/test/VC/AttributeNmtokens
   packages/libxml2/branches/unstable/test/VCM/AttributeNmtokens.xml
   packages/libxml2/branches/unstable/test/catalogs/whites.script
   packages/libxml2/branches/unstable/test/catalogs/whites.sgml
   packages/libxml2/branches/unstable/test/catalogs/whitex.script
   packages/libxml2/branches/unstable/test/catalogs/whitex.xml
   packages/libxml2/branches/unstable/test/ent10
   packages/libxml2/branches/unstable/test/ns5
   packages/libxml2/branches/unstable/test/schemas/annot-err_0.xml
   packages/libxml2/branches/unstable/test/schemas/annot-err_0.xsd
   packages/libxml2/branches/unstable/test/schemas/any1_0.xml
   packages/libxml2/branches/unstable/test/schemas/any1_0.xsd
   packages/libxml2/branches/unstable/test/schemas/any2_0.xml
   packages/libxml2/branches/unstable/test/schemas/any2_0.xsd
   packages/libxml2/branches/unstable/test/schemas/any3_0.xml
   packages/libxml2/branches/unstable/test/schemas/any3_0.xsd
   packages/libxml2/branches/unstable/test/schemas/any4_0.xml
   packages/libxml2/branches/unstable/test/schemas/any4_0.xsd
   packages/libxml2/branches/unstable/test/schemas/bug141333_0.xml
   packages/libxml2/branches/unstable/test/schemas/bug141333_0.xsd
   packages/libxml2/branches/unstable/test/schemas/bug145246.xsd.imp
   packages/libxml2/branches/unstable/test/schemas/bug145246_0.xml
   packages/libxml2/branches/unstable/test/schemas/bug145246_0.xsd
   packages/libxml2/branches/unstable/test/schemas/bug152470_1.xml
   packages/libxml2/branches/unstable/test/schemas/bug152470_1.xsd
   packages/libxml2/branches/unstable/test/schemas/ct-sc-nobase_0.xml
   packages/libxml2/branches/unstable/test/schemas/ct-sc-nobase_0.xsd
   packages/libxml2/branches/unstable/test/schemas/element-err_0.xml
   packages/libxml2/branches/unstable/test/schemas/element-err_0.xsd
   packages/libxml2/branches/unstable/test/schemas/element-minmax-err_0.xml
   packages/libxml2/branches/unstable/test/schemas/element-minmax-err_0.xsd
   packages/libxml2/branches/unstable/test/schemas/facet-whiteSpace_0.xml
   packages/libxml2/branches/unstable/test/schemas/facet-whiteSpace_0.xsd
   packages/libxml2/branches/unstable/test/schemas/import-bad-1_0.imp
   packages/libxml2/branches/unstable/test/schemas/import1_0.imp
   packages/libxml2/branches/unstable/test/schemas/import1_0.xml
   packages/libxml2/branches/unstable/test/schemas/import1_0.xsd
   packages/libxml2/branches/unstable/test/schemas/import1_0b.imp
   packages/libxml2/branches/unstable/test/schemas/import2_0.imp
   packages/libxml2/branches/unstable/test/schemas/import2_0.xml
   packages/libxml2/branches/unstable/test/schemas/import2_0.xsd
   packages/libxml2/branches/unstable/test/schemas/include1_0.inc
   packages/libxml2/branches/unstable/test/schemas/include1_0.xml
   packages/libxml2/branches/unstable/test/schemas/include1_0.xsd
   packages/libxml2/branches/unstable/test/schemas/include2_0.inc
   packages/libxml2/branches/unstable/test/schemas/include2_0.xml
   packages/libxml2/branches/unstable/test/schemas/include2_0.xsd
   packages/libxml2/branches/unstable/test/schemas/include3_0.inc
   packages/libxml2/branches/unstable/test/schemas/include3_0.xml
   packages/libxml2/branches/unstable/test/schemas/include3_0.xsd
   packages/libxml2/branches/unstable/test/schemas/restrict-CT-attr-ref_0.xml
   packages/libxml2/branches/unstable/test/schemas/restrict-CT-attr-ref_0.xsd
   packages/libxml2/branches/unstable/test/schemas/restriction-attr1_0.xml
   packages/libxml2/branches/unstable/test/schemas/restriction-attr1_0.xsd
   packages/libxml2/branches/unstable/test/schemas/seq-dubl-elem1_0.xml
   packages/libxml2/branches/unstable/test/schemas/seq-dubl-elem1_0.xsd
   packages/libxml2/branches/unstable/test/schemas/xml.xsd
   packages/libxml2/branches/unstable/test/schemas/xsd-list-itemType_0.xml
   packages/libxml2/branches/unstable/test/schemas/xsd-list-itemType_0.xsd
   packages/libxml2/branches/unstable/test/scripts/set1.script
   packages/libxml2/branches/unstable/test/scripts/set1.xml
   packages/libxml2/branches/unstable/test/scripts/set2.script
   packages/libxml2/branches/unstable/test/scripts/set2.xml
   packages/libxml2/branches/unstable/test/scripts/set3.script
   packages/libxml2/branches/unstable/test/scripts/set3.xml
   packages/libxml2/branches/unstable/test/scripts/set4.script
   packages/libxml2/branches/unstable/test/scripts/set4.xml
   packages/libxml2/branches/unstable/testapi.c
   packages/libxml2/branches/unstable/xstc/
Removed:
   packages/libxml2/branches/unstable/debian/libxml2-python2.3.examples
   packages/libxml2/branches/unstable/debian/libxml2-python2.3.install
   packages/libxml2/branches/unstable/debian/shlibs.local
   packages/libxml2/branches/unstable/doc/examples/index.html
Modified:
   packages/libxml2/branches/unstable/ChangeLog
   packages/libxml2/branches/unstable/HTMLparser.c
   packages/libxml2/branches/unstable/HTMLtree.c
   packages/libxml2/branches/unstable/Makefile.am
   packages/libxml2/branches/unstable/Makefile.in
   packages/libxml2/branches/unstable/NEWS
   packages/libxml2/branches/unstable/SAX.c
   packages/libxml2/branches/unstable/SAX2.c
   packages/libxml2/branches/unstable/TODO
   packages/libxml2/branches/unstable/acconfig.h
   packages/libxml2/branches/unstable/aclocal.m4
   packages/libxml2/branches/unstable/autogen.sh
   packages/libxml2/branches/unstable/catalog.c
   packages/libxml2/branches/unstable/check-relaxng-test-suite.py
   packages/libxml2/branches/unstable/check-relaxng-test-suite2.py
   packages/libxml2/branches/unstable/check-xinclude-test-suite.py
   packages/libxml2/branches/unstable/check-xml-test-suite.py
   packages/libxml2/branches/unstable/check-xsddata-test-suite.py
   packages/libxml2/branches/unstable/chvalid.c
   packages/libxml2/branches/unstable/config.guess
   packages/libxml2/branches/unstable/config.h.in
   packages/libxml2/branches/unstable/config.sub
   packages/libxml2/branches/unstable/configure
   packages/libxml2/branches/unstable/configure.in
   packages/libxml2/branches/unstable/debian/README.Debian
   packages/libxml2/branches/unstable/debian/changelog
   packages/libxml2/branches/unstable/debian/control
   packages/libxml2/branches/unstable/debian/libxml2-doc.doc-base
   packages/libxml2/branches/unstable/debian/no-upstream-changelog
   packages/libxml2/branches/unstable/debian/rules
   packages/libxml2/branches/unstable/debugXML.c
   packages/libxml2/branches/unstable/dict.c
   packages/libxml2/branches/unstable/doc/APIchunk0.html
   packages/libxml2/branches/unstable/doc/APIchunk1.html
   packages/libxml2/branches/unstable/doc/APIchunk10.html
   packages/libxml2/branches/unstable/doc/APIchunk11.html
   packages/libxml2/branches/unstable/doc/APIchunk12.html
   packages/libxml2/branches/unstable/doc/APIchunk13.html
   packages/libxml2/branches/unstable/doc/APIchunk14.html
   packages/libxml2/branches/unstable/doc/APIchunk15.html
   packages/libxml2/branches/unstable/doc/APIchunk16.html
   packages/libxml2/branches/unstable/doc/APIchunk17.html
   packages/libxml2/branches/unstable/doc/APIchunk18.html
   packages/libxml2/branches/unstable/doc/APIchunk19.html
   packages/libxml2/branches/unstable/doc/APIchunk2.html
   packages/libxml2/branches/unstable/doc/APIchunk20.html
   packages/libxml2/branches/unstable/doc/APIchunk21.html
   packages/libxml2/branches/unstable/doc/APIchunk22.html
   packages/libxml2/branches/unstable/doc/APIchunk23.html
   packages/libxml2/branches/unstable/doc/APIchunk24.html
   packages/libxml2/branches/unstable/doc/APIchunk25.html
   packages/libxml2/branches/unstable/doc/APIchunk26.html
   packages/libxml2/branches/unstable/doc/APIchunk27.html
   packages/libxml2/branches/unstable/doc/APIchunk3.html
   packages/libxml2/branches/unstable/doc/APIchunk4.html
   packages/libxml2/branches/unstable/doc/APIchunk5.html
   packages/libxml2/branches/unstable/doc/APIchunk6.html
   packages/libxml2/branches/unstable/doc/APIchunk7.html
   packages/libxml2/branches/unstable/doc/APIchunk8.html
   packages/libxml2/branches/unstable/doc/APIchunk9.html
   packages/libxml2/branches/unstable/doc/APIconstructors.html
   packages/libxml2/branches/unstable/doc/APIfiles.html
   packages/libxml2/branches/unstable/doc/APIfunctions.html
   packages/libxml2/branches/unstable/doc/APIsymbols.html
   packages/libxml2/branches/unstable/doc/ChangeLog.xsl
   packages/libxml2/branches/unstable/doc/DOM.html
   packages/libxml2/branches/unstable/doc/FAQ.html
   packages/libxml2/branches/unstable/doc/Makefile.am
   packages/libxml2/branches/unstable/doc/Makefile.in
   packages/libxml2/branches/unstable/doc/XMLinfo.html
   packages/libxml2/branches/unstable/doc/XSLT.html
   packages/libxml2/branches/unstable/doc/api.xsl
   packages/libxml2/branches/unstable/doc/apibuild.py
   packages/libxml2/branches/unstable/doc/architecture.html
   packages/libxml2/branches/unstable/doc/bugs.html
   packages/libxml2/branches/unstable/doc/catalog.html
   packages/libxml2/branches/unstable/doc/contribs.html
   packages/libxml2/branches/unstable/doc/docs.html
   packages/libxml2/branches/unstable/doc/downloads.html
   packages/libxml2/branches/unstable/doc/encoding.html
   packages/libxml2/branches/unstable/doc/entities.html
   packages/libxml2/branches/unstable/doc/example.html
   packages/libxml2/branches/unstable/doc/examples/Makefile.am
   packages/libxml2/branches/unstable/doc/examples/Makefile.in
   packages/libxml2/branches/unstable/doc/examples/examples.xml
   packages/libxml2/branches/unstable/doc/examples/index.py
   packages/libxml2/branches/unstable/doc/examples/reader3.c
   packages/libxml2/branches/unstable/doc/examples/testWriter.c
   packages/libxml2/branches/unstable/doc/examples/tree1.c
   packages/libxml2/branches/unstable/doc/help.html
   packages/libxml2/branches/unstable/doc/html/book1.html
   packages/libxml2/branches/unstable/doc/html/index.html
   packages/libxml2/branches/unstable/doc/html/libxml-DOCBparser.html
   packages/libxml2/branches/unstable/doc/html/libxml-HTMLparser.html
   packages/libxml2/branches/unstable/doc/html/libxml-HTMLtree.html
   packages/libxml2/branches/unstable/doc/html/libxml-SAX.html
   packages/libxml2/branches/unstable/doc/html/libxml-SAX2.html
   packages/libxml2/branches/unstable/doc/html/libxml-c14n.html
   packages/libxml2/branches/unstable/doc/html/libxml-catalog.html
   packages/libxml2/branches/unstable/doc/html/libxml-chvalid.html
   packages/libxml2/branches/unstable/doc/html/libxml-debugXML.html
   packages/libxml2/branches/unstable/doc/html/libxml-dict.html
   packages/libxml2/branches/unstable/doc/html/libxml-encoding.html
   packages/libxml2/branches/unstable/doc/html/libxml-entities.html
   packages/libxml2/branches/unstable/doc/html/libxml-globals.html
   packages/libxml2/branches/unstable/doc/html/libxml-hash.html
   packages/libxml2/branches/unstable/doc/html/libxml-lib.html
   packages/libxml2/branches/unstable/doc/html/libxml-list.html
   packages/libxml2/branches/unstable/doc/html/libxml-nanoftp.html
   packages/libxml2/branches/unstable/doc/html/libxml-nanohttp.html
   packages/libxml2/branches/unstable/doc/html/libxml-parser.html
   packages/libxml2/branches/unstable/doc/html/libxml-parserInternals.html
   packages/libxml2/branches/unstable/doc/html/libxml-pattern.html
   packages/libxml2/branches/unstable/doc/html/libxml-relaxng.html
   packages/libxml2/branches/unstable/doc/html/libxml-schemasInternals.html
   packages/libxml2/branches/unstable/doc/html/libxml-threads.html
   packages/libxml2/branches/unstable/doc/html/libxml-tree.html
   packages/libxml2/branches/unstable/doc/html/libxml-uri.html
   packages/libxml2/branches/unstable/doc/html/libxml-valid.html
   packages/libxml2/branches/unstable/doc/html/libxml-xinclude.html
   packages/libxml2/branches/unstable/doc/html/libxml-xlink.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlIO.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlautomata.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlerror.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlexports.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlmemory.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlreader.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlregexp.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlsave.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlschemas.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlschemastypes.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlstring.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlunicode.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlversion.html
   packages/libxml2/branches/unstable/doc/html/libxml-xmlwriter.html
   packages/libxml2/branches/unstable/doc/html/libxml-xpath.html
   packages/libxml2/branches/unstable/doc/html/libxml-xpathInternals.html
   packages/libxml2/branches/unstable/doc/html/libxml-xpointer.html
   packages/libxml2/branches/unstable/doc/index.html
   packages/libxml2/branches/unstable/doc/interface.html
   packages/libxml2/branches/unstable/doc/intro.html
   packages/libxml2/branches/unstable/doc/library.html
   packages/libxml2/branches/unstable/doc/libxml2-api.xml
   packages/libxml2/branches/unstable/doc/libxml2.xsa
   packages/libxml2/branches/unstable/doc/namespaces.html
   packages/libxml2/branches/unstable/doc/newapi.xsl
   packages/libxml2/branches/unstable/doc/news.html
   packages/libxml2/branches/unstable/doc/python.html
   packages/libxml2/branches/unstable/doc/searches.html
   packages/libxml2/branches/unstable/doc/searches.xsl
   packages/libxml2/branches/unstable/doc/site.xsl
   packages/libxml2/branches/unstable/doc/threads.html
   packages/libxml2/branches/unstable/doc/tree.html
   packages/libxml2/branches/unstable/doc/tutorial/apa.html
   packages/libxml2/branches/unstable/doc/tutorial/apd.html
   packages/libxml2/branches/unstable/doc/tutorial/api.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s02.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s03.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s04.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s05.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s06.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s07.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s08.html
   packages/libxml2/branches/unstable/doc/tutorial/ar01s09.html
   packages/libxml2/branches/unstable/doc/tutorial/includexpath.c
   packages/libxml2/branches/unstable/doc/tutorial/index.html
   packages/libxml2/branches/unstable/doc/tutorial/ix01.html
   packages/libxml2/branches/unstable/doc/tutorial/xmltutorial.pdf
   packages/libxml2/branches/unstable/doc/upgrade.html
   packages/libxml2/branches/unstable/doc/xml.html
   packages/libxml2/branches/unstable/doc/xmldtd.html
   packages/libxml2/branches/unstable/doc/xmlio.html
   packages/libxml2/branches/unstable/doc/xmllint.1
   packages/libxml2/branches/unstable/doc/xmllint.html
   packages/libxml2/branches/unstable/doc/xmllint.xml
   packages/libxml2/branches/unstable/doc/xmlmem.html
   packages/libxml2/branches/unstable/elfgcchack.h
   packages/libxml2/branches/unstable/encoding.c
   packages/libxml2/branches/unstable/entities.c
   packages/libxml2/branches/unstable/error.c
   packages/libxml2/branches/unstable/example/Makefile.in
   packages/libxml2/branches/unstable/globals.c
   packages/libxml2/branches/unstable/include/Makefile.in
   packages/libxml2/branches/unstable/include/libxml/Makefile.in
   packages/libxml2/branches/unstable/include/libxml/catalog.h
   packages/libxml2/branches/unstable/include/libxml/debugXML.h
   packages/libxml2/branches/unstable/include/libxml/nanoftp.h
   packages/libxml2/branches/unstable/include/libxml/nanohttp.h
   packages/libxml2/branches/unstable/include/libxml/parser.h
   packages/libxml2/branches/unstable/include/libxml/parserInternals.h
   packages/libxml2/branches/unstable/include/libxml/relaxng.h
   packages/libxml2/branches/unstable/include/libxml/schemasInternals.h
   packages/libxml2/branches/unstable/include/libxml/tree.h
   packages/libxml2/branches/unstable/include/libxml/valid.h
   packages/libxml2/branches/unstable/include/libxml/xmlautomata.h
   packages/libxml2/branches/unstable/include/libxml/xmlerror.h
   packages/libxml2/branches/unstable/include/libxml/xmlmemory.h
   packages/libxml2/branches/unstable/include/libxml/xmlreader.h
   packages/libxml2/branches/unstable/include/libxml/xmlschemas.h
   packages/libxml2/branches/unstable/include/libxml/xmlschemastypes.h
   packages/libxml2/branches/unstable/include/libxml/xmlstring.h
   packages/libxml2/branches/unstable/include/libxml/xmlversion.h
   packages/libxml2/branches/unstable/include/libxml/xmlversion.h.in
   packages/libxml2/branches/unstable/include/libxml/xpath.h
   packages/libxml2/branches/unstable/include/libxml/xpathInternals.h
   packages/libxml2/branches/unstable/legacy.c
   packages/libxml2/branches/unstable/libxml.h
   packages/libxml2/branches/unstable/libxml.spec.in
   packages/libxml2/branches/unstable/libxml2.spec
   packages/libxml2/branches/unstable/list.c
   packages/libxml2/branches/unstable/ltmain.sh
   packages/libxml2/branches/unstable/nanoftp.c
   packages/libxml2/branches/unstable/nanohttp.c
   packages/libxml2/branches/unstable/parser.c
   packages/libxml2/branches/unstable/parserInternals.c
   packages/libxml2/branches/unstable/python/Makefile.am
   packages/libxml2/branches/unstable/python/Makefile.in
   packages/libxml2/branches/unstable/python/drv_libxml2.py
   packages/libxml2/branches/unstable/python/generator.py
   packages/libxml2/branches/unstable/python/libxml.c
   packages/libxml2/branches/unstable/python/libxml.py
   packages/libxml2/branches/unstable/python/libxml2-py.c
   packages/libxml2/branches/unstable/python/libxml_wrap.h
   packages/libxml2/branches/unstable/python/setup.py
   packages/libxml2/branches/unstable/python/tests/Makefile.am
   packages/libxml2/branches/unstable/python/tests/Makefile.in
   packages/libxml2/branches/unstable/python/tests/outbuf.py
   packages/libxml2/branches/unstable/python/types.c
   packages/libxml2/branches/unstable/relaxng.c
   packages/libxml2/branches/unstable/result/schemas/all_0_3.err
   packages/libxml2/branches/unstable/result/schemas/all_0_4.err
   packages/libxml2/branches/unstable/result/schemas/all_0_5.err
   packages/libxml2/branches/unstable/result/schemas/all_0_6.err
   packages/libxml2/branches/unstable/result/schemas/all_0_7.err
   packages/libxml2/branches/unstable/result/schemas/all_1_5.err
   packages/libxml2/branches/unstable/result/schemas/all_2_0.err
   packages/libxml2/branches/unstable/result/schemas/all_2_1.err
   packages/libxml2/branches/unstable/result/schemas/all_2_2.err
   packages/libxml2/branches/unstable/result/schemas/all_2_4.err
   packages/libxml2/branches/unstable/result/schemas/all_2_5.err
   packages/libxml2/branches/unstable/result/schemas/anyAttr-processContents-err1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/attruse_0_1.err
   packages/libxml2/branches/unstable/result/schemas/attruse_0_2.err
   packages/libxml2/branches/unstable/result/schemas/choice_0_2.err
   packages/libxml2/branches/unstable/result/schemas/choice_0_3.err
   packages/libxml2/branches/unstable/result/schemas/choice_0_4.err
   packages/libxml2/branches/unstable/result/schemas/choice_0_5.err
   packages/libxml2/branches/unstable/result/schemas/choice_0_6.err
   packages/libxml2/branches/unstable/result/schemas/choice_1_2.err
   packages/libxml2/branches/unstable/result/schemas/choice_1_3.err
   packages/libxml2/branches/unstable/result/schemas/choice_1_5.err
   packages/libxml2/branches/unstable/result/schemas/choice_1_6.err
   packages/libxml2/branches/unstable/result/schemas/choice_2_4.err
   packages/libxml2/branches/unstable/result/schemas/choice_2_6.err
   packages/libxml2/branches/unstable/result/schemas/cos-st-restricts-1-2-err_0_0.err
   packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension-err_0_0.err
   packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension_0_0.err
   packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-2-1-1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-4-1-err_0_0.err
   packages/libxml2/branches/unstable/result/schemas/deter0_0_0.err
   packages/libxml2/branches/unstable/result/schemas/extension1_0_1.err
   packages/libxml2/branches/unstable/result/schemas/extension1_0_2.err
   packages/libxml2/branches/unstable/result/schemas/facet-unionST-err1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/hexbinary_0_1.err
   packages/libxml2/branches/unstable/result/schemas/length3_0_0.err
   packages/libxml2/branches/unstable/result/schemas/list0_0_1.err
   packages/libxml2/branches/unstable/result/schemas/list0_1_0.err
   packages/libxml2/branches/unstable/result/schemas/list0_1_1.err
   packages/libxml2/branches/unstable/result/schemas/ns0_0_2.err
   packages/libxml2/branches/unstable/result/schemas/ns0_0_3.err
   packages/libxml2/branches/unstable/result/schemas/ns0_0_4.err
   packages/libxml2/branches/unstable/result/schemas/ns0_1_0.err
   packages/libxml2/branches/unstable/result/schemas/ns0_1_1.err
   packages/libxml2/branches/unstable/result/schemas/ns0_1_2.err
   packages/libxml2/branches/unstable/result/schemas/scc-no-xmlns_0_0.err
   packages/libxml2/branches/unstable/result/schemas/scc-no-xsi_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-attribute1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-attribute2_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-attribute3-1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-form_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-st_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-type_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-attribute4_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-element1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-element2-1_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-element2-2_0_0.err
   packages/libxml2/branches/unstable/result/schemas/src-element3_0_0.err
   packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_1.err
   packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_2.err
   packages/libxml2/branches/unstable/test/.memdump
   packages/libxml2/branches/unstable/test/schemas/facet-unionST-err1_0.xml
   packages/libxml2/branches/unstable/test/schemas/hexbinary_1.xml
   packages/libxml2/branches/unstable/test/schemas/item_0.xsd
   packages/libxml2/branches/unstable/test/schemas/item_1.xsd
   packages/libxml2/branches/unstable/test/schemas/union_0_0.xml
   packages/libxml2/branches/unstable/test/schemas/union_0_0.xsd
   packages/libxml2/branches/unstable/test/schemas/xsd-simpleType-varieties_0.xsd
   packages/libxml2/branches/unstable/test/scripts/.memdump
   packages/libxml2/branches/unstable/testThreads.c
   packages/libxml2/branches/unstable/threads.c
   packages/libxml2/branches/unstable/tree.c
   packages/libxml2/branches/unstable/uri.c
   packages/libxml2/branches/unstable/valid.c
   packages/libxml2/branches/unstable/vms/build_libxml.com
   packages/libxml2/branches/unstable/win32/Makefile.mingw
   packages/libxml2/branches/unstable/win32/Makefile.msvc
   packages/libxml2/branches/unstable/win32/configure.js
   packages/libxml2/branches/unstable/win32/libxml2.def.src
   packages/libxml2/branches/unstable/xinclude.c
   packages/libxml2/branches/unstable/xmlIO.c
   packages/libxml2/branches/unstable/xmlcatalog.c
   packages/libxml2/branches/unstable/xmllint.c
   packages/libxml2/branches/unstable/xmlmemory.c
   packages/libxml2/branches/unstable/xmlreader.c
   packages/libxml2/branches/unstable/xmlregexp.c
   packages/libxml2/branches/unstable/xmlsave.c
   packages/libxml2/branches/unstable/xmlschemas.c
   packages/libxml2/branches/unstable/xmlschemastypes.c
   packages/libxml2/branches/unstable/xmlstring.c
   packages/libxml2/branches/unstable/xmlunicode.c
   packages/libxml2/branches/unstable/xmlwriter.c
   packages/libxml2/branches/unstable/xpath.c
   packages/libxml2/branches/unstable/xpointer.c
   packages/libxml2/branches/unstable/xstc/sun-test-def.xml
   packages/libxml2/branches/unstable/xstc/xstc.py
Log:
Sync unstable branch with 2.6.16-2

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

Modified: packages/libxml2/branches/unstable/HTMLparser.c
===================================================================
--- packages/libxml2/branches/unstable/HTMLparser.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/HTMLparser.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -109,13 +109,15 @@
     if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
         (ctxt->instate == XML_PARSER_EOF))
 	return;
-    ctxt->errNo = error;
+    if (ctxt != NULL)
+	ctxt->errNo = error;
     __xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_HTML, error,
                     XML_ERR_ERROR, NULL, 0,
 		    (const char *) str1, (const char *) str2,
 		    NULL, 0, 0,
 		    msg, str1, str2);
-    ctxt->wellFormed = 0;
+    if (ctxt != NULL)
+	ctxt->wellFormed = 0;
 }
 
 /**
@@ -134,11 +136,13 @@
     if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
         (ctxt->instate == XML_PARSER_EOF))
 	return;
-    ctxt->errNo = error;
+    if (ctxt != NULL)
+	ctxt->errNo = error;
     __xmlRaiseError(NULL, NULL, NULL, ctxt, NULL, XML_FROM_HTML, error,
                     XML_ERR_ERROR, NULL, 0, NULL, NULL,
 		    NULL, val, 0, msg, val);
-    ctxt->wellFormed = 0;
+    if (ctxt != NULL)
+	ctxt->wellFormed = 0;
 }
 
 /************************************************************************
@@ -394,13 +398,15 @@
      * to ISO-Latin-1 (if you don't like this policy, just declare the
      * encoding !)
      */
-    htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
-		 "Input is not proper UTF-8, indicate encoding !\n",
-		 NULL, NULL);
-    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL)) {
-	ctxt->sax->error(ctxt->userData, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+    {
+        char buffer[150];
+
+	snprintf(buffer, 149, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
 			ctxt->input->cur[0], ctxt->input->cur[1],
 			ctxt->input->cur[2], ctxt->input->cur[3]);
+	htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
+		     "Input is not proper UTF-8, indicate encoding !\n",
+		     BAD_CAST buffer, NULL);
     }
 
     ctxt->charset = XML_CHAR_ENCODING_8859_1; 
@@ -463,16 +469,27 @@
 /* Definitions and a couple of vars for HTML Elements */
 
 #define FONTSTYLE "tt", "i", "b", "u", "s", "strike", "big", "small"
+#define NB_FONTSTYLE 8
 #define PHRASE "em", "strong", "dfn", "code", "samp", "kbd", "var", "cite", "abbr", "acronym"
+#define NB_PHRASE 10
 #define SPECIAL "a", "img", "applet", "object", "font", "basefont", "br", "script", "map", "q", "sub", "sup", "span", "bdo", "iframe"
+#define NB_SPECIAL 15
 #define INLINE PCDATA FONTSTYLE PHRASE SPECIAL FORMCTRL
-#define BLOCK HEADING LIST "pre", "p", "dl", "div", "center", "noscript", "noframes", "blockquote", "form", "isindex", "hr", "table", "fieldset", "address"
+#define NB_INLINE NB_PCDATA + NB_FONTSTYLE + NB_PHRASE + NB_SPECIAL + NB_FORMCTRL
+#define BLOCK HEADING, LIST "pre", "p", "dl", "div", "center", "noscript", "noframes", "blockquote", "form", "isindex", "hr", "table", "fieldset", "address"
+#define NB_BLOCK NB_HEADING + NB_LIST + 14
 #define FORMCTRL "input", "select", "textarea", "label", "button"
+#define NB_FORMCTRL 5
 #define PCDATA
+#define NB_PCDATA 0
 #define HEADING "h1", "h2", "h3", "h4", "h5", "h6"
+#define NB_HEADING 6
 #define LIST "ul", "ol", "dir", "menu"
+#define NB_LIST 4
 #define MODIFIER
+#define NB_MODIFIER 0
 #define FLOW BLOCK,INLINE
+#define NB_FLOW NB_BLOCK + NB_INLINE
 #define EMPTY NULL
 
 
@@ -487,11 +504,17 @@
 /* ... and for HTML Attributes */
 
 #define COREATTRS "id", "class", "style", "title"
+#define NB_COREATTRS 4
 #define I18N "lang", "dir"
+#define NB_I18N 2
 #define EVENTS "onclick", "ondblclick", "onmousedown", "onmouseup", "onmouseover", "onmouseout", "onkeypress", "onkeydown", "onkeyup"
+#define NB_EVENTS 9
 #define ATTRS COREATTRS,I18N,EVENTS
+#define NB_ATTRS NB_NB_COREATTRS + NB_I18N + NB_EVENTS
 #define CELLHALIGN "align", "char", "charoff"
+#define NB_CELLHALIGN 3
 #define CELLVALIGN "valign"
+#define NB_CELLVALIGN 1
 
 static const char* html_attrs[] = { ATTRS, NULL } ;
 static const char* core_i18n_attrs[] = { COREATTRS, I18N, NULL } ;
@@ -1686,12 +1709,15 @@
  * Macro used to grow the current buffer.
  */
 #define growBuffer(buffer) {						\
+    xmlChar *tmp;							\
     buffer##_size *= 2;							\
-    buffer = (xmlChar *) xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
-    if (buffer == NULL) {						\
+    tmp = (xmlChar *) xmlRealloc(buffer, buffer##_size * sizeof(xmlChar)); \
+    if (tmp == NULL) {						\
 	htmlErrMemory(ctxt, "growing buffer\n");			\
+	xmlFree(buffer);						\
 	return(NULL);							\
     }									\
+    buffer = tmp;							\
 }
 
 /**
@@ -1768,6 +1794,7 @@
     unsigned int c, d;
     int trailing;
 
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL)) return(-1);
     if (in == NULL) {
         /*
 	 * initialization nothing to do
@@ -1862,13 +1889,17 @@
 htmlEncodeEntities(unsigned char* out, int *outlen,
 		   const unsigned char* in, int *inlen, int quoteChar) {
     const unsigned char* processed = in;
-    const unsigned char* outend = out + (*outlen);
+    const unsigned char* outend;
     const unsigned char* outstart = out;
     const unsigned char* instart = in;
-    const unsigned char* inend = in + (*inlen);
+    const unsigned char* inend;
     unsigned int c, d;
     int trailing;
 
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL) || (in == NULL))
+        return(-1);
+    outend = out + (*outlen);
+    inend = in + (*inlen);
     while (in < inend) {
 	d = *in++;
 	if      (d < 0x80)  { c= d; trailing= 0; }
@@ -2091,6 +2122,7 @@
     cur->ids = NULL;
     cur->refs = NULL;
     cur->_private = NULL;
+    cur->charset = XML_CHAR_ENCODING_UTF8;
     if ((ExternalID != NULL) ||
 	(URI != NULL))
 	xmlCreateIntSubset(cur, BAD_CAST "html", ExternalID, URI);
@@ -2147,11 +2179,11 @@
     int i = 0;
     xmlChar loc[HTML_PARSER_BUFFER_SIZE];
 
-    if (!IS_LETTER_CH(CUR) && (CUR != '_') &&
+    if (!IS_ASCII_LETTER(CUR) && (CUR != '_') &&
         (CUR != ':')) return(NULL);
 
     while ((i < HTML_PARSER_BUFFER_SIZE) &&
-           ((IS_LETTER_CH(CUR)) || (IS_DIGIT_CH(CUR)) ||
+           ((IS_ASCII_LETTER(CUR)) || (IS_ASCII_DIGIT(CUR)) ||
 	   (CUR == ':') || (CUR == '-') || (CUR == '_'))) {
 	if ((CUR >= 'A') && (CUR <= 'Z')) loc[i] = CUR + 0x20;
         else loc[i] = CUR;
@@ -2396,8 +2428,10 @@
 htmlParseEntityRef(htmlParserCtxtPtr ctxt, const xmlChar **str) {
     const xmlChar *name;
     const htmlEntityDesc * ent = NULL;
-    *str = NULL;
 
+    if (str != NULL) *str = NULL;
+    if ((ctxt == NULL) || (ctxt->input == NULL)) return(NULL);
+
     if (CUR == '&') {
         NEXT;
         name = htmlParseName(ctxt);
@@ -2407,7 +2441,8 @@
 	} else {
 	    GROW;
 	    if (CUR == ';') {
-		*str = name;
+	        if (str != NULL)
+		    *str = name;
 
 		/*
 		 * Lookup the entity in the table.
@@ -2419,7 +2454,8 @@
 		htmlParseErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING,
 		             "htmlParseEntityRef: expecting ';'\n",
 			     NULL, NULL);
-		*str = name;
+	        if (str != NULL)
+		    *str = name;
 	    }
 	}
     }
@@ -2788,6 +2824,117 @@
 }
 
 /**
+ * xmlParsePI:
+ * @ctxt:  an XML parser context
+ *
+ * parse an XML Processing Instruction.
+ *
+ * [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
+ */
+static void
+htmlParsePI(htmlParserCtxtPtr ctxt) {
+    xmlChar *buf = NULL;
+    int len = 0;
+    int size = HTML_PARSER_BUFFER_SIZE;
+    int cur, l;
+    const xmlChar *target;
+    xmlParserInputState state;
+    int count = 0;
+
+    if ((RAW == '<') && (NXT(1) == '?')) {
+	state = ctxt->instate;
+        ctxt->instate = XML_PARSER_PI;
+	/*
+	 * this is a Processing Instruction.
+	 */
+	SKIP(2);
+	SHRINK;
+
+	/*
+	 * Parse the target name and check for special support like
+	 * namespace.
+	 */
+        target = htmlParseName(ctxt);
+	if (target != NULL) {
+	    if (RAW == '>') {
+		SKIP(1);
+
+		/*
+		 * SAX: PI detected.
+		 */
+		if ((ctxt->sax) && (!ctxt->disableSAX) &&
+		    (ctxt->sax->processingInstruction != NULL))
+		    ctxt->sax->processingInstruction(ctxt->userData,
+		                                     target, NULL);
+		ctxt->instate = state;
+		return;
+	    }
+	    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
+	    if (buf == NULL) {
+		htmlErrMemory(ctxt, NULL);
+		ctxt->instate = state;
+		return;
+	    }
+	    cur = CUR;
+	    if (!IS_BLANK(cur)) {
+		htmlParseErr(ctxt, XML_ERR_SPACE_REQUIRED,
+			  "ParsePI: PI %s space expected\n", target, NULL);
+	    }
+            SKIP_BLANKS;
+	    cur = CUR_CHAR(l);
+	    while (IS_CHAR(cur) && (cur != '>')) {
+		if (len + 5 >= size) {
+		    xmlChar *tmp;
+
+		    size *= 2;
+		    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+		    if (tmp == NULL) {
+			htmlErrMemory(ctxt, NULL);
+			xmlFree(buf);
+			ctxt->instate = state;
+			return;
+		    }
+		    buf = tmp;
+		}
+		count++;
+		if (count > 50) {
+		    GROW;
+		    count = 0;
+		}
+		COPY_BUF(l,buf,len,cur);
+		NEXTL(l);
+		cur = CUR_CHAR(l);
+		if (cur == 0) {
+		    SHRINK;
+		    GROW;
+		    cur = CUR_CHAR(l);
+		}
+	    }
+	    buf[len] = 0;
+	    if (cur != '>') {
+		htmlParseErr(ctxt, XML_ERR_PI_NOT_FINISHED,
+		      "ParsePI: PI %s never end ...\n", target, NULL);
+	    } else {
+		SKIP(1);
+
+		/*
+		 * SAX: PI detected.
+		 */
+		if ((ctxt->sax) && (!ctxt->disableSAX) &&
+		    (ctxt->sax->processingInstruction != NULL))
+		    ctxt->sax->processingInstruction(ctxt->userData,
+		                                     target, buf);
+	    }
+	    xmlFree(buf);
+	} else {
+	    htmlParseErr(ctxt, XML_ERR_PI_NOT_STARTED, 
+                         "PI is not started correctly", NULL, NULL);
+	}
+	ctxt->instate = state;
+    }
+}
+
+/**
  * htmlParseComment:
  * @ctxt:  an HTML parser context
  *
@@ -2831,13 +2978,17 @@
            ((cur != '>') ||
 	    (r != '-') || (q != '-'))) {
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
+	        xmlFree(buf);
 	        htmlErrMemory(ctxt, "growing buffer failed\n");
 		ctxt->instate = state;
 		return;
 	    }
+	    buf = tmp;
 	}
 	COPY_BUF(ql,buf,len,q);
 	q = r;
@@ -2882,6 +3033,12 @@
 htmlParseCharRef(htmlParserCtxtPtr ctxt) {
     int val = 0;
 
+    if ((ctxt == NULL) || (ctxt->input == NULL)) {
+	htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
+		     "htmlParseCharRef: context error\n",
+		     NULL, NULL);
+        return(0);
+    }
     if ((CUR == '&') && (NXT(1) == '#') &&
         ((NXT(2) == 'x') || NXT(2) == 'X')) {
 	SKIP(3);
@@ -3205,6 +3362,11 @@
     int meta = 0;
     int i;
 
+    if ((ctxt == NULL) || (ctxt->input == NULL)) {
+	htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
+		     "htmlParseStartTag: context error\n", NULL, NULL);
+	return;
+    }
     if (CUR != '<') return;
     NEXT;
 
@@ -3618,14 +3780,21 @@
 	    }
 
 	    /*
-	     * Second case :  a sub-element.
+	     * Second case : a Processing Instruction.
 	     */
+	    else if ((CUR == '<') && (NXT(1) == '?')) {
+		htmlParsePI(ctxt);
+	    }
+
+	    /*
+	     * Third case :  a sub-element.
+	     */
 	    else if (CUR == '<') {
 		htmlParseElement(ctxt);
 	    }
 
 	    /*
-	     * Third case : a reference. If if has not been resolved,
+	     * Fourth case : a reference. If if has not been resolved,
 	     *    parsing returns it's Name, create the node 
 	     */
 	    else if (CUR == '&') {
@@ -3633,7 +3802,7 @@
 	    }
 
 	    /*
-	     * Fourth : end of the resource
+	     * Fifth case : end of the resource
 	     */
 	    else if (CUR == 0) {
 		htmlAutoCloseOnEnd(ctxt);
@@ -3679,9 +3848,15 @@
     const htmlElemDesc * info;
     htmlParserNodeInfo node_info;
     const xmlChar *oldname;
-    int depth = ctxt->nameNr;
+    int depth;
     const xmlChar *oldptr;
 
+    if ((ctxt == NULL) || (ctxt->input == NULL)) {
+	htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
+		     "htmlParseStartTag: context error\n", NULL, NULL);
+	return;
+    }
+    depth = ctxt->nameNr;
     /* Capture start position */
     if (ctxt->record_info) {
         node_info.begin_pos = ctxt->input->consumed +
@@ -3804,8 +3979,13 @@
     xmlInitParser();
 
     htmlDefaultSAXHandlerInit();
+
+    if ((ctxt == NULL) || (ctxt->input == NULL)) {
+	htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
+		     "htmlParseDocument: context error\n", NULL, NULL);
+	return(XML_ERR_INTERNAL_ERROR);
+    }
     ctxt->html = 1;
-
     GROW;
     /*
      * SAX: beginning of the document processing.
@@ -3827,11 +4007,13 @@
 
 
     /*
-     * Parse possible comments before any content
+     * Parse possible comments and PIs before any content
      */
-    while ((CUR == '<') && (NXT(1) == '!') &&
-           (NXT(2) == '-') && (NXT(3) == '-')) {
+    while (((CUR == '<') && (NXT(1) == '!') &&
+            (NXT(2) == '-') && (NXT(3) == '-')) ||
+	   ((CUR == '<') && (NXT(1) == '?'))) {
         htmlParseComment(ctxt);	   
+        htmlParsePI(ctxt);	   
 	SKIP_BLANKS;
     }	   
 
@@ -3850,11 +4032,13 @@
     SKIP_BLANKS;
 
     /*
-     * Parse possible comments before any content
+     * Parse possible comments and PIs before any content
      */
-    while ((CUR == '<') && (NXT(1) == '!') &&
-           (NXT(2) == '-') && (NXT(3) == '-')) {
+    while (((CUR == '<') && (NXT(1) == '!') &&
+            (NXT(2) == '-') && (NXT(3) == '-')) ||
+	   ((CUR == '<') && (NXT(1) == '?'))) {
         htmlParseComment(ctxt);	   
+        htmlParsePI(ctxt);	   
 	SKIP_BLANKS;
     }	   
 
@@ -3989,6 +4173,7 @@
     ctxt->replaceEntities = 0;
     ctxt->linenumbers = xmlLineNumbersDefaultValue;
     ctxt->html = 1;
+    ctxt->vctxt.finishDtd = XML_CTXT_FINISH_DTD_0;
     ctxt->vctxt.userData = ctxt;
     ctxt->vctxt.error = xmlParserValidityError;
     ctxt->vctxt.warning = xmlParserValidityWarning;
@@ -4419,6 +4604,16 @@
 #endif
 		    htmlParseComment(ctxt);
 		    ctxt->instate = XML_PARSER_MISC;
+	        } else if ((cur == '<') && (next == '?')) {
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+			goto done;
+#ifdef DEBUG_PUSH
+		    xmlGenericError(xmlGenericErrorContext,
+			    "HPP: Parsing PI\n");
+#endif
+		    htmlParsePI(ctxt);
+		    ctxt->instate = XML_PARSER_MISC;
 		} else if ((cur == '<') && (next == '!') &&
 		    (UPP(2) == 'D') && (UPP(3) == 'O') &&
 		    (UPP(4) == 'C') && (UPP(5) == 'T') &&
@@ -4469,6 +4664,16 @@
 #endif
 		    htmlParseComment(ctxt);
 		    ctxt->instate = XML_PARSER_PROLOG;
+	        } else if ((cur == '<') && (next == '?')) {
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+			goto done;
+#ifdef DEBUG_PUSH
+		    xmlGenericError(xmlGenericErrorContext,
+			    "HPP: Parsing PI\n");
+#endif
+		    htmlParsePI(ctxt);
+		    ctxt->instate = XML_PARSER_PROLOG;
 		} else if ((cur == '<') && (next == '!') &&
 		           (avail < 4)) {
 		    goto done;
@@ -4506,6 +4711,16 @@
 #endif
 		    htmlParseComment(ctxt);
 		    ctxt->instate = XML_PARSER_EPILOG;
+	        } else if ((cur == '<') && (next == '?')) {
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+			goto done;
+#ifdef DEBUG_PUSH
+		    xmlGenericError(xmlGenericErrorContext,
+			    "HPP: Parsing PI\n");
+#endif
+		    htmlParsePI(ctxt);
+		    ctxt->instate = XML_PARSER_EPILOG;
 		} else if ((cur == '<') && (next == '!') &&
 		           (avail < 4)) {
 		    goto done;
@@ -4712,6 +4927,16 @@
 #endif
 			htmlParseComment(ctxt);
 			ctxt->instate = XML_PARSER_CONTENT;
+		    } else if ((cur == '<') && (next == '?')) {
+			if ((!terminate) &&
+			    (htmlParseLookupSequence(ctxt, '>', 0, 0, 0) < 0))
+			    goto done;
+#ifdef DEBUG_PUSH
+			xmlGenericError(xmlGenericErrorContext,
+				"HPP: Parsing PI\n");
+#endif
+			htmlParsePI(ctxt);
+			ctxt->instate = XML_PARSER_CONTENT;
 		    } else if ((cur == '<') && (next == '!') && (avail < 4)) {
 			goto done;
 		    } else if ((cur == '<') && (next == '/')) {
@@ -4944,6 +5169,11 @@
 int
 htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
               int terminate) {
+    if ((ctxt == NULL) || (ctxt->input == NULL)) {
+	htmlParseErr(ctxt, XML_ERR_INTERNAL_ERROR,
+		     "htmlParseChunk: context error\n", NULL, NULL);
+	return(XML_ERR_INTERNAL_ERROR);
+    }
     if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) &&
         (ctxt->input->buf != NULL) && (ctxt->instate != XML_PARSER_EOF))  {
 	int base = ctxt->input->base - ctxt->input->buf->buffer->content;
@@ -5173,6 +5403,9 @@
     /* htmlCharEncoding enc; */
     xmlChar *content, *content_line = (xmlChar *) "charset=";
 
+    if (filename == NULL)
+        return(NULL);
+
     ctxt = htmlNewParserCtxt();
     if (ctxt == NULL) {
 	return(NULL);
@@ -5428,8 +5661,13 @@
 htmlCtxtReset(htmlParserCtxtPtr ctxt)
 {
     xmlParserInputPtr input;
-    xmlDictPtr dict = ctxt->dict;
+    xmlDictPtr dict;
+    
+    if (ctxt == NULL)
+        return;
 
+    dict = ctxt->dict;
+
     while ((input = inputPop(ctxt)) != NULL) { /* Non consuming */
         xmlFreeInputStream(input);
     }
@@ -5437,8 +5675,12 @@
     ctxt->input = NULL;
 
     ctxt->spaceNr = 0;
-    ctxt->spaceTab[0] = -1;
-    ctxt->space = &ctxt->spaceTab[0];
+    if (ctxt->spaceTab != NULL) {
+	ctxt->spaceTab[0] = -1;
+	ctxt->space = &ctxt->spaceTab[0];
+    } else {
+	ctxt->space = NULL;
+    }
 
 
     ctxt->nodeNr = 0;
@@ -5508,6 +5750,9 @@
 int
 htmlCtxtUseOptions(htmlParserCtxtPtr ctxt, int options)
 {
+    if (ctxt == NULL)
+        return(-1);
+
     if (options & HTML_PARSE_NOWARNING) {
         ctxt->sax->warning = NULL;
         ctxt->vctxt.warning = NULL;
@@ -5647,6 +5892,8 @@
     ctxt = xmlCreateMemoryParserCtxt(buffer, size);
     if (ctxt == NULL)
         return (NULL);
+    if (ctxt->sax != NULL)
+        memcpy(ctxt->sax, &htmlDefaultSAXHandler, sizeof(xmlSAXHandlerV1));
     return (htmlDoRead(ctxt, URL, encoding, options, 0));
 }
 

Modified: packages/libxml2/branches/unstable/HTMLtree.c
===================================================================
--- packages/libxml2/branches/unstable/HTMLtree.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/HTMLtree.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -170,7 +170,7 @@
 
     if (encoding != NULL) {
 	snprintf(newcontent, sizeof(newcontent), "text/html; charset=%s",
-                encoding);
+                (char *)encoding);
 	newcontent[sizeof(newcontent) - 1] = 0;
     }
 
@@ -522,6 +522,8 @@
 
     xmlInitParser();
 
+    if ((mem == NULL) || (size == NULL))
+        return;
     if (cur == NULL) {
 	*mem = NULL;
 	*size = 0;
@@ -745,7 +747,7 @@
 
     xmlInitParser();
 
-    if (cur == NULL) {
+    if ((cur == NULL) || (buf == NULL)) {
 	return;
     }
     /*
@@ -753,7 +755,8 @@
      */
     if (cur->type == XML_DTD_NODE)
 	return;
-    if (cur->type == XML_HTML_DOCUMENT_NODE) {
+    if ((cur->type == XML_HTML_DOCUMENT_NODE) ||
+        (cur->type == XML_DOCUMENT_NODE)){
 	htmlDocContentDumpOutput(buf, (xmlDocPtr) cur, encoding);
 	return;
     }
@@ -944,6 +947,9 @@
 
     xmlInitParser();
 
+    if ((buf == NULL) || (cur == NULL))
+        return;
+
     /*
      * force to output the stuff as HTML, especially for entities
      */
@@ -997,7 +1003,7 @@
 
     xmlInitParser();
 
-    if (cur == NULL) {
+    if ((cur == NULL) || (f == NULL)) {
 	return(-1);
     }
 
@@ -1053,6 +1059,9 @@
     const char *encoding;
     int ret;
 
+    if ((cur == NULL) || (filename == NULL))
+        return(-1);
+       
     xmlInitParser();
 
     encoding = (const char *) htmlGetMetaEncoding(cur);
@@ -1113,6 +1122,9 @@
     xmlCharEncodingHandlerPtr handler = NULL;
     int ret;
 
+    if ((cur == NULL) || (filename == NULL))
+        return(-1);
+       
     xmlInitParser();
 
     if (encoding != NULL) {

Modified: packages/libxml2/branches/unstable/Makefile.am
===================================================================
--- packages/libxml2/branches/unstable/Makefile.am	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/Makefile.am	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,14 +1,14 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = include . doc example @PYTHON_SUBDIR@
+SUBDIRS = include . doc example xstc @PYTHON_SUBDIR@
 
-DIST_SUBDIRS = include . doc example python
+DIST_SUBDIRS = include . doc example python xstc
 
 INCLUDES = -I$(top_builddir)/include -I at srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ 
 
 noinst_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
                 testThreads testC14N testAutomata testRegexp \
-		testReader
+		testReader testapi
 
 bin_PROGRAMS = xmllint xmlcatalog
 
@@ -17,7 +17,7 @@
 lib_LTLIBRARIES = libxml2.la
 libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@
 
-libxml2_la_LDFLAGS = @WIN32_EXTRA_LDFLAGS@ -version-info @LIBXML_VERSION_INFO@
+libxml2_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -version-info @LIBXML_VERSION_INFO@
 
 if WITH_TRIO_SOURCES
 libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
@@ -113,6 +113,14 @@
 testReader_DEPENDENCIES = $(DEPS)
 testReader_LDADD= $(LDADDS)
 
+testapi.c: gentest.py doc/libxml2-api.xml
+	-@(if [ "$(PYTHON)" != "" ] ; then $(PYTHON) gentest.py ; fi )
+
+testapi_SOURCES=testapi.c
+testapi_LDFLAGS = 
+testapi_DEPENDENCIES = $(DEPS)
+testapi_LDADD= $(LDADDS)
+
 #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
 #testOOM_LDFLAGS = 
 #testOOM_DEPENDENCIES = $(DEPS)
@@ -122,15 +130,20 @@
 
 testall : tests SVGtests SAXtests
 
-tests: XMLtests XMLenttests NStests IDtests Errtests @READER_TEST@ @TEST_SAX@ @TEST_PUSH@ @TEST_HTML@ @TEST_PHTML@  @TEST_VALID@ URItests @TEST_XPATH@ @TEST_XPTR@ @TEST_XINCLUDE@ @TEST_C14N@ @TEST_DEBUG@ @TEST_CATALOG@ @TEST_REGEXPS@ @TEST_SCHEMAS@ @TEST_THREADS@ Timingtests @TEST_VTIME@ @PYTHON_TESTS@
-	@(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; $(MAKE) tests ; fi)
-	@(cd doc/examples ; $(MAKE) tests)
+tests: XMLtests XMLenttests NStests IDtests Errtests APItests @READER_TEST@ @TEST_SAX@ @TEST_PUSH@ @TEST_HTML@ @TEST_PHTML@  @TEST_VALID@ URItests @TEST_XPATH@ @TEST_XPTR@ @TEST_XINCLUDE@ @TEST_C14N@ @TEST_DEBUG@ @TEST_CATALOG@ @TEST_REGEXPS@ @TEST_SCHEMAS@ @TEST_THREADS@ Timingtests @TEST_VTIME@ @PYTHON_TESTS@
+	@(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; \
+	    $(MAKE) MAKEFLAGS+=--silent tests ; fi)
+	@(cd doc/examples ; $(MAKE) MAKEFLAGS+=--silent tests)
 
 valgrind:
 	@echo '## Running the regression tests under Valgrind'
 	@echo '## Go get a cup of coffee it is gonna take a while ...'
 	$(MAKE) CHECKER='valgrind -q' tests
 
+APItests: testapi$(EXEEXT)
+	@echo "## Running the API regression tests this may take a little while"
+	-@($(CHECKER) $(top_builddir)/testapi -q)
+
 HTMLtests : testHTML$(EXEEXT)
 	@(echo > .memdump)
 	@echo "## HTML regression tests"
@@ -276,7 +289,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/namespaces/$$name result.$$name ; \
-	      diff $(srcdir)/result/namespaces/$$name.err error.$$name` ; \
+	      diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
@@ -469,13 +482,28 @@
 	      $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name | grep -v 'failed to load external entity' ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
+	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > result.$$name 2>error.$$name ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
+	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      rm result.$$name error.$$name ; \
+	  fi ; fi ; done)
 	@(echo > .memdump)
 	@echo "## XInclude xmlReader regression tests"
 	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
@@ -486,13 +514,28 @@
 	      $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name | grep -v 'failed to load external entity' ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
+	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
+	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      rm result.$$name error.$$name ; \
+	  fi ; fi ; done)
 
 Scripttests : xmllint$(EXEEXT)
 	@(echo > .memdump)
@@ -504,14 +547,15 @@
 	  if [ -f $$xml ] ; then \
 	  if [ ! -f $(srcdir)/result/scripts/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name 2> $(srcdir)/result/scripts/$$name.err ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i 2>&1 > result.$$name ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > result.$$name 2> result.$$name.err ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/scripts/$$name result.$$name` ; \
+	      diff $(srcdir)/result/scripts/$$name result.$$name ; \
+	      diff $(srcdir)/result/scripts/$$name.err result.$$name.err` ; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-	      rm result.$$name ; \
+	      rm result.$$name result.$$name.err ; \
 	  fi ; fi ; done)
 
 Catatests : xmlcatalog$(EXEEXT)
@@ -756,7 +800,7 @@
 
 $(srcdir)/dba100000.xml: dbgenattr.pl
 	@echo "## generating dba100000.xml"
-	@($(top_srcdir)/dbgenattr.pl 100000 > $(srcdir)/dba100000.xml)
+	@($(PERL) $(top_srcdir)/dbgenattr.pl 100000 > $(srcdir)/dba100000.xml)
 
 Timingtests: xmllint$(EXEEXT) $(srcdir)/dba100000.xml
 	@echo "## Timing tests to try to detect performance"
@@ -935,8 +979,10 @@
 	    PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH; \
 	    export PYTHONPATH; \
 	    echo "## XML Schemas datatypes Python based test suite" ; \
+	    echo "## It is normal to see 6 errors reported" ; \
 	    $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
 	  fi)
+	@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
 
 cleanup:
 	-@(find . -name .\#\* -exec rm {} \;)
@@ -945,11 +991,14 @@
 	-cp libxml2.spec $(distdir)
 	(cd $(srcdir) ; tar -cf - --exclude CVS win32 macos vms test result SAXresult ) | (cd $(distdir); tar xf -)
 
+dist-source: distdir
+	$(AMTAR) -chof - --exclude test --exclude result $(distdir) | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-sources+"`.tar.gz
+
 cleantar:
 	@(rm -f libxml*.tar.gz COPYING.LIB)
 
 rpm: cleanup cleantar
-	@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
+	@(unset CDPATH ; $(MAKE) dist-source dist && rpmbuild -ta $(distdir).tar.gz)
 
 ## We create xml2Conf.sh here and not from configure because we want
 ## to get the paths expanded correctly.  Macros like srcdir are given
@@ -969,8 +1018,9 @@
 
 confexecdir=$(libdir)
 confexec_DATA = xml2Conf.sh
+CVS_EXTRA_DIST=
 EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
-             libxml.m4 Copyright check-xml-test-suite.py \
+             libxml.m4 Copyright check-xml-test-suite.py gentest.py \
 	     check-relaxng-test-suite.py check-relaxng-test-suite2.py \
 	     check-xsddata-test-suite.py check-xinclude-test-suite.py \
              example/Makefile.am example/gjobread.c example/gjobs.xml \
@@ -978,7 +1028,8 @@
 	     trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
 	     triop.h triodef.h libxml.h elfgcchack.h \
 	     testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
-	     dbgen.pl dbgenattr.pl regressions.py regressions.xml
+	     dbgen.pl dbgenattr.pl regressions.py regressions.xml \
+	     $(CVS_EXTRA_DIST)
 
 
 pkgconfigdir = $(libdir)/pkgconfig
@@ -999,3 +1050,6 @@
 	- at INSTALL@ -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR)
 	- at INSTALL@ -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR)
 	- at INSTALL@ -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR)
+
+tst: tst.c
+	$(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz

Modified: packages/libxml2/branches/unstable/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -17,7 +17,7 @@
 
 
 
-SOURCES = $(libxml2_la_SOURCES) $(testAutomata_SOURCES) $(testC14N_SOURCES) $(testHTML_SOURCES) $(testReader_SOURCES) $(testRegexp_SOURCES) $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) $(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) $(xmlcatalog_SOURCES) $(xmllint_SOURCES)
+SOURCES = $(libxml2_la_SOURCES) $(testAutomata_SOURCES) $(testC14N_SOURCES) $(testHTML_SOURCES) $(testReader_SOURCES) $(testRegexp_SOURCES) $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) $(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) $(testapi_SOURCES) $(xmlcatalog_SOURCES) $(xmllint_SOURCES)
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -43,7 +43,8 @@
 noinst_PROGRAMS = testSchemas$(EXEEXT) testRelax$(EXEEXT) \
 	testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) \
 	testURI$(EXEEXT) testThreads$(EXEEXT) testC14N$(EXEEXT) \
-	testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT)
+	testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT) \
+	testapi$(EXEEXT)
 bin_PROGRAMS = xmllint$(EXEEXT) xmlcatalog$(EXEEXT)
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
@@ -133,6 +134,8 @@
 testURI_OBJECTS = $(am_testURI_OBJECTS)
 am_testXPath_OBJECTS = testXPath.$(OBJEXT)
 testXPath_OBJECTS = $(am_testXPath_OBJECTS)
+am_testapi_OBJECTS = testapi.$(OBJEXT)
+testapi_OBJECTS = $(am_testapi_OBJECTS)
 am_xmlcatalog_OBJECTS = xmlcatalog.$(OBJEXT)
 xmlcatalog_OBJECTS = $(am_xmlcatalog_OBJECTS)
 am_xmllint_OBJECTS = xmllint.$(OBJEXT)
@@ -162,12 +165,13 @@
 @AMDEP_TRUE@	./$(DEPDIR)/testSAX.Po ./$(DEPDIR)/testSchemas.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/testThreads at THREADS_W32@.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/testURI.Po ./$(DEPDIR)/testXPath.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/threads.Plo ./$(DEPDIR)/tree.Plo \
- at AMDEP_TRUE@	./$(DEPDIR)/trio.Plo ./$(DEPDIR)/triostr.Plo \
- at AMDEP_TRUE@	./$(DEPDIR)/uri.Plo ./$(DEPDIR)/valid.Plo \
- at AMDEP_TRUE@	./$(DEPDIR)/xinclude.Plo ./$(DEPDIR)/xlink.Plo \
- at AMDEP_TRUE@	./$(DEPDIR)/xmlIO.Plo ./$(DEPDIR)/xmlcatalog.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/xmllint.Po ./$(DEPDIR)/xmlmemory.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/testapi.Po ./$(DEPDIR)/threads.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/tree.Plo ./$(DEPDIR)/trio.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/triostr.Plo ./$(DEPDIR)/uri.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/valid.Plo ./$(DEPDIR)/xinclude.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xlink.Plo ./$(DEPDIR)/xmlIO.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xmlcatalog.Po ./$(DEPDIR)/xmllint.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/xmlmemory.Plo \
 @AMDEP_TRUE@	./$(DEPDIR)/xmlreader.Plo \
 @AMDEP_TRUE@	./$(DEPDIR)/xmlregexp.Plo ./$(DEPDIR)/xmlsave.Plo \
 @AMDEP_TRUE@	./$(DEPDIR)/xmlschemas.Plo \
@@ -188,14 +192,14 @@
 	$(testC14N_SOURCES) $(testHTML_SOURCES) $(testReader_SOURCES) \
 	$(testRegexp_SOURCES) $(testRelax_SOURCES) $(testSAX_SOURCES) \
 	$(testSchemas_SOURCES) $(testThreads_SOURCES) \
-	$(testURI_SOURCES) $(testXPath_SOURCES) $(xmlcatalog_SOURCES) \
-	$(xmllint_SOURCES)
+	$(testURI_SOURCES) $(testXPath_SOURCES) $(testapi_SOURCES) \
+	$(xmlcatalog_SOURCES) $(xmllint_SOURCES)
 DIST_SOURCES = $(am__libxml2_la_SOURCES_DIST) $(testAutomata_SOURCES) \
 	$(testC14N_SOURCES) $(testHTML_SOURCES) $(testReader_SOURCES) \
 	$(testRegexp_SOURCES) $(testRelax_SOURCES) $(testSAX_SOURCES) \
 	$(testSchemas_SOURCES) $(testThreads_SOURCES) \
-	$(testURI_SOURCES) $(testXPath_SOURCES) $(xmlcatalog_SOURCES) \
-	$(xmllint_SOURCES)
+	$(testURI_SOURCES) $(testXPath_SOURCES) $(testapi_SOURCES) \
+	$(xmlcatalog_SOURCES) $(xmllint_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	html-recursive info-recursive install-data-recursive \
 	install-exec-recursive install-info-recursive \
@@ -245,6 +249,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -277,6 +283,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -297,6 +304,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -353,6 +361,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -366,6 +375,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -373,6 +383,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@
@@ -420,13 +431,13 @@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-SUBDIRS = include . doc example @PYTHON_SUBDIR@
-DIST_SUBDIRS = include . doc example python
+SUBDIRS = include . doc example xstc @PYTHON_SUBDIR@
+DIST_SUBDIRS = include . doc example python xstc
 INCLUDES = -I$(top_builddir)/include -I at srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ 
 bin_SCRIPTS = xml2-config
 lib_LTLIBRARIES = libxml2.la
 libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@
-libxml2_la_LDFLAGS = @WIN32_EXTRA_LDFLAGS@ -version-info @LIBXML_VERSION_INFO@
+libxml2_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -version-info @LIBXML_VERSION_INFO@
 @WITH_TRIO_SOURCES_FALSE at 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  \
@@ -502,11 +513,16 @@
 testReader_LDFLAGS = 
 testReader_DEPENDENCIES = $(DEPS)
 testReader_LDADD = $(LDADDS)
+testapi_SOURCES = testapi.c
+testapi_LDFLAGS = 
+testapi_DEPENDENCIES = $(DEPS)
+testapi_LDADD = $(LDADDS)
 CLEANFILES = xml2Conf.sh
 confexecdir = $(libdir)
 confexec_DATA = xml2Conf.sh
+CVS_EXTRA_DIST = 
 EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
-             libxml.m4 Copyright check-xml-test-suite.py \
+             libxml.m4 Copyright check-xml-test-suite.py gentest.py \
 	     check-relaxng-test-suite.py check-relaxng-test-suite2.py \
 	     check-xsddata-test-suite.py check-xinclude-test-suite.py \
              example/Makefile.am example/gjobread.c example/gjobs.xml \
@@ -514,7 +530,8 @@
 	     trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
 	     triop.h triodef.h libxml.h elfgcchack.h \
 	     testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
-	     dbgen.pl dbgenattr.pl regressions.py regressions.xml
+	     dbgen.pl dbgenattr.pl regressions.py regressions.xml \
+	     $(CVS_EXTRA_DIST)
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libxml-2.0.pc
@@ -685,6 +702,9 @@
 testXPath$(EXEEXT): $(testXPath_OBJECTS) $(testXPath_DEPENDENCIES) 
 	@rm -f testXPath$(EXEEXT)
 	$(LINK) $(testXPath_LDFLAGS) $(testXPath_OBJECTS) $(testXPath_LDADD) $(LIBS)
+testapi$(EXEEXT): $(testapi_OBJECTS) $(testapi_DEPENDENCIES) 
+	@rm -f testapi$(EXEEXT)
+	$(LINK) $(testapi_LDFLAGS) $(testapi_OBJECTS) $(testapi_LDADD) $(LIBS)
 xmlcatalog$(EXEEXT): $(xmlcatalog_OBJECTS) $(xmlcatalog_DEPENDENCIES) 
 	@rm -f xmlcatalog$(EXEEXT)
 	$(LINK) $(xmlcatalog_LDFLAGS) $(xmlcatalog_OBJECTS) $(xmlcatalog_LDADD) $(LIBS)
@@ -751,6 +771,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/testThreads at THREADS_W32@.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/testURI.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/testXPath.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/testapi.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/threads.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tree.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/trio.Plo at am__quote@
@@ -1337,6 +1358,9 @@
 	uninstall-man1 uninstall-man3 uninstall-pkgconfigDATA
 
 
+testapi.c: gentest.py doc/libxml2-api.xml
+	-@(if [ "$(PYTHON)" != "" ] ; then $(PYTHON) gentest.py ; fi )
+
 #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
 #testOOM_LDFLAGS = 
 #testOOM_DEPENDENCIES = $(DEPS)
@@ -1346,15 +1370,20 @@
 
 testall : tests SVGtests SAXtests
 
-tests: XMLtests XMLenttests NStests IDtests Errtests @READER_TEST@ @TEST_SAX@ @TEST_PUSH@ @TEST_HTML@ @TEST_PHTML@  @TEST_VALID@ URItests @TEST_XPATH@ @TEST_XPTR@ @TEST_XINCLUDE@ @TEST_C14N@ @TEST_DEBUG@ @TEST_CATALOG@ @TEST_REGEXPS@ @TEST_SCHEMAS@ @TEST_THREADS@ Timingtests @TEST_VTIME@ @PYTHON_TESTS@
-	@(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; $(MAKE) tests ; fi)
-	@(cd doc/examples ; $(MAKE) tests)
+tests: XMLtests XMLenttests NStests IDtests Errtests APItests @READER_TEST@ @TEST_SAX@ @TEST_PUSH@ @TEST_HTML@ @TEST_PHTML@  @TEST_VALID@ URItests @TEST_XPATH@ @TEST_XPTR@ @TEST_XINCLUDE@ @TEST_C14N@ @TEST_DEBUG@ @TEST_CATALOG@ @TEST_REGEXPS@ @TEST_SCHEMAS@ @TEST_THREADS@ Timingtests @TEST_VTIME@ @PYTHON_TESTS@
+	@(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; \
+	    $(MAKE) MAKEFLAGS+=--silent tests ; fi)
+	@(cd doc/examples ; $(MAKE) MAKEFLAGS+=--silent tests)
 
 valgrind:
 	@echo '## Running the regression tests under Valgrind'
 	@echo '## Go get a cup of coffee it is gonna take a while ...'
 	$(MAKE) CHECKER='valgrind -q' tests
 
+APItests: testapi$(EXEEXT)
+	@echo "## Running the API regression tests this may take a little while"
+	-@($(CHECKER) $(top_builddir)/testapi -q)
+
 HTMLtests : testHTML$(EXEEXT)
 	@(echo > .memdump)
 	@echo "## HTML regression tests"
@@ -1500,7 +1529,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/namespaces/$$name result.$$name ; \
-	      diff $(srcdir)/result/namespaces/$$name.err error.$$name` ; \
+	      diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
@@ -1693,13 +1722,28 @@
 	      $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name | grep -v 'failed to load external entity' ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
+	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > result.$$name 2>error.$$name ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
+	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      rm result.$$name error.$$name ; \
+	  fi ; fi ; done)
 	@(echo > .memdump)
 	@echo "## XInclude xmlReader regression tests"
 	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
@@ -1710,13 +1754,28 @@
 	      $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name | grep -v 'failed to load external entity' ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
+	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
+	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      rm result.$$name error.$$name ; \
+	  fi ; fi ; done)
 
 Scripttests : xmllint$(EXEEXT)
 	@(echo > .memdump)
@@ -1728,14 +1787,15 @@
 	  if [ -f $$xml ] ; then \
 	  if [ ! -f $(srcdir)/result/scripts/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name 2> $(srcdir)/result/scripts/$$name.err ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i 2>&1 > result.$$name ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > result.$$name 2> result.$$name.err ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-	      diff $(srcdir)/result/scripts/$$name result.$$name` ; \
+	      diff $(srcdir)/result/scripts/$$name result.$$name ; \
+	      diff $(srcdir)/result/scripts/$$name.err result.$$name.err` ; \
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-	      rm result.$$name ; \
+	      rm result.$$name result.$$name.err ; \
 	  fi ; fi ; done)
 
 Catatests : xmlcatalog$(EXEEXT)
@@ -1980,7 +2040,7 @@
 
 $(srcdir)/dba100000.xml: dbgenattr.pl
 	@echo "## generating dba100000.xml"
-	@($(top_srcdir)/dbgenattr.pl 100000 > $(srcdir)/dba100000.xml)
+	@($(PERL) $(top_srcdir)/dbgenattr.pl 100000 > $(srcdir)/dba100000.xml)
 
 Timingtests: xmllint$(EXEEXT) $(srcdir)/dba100000.xml
 	@echo "## Timing tests to try to detect performance"
@@ -2159,8 +2219,10 @@
 	    PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH; \
 	    export PYTHONPATH; \
 	    echo "## XML Schemas datatypes Python based test suite" ; \
+	    echo "## It is normal to see 6 errors reported" ; \
 	    $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
 	  fi)
+	@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
 
 cleanup:
 	-@(find . -name .\#\* -exec rm {} \;)
@@ -2169,11 +2231,14 @@
 	-cp libxml2.spec $(distdir)
 	(cd $(srcdir) ; tar -cf - --exclude CVS win32 macos vms test result SAXresult ) | (cd $(distdir); tar xf -)
 
+dist-source: distdir
+	$(AMTAR) -chof - --exclude test --exclude result $(distdir) | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-sources+"`.tar.gz
+
 cleantar:
 	@(rm -f libxml*.tar.gz COPYING.LIB)
 
 rpm: cleanup cleantar
-	@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
+	@(unset CDPATH ; $(MAKE) dist-source dist && rpmbuild -ta $(distdir).tar.gz)
 
 xml2Conf.sh: xml2Conf.sh.in Makefile
 	sed -e 's?\@XML_LIBDIR\@?$(XML_LIBDIR)?g' \
@@ -2191,6 +2256,9 @@
 	- at INSTALL@ -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR)
 	- at INSTALL@ -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR)
 	- at INSTALL@ -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR)
+
+tst: tst.c
+	$(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:

Modified: packages/libxml2/branches/unstable/NEWS
===================================================================
--- packages/libxml2/branches/unstable/NEWS	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/NEWS	2005-02-16 19:06:11 UTC (rev 352)
@@ -9,7 +9,102 @@
    - Finishing up XML
   Schemas
 
-There is the list of public releases:
+The change log at 
+ChangeLog.html
+ describes the recents commits
+to the CVS at 
+http://cvs.gnome.org/viewcvs/libxml2/
+ code base.There is the list of public releases:
+2.6.16: Nov 10 2004:
+   - general hardening and bug fixing crossing all the API based on new
+    automated regression testing
+   - build fix: IPv6 build and test on AIX (Dodji Seketeli)
+   - bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
+    conversion functions return values, UTF-8 bug affecting XPath reported by
+    Markus Bertheau, catalog problem with NULL entries (William Brack)
+   - documentation: fix to xmllint man page, some API function descritpion
+    were updated.
+   - improvements: DTD validation APIs provided at the Python level (Brent
+    Hendricks) 
+
+
+2.6.15: Oct 27 2004:
+   - security fixes on the nanoftp and nanohttp modules
+   - build fixes: xmllint detection bug in configure, building outside the
+    source tree (Thomas Fitzsimmons)
+   - bug fixes: HTML parser on broken ASCII chars in names (William), Python
+    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
+    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
+    (Malcolm), save back <group> in catalogs (William), tree build
+    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
+    on Python 64bits, thread local memory deallocation, memory leak reported
+    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
+    entities and _private problem (William), xmlBuildRelativeURI error
+    (William).
+   - improvements: better XInclude error reports (William), tree debugging
+    module and tests, convenience functions at the Reader API (Graham
+    Bennett), add support for PI in the HTML parser.
+
+
+2.6.14: Sep 29 2004:
+   - build fixes: configure paths for xmllint and xsltproc, compilation
+    without HTML parser, compilation warning cleanups (William Brack &
+    Malcolm Tredinnick), VMS makefile update (Craig Berry),
+   - bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
+    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
+    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
+    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
+    handling of failed realloc(), out of bound array adressing in Schemas
+    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
+    E20 validation fix (Malcolm),
+   - improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
+    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
+    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
+    Tredinnick), Schemas support for xsi:schemaLocation,
+    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)
+
+
+2.6.13: Aug 31 2004:
+   - build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
+    Solaris compiler warning, fixing RPM BuildRequires,
+   - fixes: DTD loading on Windows (Igor), Schemas error reports APIs
+    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
+    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
+    problem (William), Schemas hexbinary empty values, encoding error could
+    genrate a serialization loop.
+   - Improvements: Schemas validity improvements (Kasimier), added --path
+    and --load-trace options to xmllint
+   - documentation: tutorial update (John Fleck)
+
+
+2.6.12: Aug 22 2004:
+   - build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
+    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
+    Chin), some 64bits cleanups.
+   - Python: avoid a warning with 2.3 (William Brack), tab and space mixes
+    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
+    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
+    (Torkel Lyng)
+   - Schemas: a lot of bug fixes and improvements from Kasimier Buchcik
+   - fixes: RVT fixes (William), XPath context resets bug (William), memory
+    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
+    xmlReader state after attribute reading (William), structured error
+    handler (William), XInclude generated xml:base fixup (William), Windows
+    memory reallocation problem (Steve Hay), Out of Memory conditions
+    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
+    htmlReadMemory init (William), a posteriori validation DTD base
+    (William), notations serialization missing, xmlGetNodePath (Dodji),
+    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
+  (William)
+   - improvements: DocBook catalog build scrip (William), xmlcatalog tool
+    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
+    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
+    to not generate start/end nodes, extend xmllint --version to include CVS
+    tag (William)
+   - documentation: web pages fixes, validity API docs fixes (William)
+    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)
+
+
 2.6.11: July 5 2004:
    - Schemas: a lot of changes and improvements by Kasimier Buchcik for
     attributes, namespaces and simple types.
@@ -18,12 +113,12 @@
    - portability: Windows binary package change (Igor Zlatkovic), Catalog
     path on Windows
    - documentation: update to the tutorial (John Fleck), xmllint return code
-    (John Fleck), man pages (Ville Skytta), 
+    (John Fleck), man pages (Ville Skytta),
    - bug fixes: C14N bug serializing namespaces (Aleksey Sanin), testSAX
     properly initialize the library (William), empty node set in XPath
     (William), xmlSchemas errors (William), invalid charref problem pointed
     by Morus Walter, XInclude xml:base generation (William), Relax-NG bug
-    with div processing (William), XPointer and xml:base problem(William), 
+    with div processing (William), XPointer and xml:base problem(William),
     Reader and entities, xmllint return code for schemas (William), reader
     streaming problem (Steve Ball), DTD serialization problem (William),
     libxml.m4 fixes (Mike Hommey), do not provide destructors as methods on

Modified: packages/libxml2/branches/unstable/SAX.c
===================================================================
--- packages/libxml2/branches/unstable/SAX.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/SAX.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -115,6 +115,7 @@
     hdlr->characters = xmlSAX2Characters;
     hdlr->cdataBlock = xmlSAX2CDataBlock;
     hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
+    hdlr->processingInstruction = xmlSAX2ProcessingInstruction;
     hdlr->processingInstruction = NULL;
     hdlr->comment = xmlSAX2Comment;
     hdlr->warning = xmlParserWarning;

Modified: packages/libxml2/branches/unstable/SAX2.c
===================================================================
--- packages/libxml2/branches/unstable/SAX2.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/SAX2.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -44,6 +44,22 @@
 	    "Unimplemented block at %s:%d\n",				\
             __FILE__, __LINE__);
 
+/*
+ * xmlSAX2ErrMemory:
+ * @ctxt:  an XML validation parser context
+ * @msg:   a string to accompany the error message
+ */
+static void
+xmlSAX2ErrMemory(xmlParserCtxtPtr ctxt, const char *msg) {
+    if (ctxt != NULL) {
+	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
+	    ctxt->sax->error(ctxt->userData, "%s: out of memory\n", msg);
+	ctxt->errNo = XML_ERR_NO_MEMORY;
+	ctxt->instate = XML_PARSER_EOF;
+	ctxt->disableSAX = 1;
+    }
+}
+
 /**
  * xmlValidError:
  * @ctxt:  an XML validation parser context
@@ -63,16 +79,19 @@
     if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
         (ctxt->instate == XML_PARSER_EOF))
 	return;
-    ctxt->errNo = error;
-    if ((ctxt->sax != NULL) && (ctxt->sax->initialized == XML_SAX2_MAGIC))
-        schannel = ctxt->sax->serror;
+    if (ctxt != NULL) {
+	ctxt->errNo = error;
+	if ((ctxt->sax != NULL) && (ctxt->sax->initialized == XML_SAX2_MAGIC))
+	    schannel = ctxt->sax->serror;
+    }
     __xmlRaiseError(schannel,
                     ctxt->vctxt.error, ctxt->vctxt.userData,
                     ctxt, NULL, XML_FROM_DTD, error,
                     XML_ERR_ERROR, NULL, 0, (const char *) str1,
 		    (const char *) str2, NULL, 0, 0,
 		    msg, (const char *) str1, (const char *) str2);
-    ctxt->valid = 0;
+    if (ctxt != NULL)
+	ctxt->valid = 0;
 }
 
 /**
@@ -103,6 +122,7 @@
 xmlSAX2GetSystemId(void *ctx)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if ((ctx == NULL) || (ctxt->input == NULL)) return(0);
     return((const xmlChar *) ctxt->input->filename); 
 }
 
@@ -118,6 +138,7 @@
 xmlSAX2GetLineNumber(void *ctx)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if ((ctx == NULL) || (ctxt->input == NULL)) return(0);
     return(ctxt->input->line);
 }
 
@@ -133,6 +154,7 @@
 xmlSAX2GetColumnNumber(void *ctx)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if ((ctx == NULL) || (ctxt->input == NULL)) return(0);
     return(ctxt->input->col);
 }
 
@@ -148,6 +170,7 @@
 xmlSAX2IsStandalone(void *ctx)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if ((ctx == NULL) || (ctxt->myDoc == NULL)) return(0);
     return(ctxt->myDoc->standalone == 1);
 }
 
@@ -163,6 +186,7 @@
 xmlSAX2HasInternalSubset(void *ctx)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if ((ctxt == NULL) || (ctxt->myDoc == NULL)) return(0);
     return(ctxt->myDoc->intSubset != NULL);
 }
 
@@ -178,6 +202,7 @@
 xmlSAX2HasExternalSubset(void *ctx)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if ((ctxt == NULL) || (ctxt->myDoc == NULL)) return(0);
     return(ctxt->myDoc->extSubset != NULL);
 }
 
@@ -196,6 +221,7 @@
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlDtdPtr dtd;
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2InternalSubset(%s, %s, %s)\n",
@@ -214,6 +240,8 @@
     }
     ctxt->myDoc->intSubset = 
 	xmlCreateIntSubset(ctxt->myDoc, name, ExternalID, SystemID);
+    if (ctxt->myDoc->intSubset == NULL)
+        xmlSAX2ErrMemory(ctxt, "xmlSAX2InternalSubset");
 }
 
 /**
@@ -230,6 +258,7 @@
 	       const xmlChar *ExternalID, const xmlChar *SystemID)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2ExternalSubset(%s, %s, %s)\n",
@@ -273,13 +302,7 @@
 	ctxt->inputTab = (xmlParserInputPtr *)
 	                 xmlMalloc(5 * sizeof(xmlParserInputPtr));
 	if (ctxt->inputTab == NULL) {
-	    ctxt->errNo = XML_ERR_NO_MEMORY;
-	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-		ctxt->sax->error(ctxt->userData, 
-		     "xmlSAX2ExternalSubset: out of memory\n");
-	    ctxt->errNo = XML_ERR_NO_MEMORY;
-	    ctxt->instate = XML_PARSER_EOF;
-	    ctxt->disableSAX = 1;
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2ExternalSubset");
 	    ctxt->input = oldinput;
 	    ctxt->inputNr = oldinputNr;
 	    ctxt->inputMax = oldinputMax;
@@ -356,6 +379,7 @@
     xmlChar *URI;
     const char *base = NULL;
 
+    if (ctx == NULL) return(NULL);
     if (ctxt->input != NULL)
 	base = ctxt->input->filename;
     if (base == NULL)
@@ -390,6 +414,7 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlEntityPtr ret = NULL;
 
+    if (ctx == NULL) return(NULL);
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2GetEntity(%s)\n", name);
@@ -469,6 +494,7 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlEntityPtr ret;
 
+    if (ctx == NULL) return(NULL);
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2GetParameterEntity(%s)\n", name);
@@ -497,6 +523,7 @@
     xmlEntityPtr ent;
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
 
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2EntityDecl(%s, %d, %s, %s, %s)\n",
@@ -568,6 +595,7 @@
     xmlAttributePtr attr;
     xmlChar *name = NULL, *prefix = NULL;
 
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2AttributeDecl(%s, %s, %d, %d, %s, ...)\n",
@@ -631,6 +659,7 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlElementPtr elem = NULL;
 
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
                     "SAX.xmlSAX2ElementDecl(%s, %d, ...)\n", name, type);
@@ -675,6 +704,7 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNotationPtr nota = NULL;
 
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2NotationDecl(%s, %s, %s)\n", name, publicId, systemId);
@@ -725,6 +755,7 @@
 {
     xmlEntityPtr ent;
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2UnparsedEntityDecl(%s, %s, %s, %s)\n",
@@ -807,6 +838,8 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlDocPtr doc;
 
+    if (ctx == NULL) return;
+
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2StartDocument()\n");
@@ -816,12 +849,7 @@
 	if (ctxt->myDoc == NULL)
 	    ctxt->myDoc = htmlNewDocNoDtD(NULL, NULL);
 	if (ctxt->myDoc == NULL) {
-	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-		ctxt->sax->error(ctxt->userData, 
-		     "SAX.xmlSAX2StartDocument(): out of memory\n");
-	    ctxt->errNo = XML_ERR_NO_MEMORY;
-	    ctxt->instate = XML_PARSER_EOF;
-	    ctxt->disableSAX = 1;
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2StartDocument");
 	    return;
 	}
 #else
@@ -841,12 +869,7 @@
 		doc->encoding = NULL;
 	    doc->standalone = ctxt->standalone;
 	} else {
-	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-		ctxt->sax->error(ctxt->userData, 
-		     "SAX.xmlSAX2StartDocument(): out of memory\n");
-	    ctxt->errNo = XML_ERR_NO_MEMORY;
-	    ctxt->instate = XML_PARSER_EOF;
-	    ctxt->disableSAX = 1;
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2StartDocument");
 	    return;
 	}
 	if ((ctxt->dictNames) && (doc != NULL)) {
@@ -858,7 +881,7 @@
 	(ctxt->input != NULL) && (ctxt->input->filename != NULL)) {
 	ctxt->myDoc->URL = xmlCanonicPath((const xmlChar *) ctxt->input->filename);
 	if (ctxt->myDoc->URL == NULL)
-	    ctxt->myDoc->URL = xmlStrdup((const xmlChar *) ctxt->input->filename);
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2StartDocument");
     }
 }
 
@@ -876,6 +899,7 @@
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2EndDocument()\n");
 #endif
+    if (ctx == NULL) return;
 #ifdef LIBXML_VALID_ENABLED
     if (ctxt->validate && ctxt->wellFormed &&
         ctxt->myDoc && ctxt->myDoc->intSubset)
@@ -890,7 +914,9 @@
 	ctxt->myDoc->encoding = ctxt->encoding;
 	ctxt->encoding = NULL;
     }
-    if ((ctxt->inputTab[0]->encoding != NULL) && (ctxt->myDoc != NULL) &&
+    if ((ctxt->inputTab != NULL) &&
+        (ctxt->inputNr > 0) && (ctxt->inputTab[0] != NULL) &&
+        (ctxt->inputTab[0]->encoding != NULL) && (ctxt->myDoc != NULL) &&
 	(ctxt->myDoc->encoding == NULL)) {
 	ctxt->myDoc->encoding = xmlStrdup(ctxt->inputTab[0]->encoding);
     }
@@ -945,12 +971,7 @@
 	name = xmlStrdup(fullname);
     }
     if (name == NULL) {
-	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-	    ctxt->sax->error(ctxt->userData, 
-		 "SAX.xmlSAX2StartElement(): out of memory\n");
-	ctxt->errNo = XML_ERR_NO_MEMORY;
-	ctxt->instate = XML_PARSER_EOF;
-	ctxt->disableSAX = 1;
+        xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
 	if (ns != NULL)
 	    xmlFree(ns);
 	return;
@@ -1044,12 +1065,7 @@
 		                          0,0,0);
 	    ctxt->depth--;
 	    if (val == NULL) {
-		if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-		    ctxt->sax->error(ctxt->userData, 
-			 "SAX.xmlSAX2StartElement(): out of memory\n");
-		ctxt->errNo = XML_ERR_NO_MEMORY;
-		ctxt->instate = XML_PARSER_EOF;
-		ctxt->disableSAX = 1;
+	        xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
 	        xmlFree(ns);
 		if (name != NULL) 
 		    xmlFree(name);
@@ -1345,13 +1361,7 @@
 
                         fulln = xmlBuildQName(attr->name, attr->prefix, fn, 50);
 			if (fulln == NULL) {
-			    if ((ctxt->sax != NULL) &&
-			        (ctxt->sax->error != NULL))
-				ctxt->sax->error(ctxt->userData, 
-				     "SAX.xmlSAX2StartElement(): out of memory\n");
-			    ctxt->errNo = XML_ERR_NO_MEMORY;
-			    ctxt->instate = XML_PARSER_EOF;
-			    ctxt->disableSAX = 1;
+			    xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
 			    return;
 			}
 
@@ -1403,7 +1413,7 @@
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNodePtr ret;
-    xmlNodePtr parent = ctxt->node;
+    xmlNodePtr parent;
     xmlNsPtr ns;
     xmlChar *name;
     xmlChar *prefix;
@@ -1411,6 +1421,8 @@
     const xmlChar *value;
     int i;
 
+    if ((ctx == NULL) || (fullname == NULL) || (ctxt->myDoc == NULL)) return;
+    parent = ctxt->node;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2StartElement(%s)\n", fullname);
@@ -1446,9 +1458,7 @@
     if (ret == NULL) {
         if (prefix != NULL)
 	    xmlFree(prefix);
-	ctxt->errNo = XML_ERR_NO_MEMORY;
-	ctxt->instate = XML_PARSER_EOF;
-	ctxt->disableSAX = 1;
+	xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
         return;
     }
     if (ctxt->myDoc->children == NULL) {
@@ -1580,7 +1590,7 @@
      * If it's the Document root, finish the DTD validation and
      * check the document root element for validity
      */
-    if ((ctxt->validate) && (ctxt->vctxt.finishDtd == 0)) {
+    if ((ctxt->validate) && (ctxt->vctxt.finishDtd == XML_CTXT_FINISH_DTD_0)) {
 	int chk;
 
 	chk = xmlValidateDtdFinal(&ctxt->vctxt, ctxt->myDoc);
@@ -1589,7 +1599,7 @@
 	if (chk < 0)
 	    ctxt->wellFormed = 0;
 	ctxt->valid &= xmlValidateRoot(&ctxt->vctxt, ctxt->myDoc);
-	ctxt->vctxt.finishDtd = 1;
+	ctxt->vctxt.finishDtd = XML_CTXT_FINISH_DTD_1;
     }
 #endif /* LIBXML_VALID_ENABLED */
 
@@ -1610,8 +1620,10 @@
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlParserNodeInfo node_info;
-    xmlNodePtr cur = ctxt->node;
+    xmlNodePtr cur;
 
+    if (ctx == NULL) return;
+    cur = ctxt->node;
 #ifdef DEBUG_SAX
     if (name == NULL)
         xmlGenericError(xmlGenericErrorContext, "SAX.xmlSAX2EndElement(NULL)\n");
@@ -1672,12 +1684,7 @@
 	ret = (xmlNodePtr) xmlMalloc(sizeof(xmlNode));
     }
     if (ret == NULL) {
-	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-	    ctxt->sax->error(ctxt->userData, 
-		 "SAX.xmlSAX2Characters(): out of memory\n");
-	ctxt->errNo = XML_ERR_NO_MEMORY;
-	ctxt->instate = XML_PARSER_EOF;
-	ctxt->disableSAX = 1;
+        xmlErrMemory(ctxt, "xmlSAX2Characters");
 	return(NULL);
     }
     /*
@@ -1705,9 +1712,14 @@
     ret->type = XML_TEXT_NODE;
 
     ret->name = xmlStringText;
-    if (intern == NULL)
+    if (intern == NULL) {
 	ret->content = xmlStrndup(str, len);
-    else
+	if (ret->content == NULL) {
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2TextNode");
+	    xmlFree(ret);
+	    return(NULL);
+	}
+    } else
 	ret->content = (xmlChar *) intern;
 
     if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))
@@ -1816,9 +1828,7 @@
 	else
 	    ret = xmlNewNsProp(ctxt->node, namespace, localname, NULL);
 	if (ret == NULL) {
-	    ctxt->errNo = XML_ERR_NO_MEMORY;
-	    ctxt->instate = XML_PARSER_EOF;
-	    ctxt->disableSAX = 1;
+	    xmlErrMemory(ctxt, "xmlSAX2AttributeNs");
 	    return;
 	}
     }
@@ -1844,6 +1854,7 @@
 						    valueend - value);
 	    tmp = ret->children;
 	    while (tmp != NULL) {
+	        tmp->doc = ret->doc;
 		tmp->parent = (xmlNodePtr) ret;
 		if (tmp->next == NULL)
 		    ret->last = tmp;
@@ -2002,11 +2013,13 @@
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNodePtr ret;
-    xmlNodePtr parent = ctxt->node;
+    xmlNodePtr parent;
     xmlNsPtr last = NULL, ns;
     const xmlChar *uri, *pref;
     int i, j;
 
+    if (ctx == NULL) return;
+    parent = ctxt->node;
     /*
      * First check on validity:
      */
@@ -2033,9 +2046,13 @@
 
 	if (ctxt->dictNames)
 	    ret->name = localname;
-	else
+	else {
 	    ret->name = xmlStrdup(localname);
-
+	    if (ret->name == NULL) {
+	        xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
+		return;
+	    }
+	}
 	if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))
 	    xmlRegisterNodeDefaultValue(ret);
     } else {
@@ -2045,9 +2062,7 @@
 	else
 	    ret = xmlNewDocNode(ctxt->myDoc, NULL, localname, NULL);
 	if (ret == NULL) {
-	    ctxt->errNo = XML_ERR_NO_MEMORY;
-	    ctxt->instate = XML_PARSER_EOF;
-	    ctxt->disableSAX = 1;
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
 	    return;
 	}
     }
@@ -2060,10 +2075,8 @@
 	}
     }
 
-    if (ctxt->myDoc->children == NULL) {
+    if ((ctxt->myDoc->children == NULL) || (parent == NULL)) {
         xmlAddChild((xmlNodePtr) ctxt->myDoc, (xmlNodePtr) ret);
-    } else if (parent == NULL) {
-        parent = ctxt->myDoc->children;
     }
     /*
      * Build the namespace list
@@ -2082,9 +2095,7 @@
 	    if ((URI != NULL) && (prefix == pref))
 		ret->ns = ns;
 	} else {
-	    ctxt->errNo = XML_ERR_NO_MEMORY;
-	    ctxt->instate = XML_PARSER_EOF;
-	    ctxt->disableSAX = 1;
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
 	    return;
 	}
 #ifdef LIBXML_VALID_ENABLED
@@ -2122,11 +2133,16 @@
 
     /*
      * Search the namespace if it wasn't already found
+     * Note that, if prefix is NULL, this searches for the default Ns
      */
     if ((URI != NULL) && (ret->ns == NULL)) {
-	ret->ns = xmlSearchNs(ctxt->myDoc, parent, prefix);
+        ret->ns = xmlSearchNs(ctxt->myDoc, parent, prefix);
 	if (ret->ns == NULL) {
 	    ns = xmlNewNs(ret, NULL, prefix);
+	    if (ns == NULL) {
+	        xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElementNs");
+		return;
+	    }
 	    if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
 		ctxt->sax->warning(ctxt->userData, 
 		     "Namespace prefix %s was not found\n", prefix);
@@ -2148,7 +2164,7 @@
      * If it's the Document root, finish the DTD validation and
      * check the document root element for validity
      */
-    if ((ctxt->validate) && (ctxt->vctxt.finishDtd == 0)) {
+    if ((ctxt->validate) && (ctxt->vctxt.finishDtd == XML_CTXT_FINISH_DTD_0)) {
 	int chk;
 
 	chk = xmlValidateDtdFinal(&ctxt->vctxt, ctxt->myDoc);
@@ -2157,7 +2173,7 @@
 	if (chk < 0)
 	    ctxt->wellFormed = 0;
 	ctxt->valid &= xmlValidateRoot(&ctxt->vctxt, ctxt->myDoc);
-	ctxt->vctxt.finishDtd = 1;
+	ctxt->vctxt.finishDtd = XML_CTXT_FINISH_DTD_1;
     }
 #endif /* LIBXML_VALID_ENABLED */
 }
@@ -2180,8 +2196,10 @@
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlParserNodeInfo node_info;
-    xmlNodePtr cur = ctxt->node;
+    xmlNodePtr cur;
 
+    if (ctx == NULL) return;
+    cur = ctxt->node;
     /* Capture end position and add node */
     if ((ctxt->record_info) && (cur != NULL)) {
         node_info.end_pos = ctxt->input->cur - ctxt->input->base;
@@ -2216,6 +2234,7 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNodePtr ret;
 
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2Reference(%s)\n", name);
@@ -2245,6 +2264,7 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNodePtr lastChild;
 
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2Characters(%.30s, %d)\n", ch, len);
@@ -2281,6 +2301,9 @@
 	    lastChild->doc = ctxt->node->doc;
 	    ctxt->nodelen = len;
 	    ctxt->nodemem = len + 1;
+	} else {
+	    xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters");
+	    return;
 	}
     } else {
 	int coalesceText = (lastChild != NULL) &&
@@ -2306,12 +2329,7 @@
 		size *= 2;
                 newbuf = (xmlChar *) xmlRealloc(lastChild->content,size);
 		if (newbuf == NULL) {
-		    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-			ctxt->sax->error(ctxt->userData, 
-			     "SAX.xmlSAX2Characters(): out of memory\n");
-		    ctxt->errNo = XML_ERR_NO_MEMORY;
-		    ctxt->instate = XML_PARSER_EOF;
-		    ctxt->disableSAX = 1;
+		    xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters");
 		    return;
 		}
 		ctxt->nodemem = size;
@@ -2322,12 +2340,7 @@
 	    lastChild->content[ctxt->nodelen] = 0;
 	} else if (coalesceText) {
 	    if (xmlTextConcat(lastChild, ch, len)) {
-		if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
-		    ctxt->sax->error(ctxt->userData, 
-			 "SAX.xmlSAX2Characters(): out of memory\n");
-		ctxt->errNo = XML_ERR_NO_MEMORY;
-		ctxt->instate = XML_PARSER_EOF;
-		ctxt->disableSAX = 1;
+		xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters");
 	    }
 	    if (ctxt->node->children != NULL) {
 		ctxt->nodelen = xmlStrlen(lastChild->content);
@@ -2380,14 +2393,16 @@
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNodePtr ret;
-    xmlNodePtr parent = ctxt->node;
+    xmlNodePtr parent;
 
+    if (ctx == NULL) return;
+    parent = ctxt->node;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.xmlSAX2ProcessingInstruction(%s, %s)\n", target, data);
 #endif
 
-    ret = xmlNewPI(target, data);
+    ret = xmlNewDocPI(ctxt->myDoc, target, data);
     if (ret == NULL) return;
     parent = ctxt->node;
 
@@ -2434,8 +2449,10 @@
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNodePtr ret;
-    xmlNodePtr parent = ctxt->node;
+    xmlNodePtr parent;
 
+    if (ctx == NULL) return;
+    parent = ctxt->node;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext, "SAX.xmlSAX2Comment(%s)\n", value);
 #endif
@@ -2487,6 +2504,7 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlNodePtr ret, lastChild;
 
+    if (ctx == NULL) return;
 #ifdef DEBUG_SAX
     xmlGenericError(xmlGenericErrorContext,
 	    "SAX.pcdata(%.10s, %d)\n", value, len);
@@ -2633,7 +2651,7 @@
 void
 xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr)
 {
-    if(hdlr->initialized != 0)
+    if ((hdlr == NULL) || (hdlr->initialized != 0))
 	return;
 
     hdlr->internalSubset = xmlSAX2InternalSubset;
@@ -2658,7 +2676,7 @@
     hdlr->characters = xmlSAX2Characters;
     hdlr->cdataBlock = xmlSAX2CDataBlock;
     hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
-    hdlr->processingInstruction = NULL;
+    hdlr->processingInstruction = xmlSAX2ProcessingInstruction;
     hdlr->comment = xmlSAX2Comment;
     hdlr->warning = xmlParserWarning;
     hdlr->error = xmlParserError;
@@ -2691,7 +2709,7 @@
 void
 xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr)
 {
-    if(hdlr->initialized != 0)
+    if ((hdlr == NULL) || (hdlr->initialized != 0))
 	return;
 
     hdlr->internalSubset = xmlSAX2InternalSubset;

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

Modified: packages/libxml2/branches/unstable/acconfig.h
===================================================================
--- packages/libxml2/branches/unstable/acconfig.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/acconfig.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -6,7 +6,6 @@
 #undef HAVE_ISNAN
 #undef HAVE_LIBHISTORY
 #undef HAVE_LIBREADLINE
-#undef SOCKLEN_T
 #undef HAVE_LIBPTHREAD
 #undef HAVE_PTHREAD_H
 

Modified: packages/libxml2/branches/unstable/aclocal.m4
===================================================================
--- packages/libxml2/branches/unstable/aclocal.m4	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/aclocal.m4	2005-02-16 19:06:11 UTC (rev 352)
@@ -14,7 +14,7 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
 # serial 47 AC_PROG_LIBTOOL
-# Debian $Rev: 203 $
+# Debian $Rev: 214 $
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -1448,6 +1448,18 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -2178,7 +2190,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -3172,7 +3184,7 @@
 	;;
     esac
     ;;
-  netbsd* | knetbsd*-gnu)
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -4662,7 +4674,7 @@
 	    ;;
 	esac
 	;;
-      netbsd* | knetbsd*-gnu)
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
 	;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
@@ -5105,7 +5117,7 @@
       fi
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -5523,7 +5535,7 @@
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else

Modified: packages/libxml2/branches/unstable/autogen.sh
===================================================================
--- packages/libxml2/branches/unstable/autogen.sh	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/autogen.sh	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,8 +1,11 @@
 #!/bin/sh
 ## ----------------------------------------------------------------------
-## autogen.sh : refresh GNU autotools toolchain for libxml2
+## autogen.sh : refresh GNU autotools toolchain for libxml2, and
+## refreshes doc/examples/index.html
+## For use in root directory of the build tree ONLY.
 ## ----------------------------------------------------------------------
-## Requires: autoconf (2.5x), automake1.8, libtool (1.5.x)
+## Requires: autoconf (2.5x), automake1.8, libtool (1.5.x), xsltproc,
+## libxml2-utils
 ## ----------------------------------------------------------------------
 
 ## ----------------------------------------------------------------------
@@ -26,6 +29,12 @@
 # clean up the junk that was created
 rm -rf autom4te.cache
 
+# rebuild doc/examples/index.html
+cd doc/examples
+xsltproc examples.xsl examples.xml
+xmllint --valid --noout index.html
+cd ../..
+
 ## ----------------------------------------------------------------------
 exit 0
 

Modified: packages/libxml2/branches/unstable/catalog.c
===================================================================
--- packages/libxml2/branches/unstable/catalog.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/catalog.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -75,6 +75,7 @@
 unsigned long __stdcall GetModuleFileNameA(void*, char*, unsigned long);
 #endif
 
+static xmlChar *xmlCatalogNormalizePublic(const xmlChar *pubID);
 static int xmlExpandCatalog(xmlCatalogPtr catal, const char *filename);
 
 /************************************************************************
@@ -89,6 +90,7 @@
     XML_CATA_CATALOG,
     XML_CATA_BROKEN_CATALOG,
     XML_CATA_NEXT_CATALOG,
+    XML_CATA_GROUP,
     XML_CATA_PUBLIC,
     XML_CATA_SYSTEM,
     XML_CATA_REWRITE_SYSTEM,
@@ -124,6 +126,7 @@
     xmlCatalogPrefer prefer;
     int dealloc;
     int depth;
+    struct _xmlCatalogEntry *group;
 };
 
 typedef enum {
@@ -244,6 +247,7 @@
  * @name:  name of the entry
  * @value:  value of the entry
  * @prefer:  the PUBLIC vs. SYSTEM current preference value
+ * @group:  for members of a group, the group entry 
  *
  * create a new Catalog entry, this type is shared both by XML and 
  * SGML catalogs, but the acceptable types values differs.
@@ -252,8 +256,10 @@
  */
 static xmlCatalogEntryPtr
 xmlNewCatalogEntry(xmlCatalogEntryType type, const xmlChar *name,
-	   const xmlChar *value, const xmlChar *URL, xmlCatalogPrefer prefer) {
+	   const xmlChar *value, const xmlChar *URL, xmlCatalogPrefer prefer,
+	   xmlCatalogEntryPtr group) {
     xmlCatalogEntryPtr ret;
+    xmlChar *normid = NULL;
 
     ret = (xmlCatalogEntryPtr) xmlMalloc(sizeof(xmlCatalogEntry));
     if (ret == NULL) {
@@ -264,10 +270,17 @@
     ret->parent = NULL;
     ret->children = NULL;
     ret->type = type;
+    if (type == XML_CATA_PUBLIC || type == XML_CATA_DELEGATE_PUBLIC) {
+        normid = xmlCatalogNormalizePublic(name);
+        if (normid != NULL)
+            name = (*normid != 0 ? normid : NULL);
+    }
     if (name != NULL)
 	ret->name = xmlStrdup(name);
     else
 	ret->name = NULL;
+    if (normid != NULL)
+        xmlFree(normid);
     if (value != NULL)
 	ret->value = xmlStrdup(value);
     else
@@ -281,6 +294,7 @@
     ret->prefer = prefer;
     ret->dealloc = 0;
     ret->depth = 0;
+    ret->group = group;
     return(ret);
 }
 
@@ -495,15 +509,142 @@
     fprintf(out, "\n");
 }
 
+/**
+ * xmlDumpXMLCatalogNode:
+ * @catal:  top catalog entry
+ * @catalog: pointer to the xml tree
+ * @doc: the containing document
+ * @ns: the current namespace
+ * @cgroup: group node for group members
+ *
+ * Serializes a Catalog entry, called by xmlDumpXMLCatalog and recursively
+ * for group entries
+ */
+static void xmlDumpXMLCatalogNode(xmlCatalogEntryPtr catal, xmlNodePtr catalog,
+		    xmlDocPtr doc, xmlNsPtr ns, xmlCatalogEntryPtr cgroup) {
+    xmlNodePtr node;
+    xmlCatalogEntryPtr cur;
+    /*
+     * add all the catalog entries
+     */
+    cur = catal;
+    while (cur != NULL) {
+        if (cur->group == cgroup) {
+	    switch (cur->type) {
+	        case XML_CATA_REMOVED:
+		    break;
+	        case XML_CATA_BROKEN_CATALOG:
+	        case XML_CATA_CATALOG:
+		    if (cur == catal) {
+			cur = cur->children;
+		        continue;
+		    }
+		    break;
+		case XML_CATA_NEXT_CATALOG:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "nextCatalog", NULL);
+		    xmlSetProp(node, BAD_CAST "catalog", cur->value);
+		    xmlAddChild(catalog, node);
+                    break;
+		case XML_CATA_NONE:
+		    break;
+		case XML_CATA_GROUP:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "group", NULL);
+		    xmlSetProp(node, BAD_CAST "id", cur->name);
+		    if (cur->value != NULL) {
+		        xmlNsPtr xns;
+			xns = xmlSearchNsByHref(doc, node, XML_XML_NAMESPACE);
+			if (xns != NULL)
+			    xmlSetNsProp(node, xns, BAD_CAST "base",
+			    		 cur->value);
+		    }
+		    switch (cur->prefer) {
+			case XML_CATA_PREFER_NONE:
+		            break;
+			case XML_CATA_PREFER_PUBLIC:
+		            xmlSetProp(node, BAD_CAST "prefer", BAD_CAST "public");
+			    break;
+			case XML_CATA_PREFER_SYSTEM:
+		            xmlSetProp(node, BAD_CAST "prefer", BAD_CAST "system");
+			    break;
+		    }
+		    xmlDumpXMLCatalogNode(cur->next, node, doc, ns, cur);
+		    xmlAddChild(catalog, node);
+	            break;
+		case XML_CATA_PUBLIC:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "public", NULL);
+		    xmlSetProp(node, BAD_CAST "publicId", cur->name);
+		    xmlSetProp(node, BAD_CAST "uri", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case XML_CATA_SYSTEM:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "system", NULL);
+		    xmlSetProp(node, BAD_CAST "systemId", cur->name);
+		    xmlSetProp(node, BAD_CAST "uri", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case XML_CATA_REWRITE_SYSTEM:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "rewriteSystem", NULL);
+		    xmlSetProp(node, BAD_CAST "systemIdStartString", cur->name);
+		    xmlSetProp(node, BAD_CAST "rewritePrefix", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case XML_CATA_DELEGATE_PUBLIC:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "delegatePublic", NULL);
+		    xmlSetProp(node, BAD_CAST "publicIdStartString", cur->name);
+		    xmlSetProp(node, BAD_CAST "catalog", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case XML_CATA_DELEGATE_SYSTEM:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "delegateSystem", NULL);
+		    xmlSetProp(node, BAD_CAST "systemIdStartString", cur->name);
+		    xmlSetProp(node, BAD_CAST "catalog", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case XML_CATA_URI:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "uri", NULL);
+		    xmlSetProp(node, BAD_CAST "name", cur->name);
+		    xmlSetProp(node, BAD_CAST "uri", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case XML_CATA_REWRITE_URI:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "rewriteURI", NULL);
+		    xmlSetProp(node, BAD_CAST "uriStartString", cur->name);
+		    xmlSetProp(node, BAD_CAST "rewritePrefix", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case XML_CATA_DELEGATE_URI:
+		    node = xmlNewDocNode(doc, ns, BAD_CAST "delegateURI", NULL);
+		    xmlSetProp(node, BAD_CAST "uriStartString", cur->name);
+		    xmlSetProp(node, BAD_CAST "catalog", cur->value);
+		    xmlAddChild(catalog, node);
+		    break;
+		case SGML_CATA_SYSTEM:
+		case SGML_CATA_PUBLIC:
+		case SGML_CATA_ENTITY:
+		case SGML_CATA_PENTITY:
+		case SGML_CATA_DOCTYPE:
+		case SGML_CATA_LINKTYPE:
+		case SGML_CATA_NOTATION:
+		case SGML_CATA_DELEGATE:
+		case SGML_CATA_BASE:
+		case SGML_CATA_CATALOG:
+		case SGML_CATA_DOCUMENT:
+		case SGML_CATA_SGMLDECL:
+		    break;
+	    }
+        }
+	cur = cur->next;
+    }
+}
+
 static int
 xmlDumpXMLCatalog(FILE *out, xmlCatalogEntryPtr catal) {
     int ret;
     xmlDocPtr doc;
     xmlNsPtr ns;
     xmlDtdPtr dtd;
-    xmlNodePtr node, catalog;
+    xmlNodePtr catalog;
     xmlOutputBufferPtr buf;
-    xmlCatalogEntryPtr cur;
 
     /*
      * Rebuild a catalog
@@ -531,94 +672,9 @@
     catalog->nsDef = ns;
     xmlAddChild((xmlNodePtr) doc, catalog);
 
+    xmlDumpXMLCatalogNode(catal, catalog, doc, ns, NULL);
+    
     /*
-     * add all the catalog entries
-     */
-    cur = catal;
-    while (cur != NULL) {
-	switch (cur->type) {
-	    case XML_CATA_REMOVED:
-		break;
-	    case XML_CATA_BROKEN_CATALOG:
-	    case XML_CATA_CATALOG:
-		if (cur == catal) {
-		    cur = cur->children;
-		    continue;
-		}
-		break;
-	    case XML_CATA_NEXT_CATALOG:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "nextCatalog", NULL);
-		xmlSetProp(node, BAD_CAST "catalog", cur->value);
-		xmlAddChild(catalog, node);
-                break;
-	    case XML_CATA_NONE:
-		break;
-	    case XML_CATA_PUBLIC:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "public", NULL);
-		xmlSetProp(node, BAD_CAST "publicId", cur->name);
-		xmlSetProp(node, BAD_CAST "uri", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case XML_CATA_SYSTEM:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "system", NULL);
-		xmlSetProp(node, BAD_CAST "systemId", cur->name);
-		xmlSetProp(node, BAD_CAST "uri", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case XML_CATA_REWRITE_SYSTEM:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "rewriteSystem", NULL);
-		xmlSetProp(node, BAD_CAST "systemIdStartString", cur->name);
-		xmlSetProp(node, BAD_CAST "rewritePrefix", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case XML_CATA_DELEGATE_PUBLIC:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "delegatePublic", NULL);
-		xmlSetProp(node, BAD_CAST "publicIdStartString", cur->name);
-		xmlSetProp(node, BAD_CAST "catalog", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case XML_CATA_DELEGATE_SYSTEM:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "delegateSystem", NULL);
-		xmlSetProp(node, BAD_CAST "systemIdStartString", cur->name);
-		xmlSetProp(node, BAD_CAST "catalog", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case XML_CATA_URI:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "uri", NULL);
-		xmlSetProp(node, BAD_CAST "name", cur->name);
-		xmlSetProp(node, BAD_CAST "uri", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case XML_CATA_REWRITE_URI:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "rewriteURI", NULL);
-		xmlSetProp(node, BAD_CAST "uriStartString", cur->name);
-		xmlSetProp(node, BAD_CAST "rewritePrefix", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case XML_CATA_DELEGATE_URI:
-		node = xmlNewDocNode(doc, ns, BAD_CAST "delegateURI", NULL);
-		xmlSetProp(node, BAD_CAST "uriStartString", cur->name);
-		xmlSetProp(node, BAD_CAST "catalog", cur->value);
-		xmlAddChild(catalog, node);
-		break;
-	    case SGML_CATA_SYSTEM:
-	    case SGML_CATA_PUBLIC:
-	    case SGML_CATA_ENTITY:
-	    case SGML_CATA_PENTITY:
-	    case SGML_CATA_DOCTYPE:
-	    case SGML_CATA_LINKTYPE:
-	    case SGML_CATA_NOTATION:
-	    case SGML_CATA_DELEGATE:
-	    case SGML_CATA_BASE:
-	    case SGML_CATA_CATALOG:
-	    case SGML_CATA_DOCUMENT:
-	    case SGML_CATA_SGMLDECL:
-		break;
-	}
-	cur = cur->next;
-    }
-
-    /*
      * reserialize it
      */
     buf = xmlOutputBufferCreateFile(out, NULL);
@@ -822,9 +878,11 @@
 
     ctxt = xmlNewParserCtxt();
     if (ctxt == NULL) {
+#ifdef LIBXML_SAX1_ENABLED
 	if (xmlDefaultSAXHandler.error != NULL) {
 	    xmlDefaultSAXHandler.error(NULL, "out of memory\n");
 	}
+#endif
 	return(NULL);
     }
 
@@ -856,6 +914,7 @@
     ctxt->validate = 0;
     ctxt->loadsubset = 0;
     ctxt->pedantic = 0;
+    ctxt->dictNames = 1;
 
     xmlParseDocument(ctxt);
 
@@ -943,6 +1002,61 @@
     return(content);
 }
 
+/**
+ * xmlCatalogNormalizePublic:
+ * @pubID:  the public ID string
+ *
+ *  Normalizes the Public Identifier
+ *
+ * Implements 6.2. Public Identifier Normalization
+ * from http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
+ *
+ * Returns the new string or NULL, the string must be deallocated
+ *         by the caller.
+ */
+static xmlChar *
+xmlCatalogNormalizePublic(const xmlChar *pubID)
+{
+    int ok = 1;
+    int white;
+    const xmlChar *p;
+    xmlChar *ret;
+    xmlChar *q;
+
+    if (pubID == NULL)
+        return(NULL);
+
+    white = 1;
+    for (p = pubID;*p != 0 && ok;p++) {
+        if (!xmlIsBlank_ch(*p))
+            white = 0;
+        else if (*p == 0x20 && !white)
+            white = 1;
+        else
+            ok = 0;
+    }
+    if (ok && !white)	/* is normalized */
+        return(NULL);
+
+    ret = xmlStrdup(pubID);
+    q = ret;
+    white = 0;
+    for (p = pubID;*p != 0;p++) {
+        if (xmlIsBlank_ch(*p)) {
+            if (q != ret)
+                white = 1;
+        } else {
+            if (white) {
+                *(q++) = 0x20;
+                white = 0;
+            }
+            *(q++) = *p;
+        }
+    }
+    *q = 0;
+    return(ret);
+}
+
 /************************************************************************
  *									*
  *			The XML Catalog parser				*
@@ -953,7 +1067,7 @@
 xmlParseXMLCatalogFile(xmlCatalogPrefer prefer, const xmlChar *filename);
 static void
 xmlParseXMLCatalogNodeList(xmlNodePtr cur, xmlCatalogPrefer prefer,
-	                   xmlCatalogEntryPtr parent);
+	                   xmlCatalogEntryPtr parent, xmlCatalogEntryPtr cgroup);
 static xmlChar *
 xmlCatalogListXMLResolve(xmlCatalogEntryPtr catal, const xmlChar *pubID,
 	              const xmlChar *sysID);
@@ -1003,6 +1117,7 @@
  * @attrName:  the attribute holding the value
  * @uriAttrName:  the attribute holding the URI-Reference
  * @prefer:  the PUBLIC vs. SYSTEM current preference value
+ * @cgroup:  the group which includes this node
  *
  * Finishes the examination of an XML tree node of a catalog and build
  * a Catalog entry from it.
@@ -1012,7 +1127,8 @@
 static xmlCatalogEntryPtr
 xmlParseXMLCatalogOneNode(xmlNodePtr cur, xmlCatalogEntryType type,
 			  const xmlChar *name, const xmlChar *attrName,
-			  const xmlChar *uriAttrName, xmlCatalogPrefer prefer) {
+			  const xmlChar *uriAttrName, xmlCatalogPrefer prefer,
+			  xmlCatalogEntryPtr cgroup) {
     int ok = 1;
     xmlChar *uriValue;
     xmlChar *nameValue = NULL;
@@ -1053,7 +1169,7 @@
 		xmlGenericError(xmlGenericErrorContext,
 			"Found %s: '%s'\n", name, URL);
 	}
-	ret = xmlNewCatalogEntry(type, nameValue, uriValue, URL, prefer);
+	ret = xmlNewCatalogEntry(type, nameValue, uriValue, URL, prefer, cgroup);
     } else {
 	xmlCatalogErr(ret, cur, XML_CATALOG_ENTRY_BROKEN,
 		"%s entry '%s' broken ?: %s\n", name, uriAttrName, uriValue);
@@ -1074,6 +1190,7 @@
  * @cur:  the XML node
  * @prefer:  the PUBLIC vs. SYSTEM current preference value
  * @parent:  the parent Catalog entry
+ * @cgroup:  the group which includes this node
  *
  * Examines an XML tree node of a catalog and build
  * a Catalog entry from it adding it to its parent. The examination can
@@ -1081,7 +1198,7 @@
  */
 static void
 xmlParseXMLCatalogNode(xmlNodePtr cur, xmlCatalogPrefer prefer,
-	               xmlCatalogEntryPtr parent)
+	               xmlCatalogEntryPtr parent, xmlCatalogEntryPtr cgroup)
 {
     xmlChar *uri = NULL;
     xmlChar *URL = NULL;
@@ -1092,6 +1209,7 @@
         return;
     if (xmlStrEqual(cur->name, BAD_CAST "group")) {
         xmlChar *prop;
+	xmlCatalogPrefer pref = XML_CATA_PREFER_NONE;
 
         prop = xmlGetProp(cur, BAD_CAST "prefer");
         if (prop != NULL) {
@@ -1105,59 +1223,68 @@
 			      prop, NULL, NULL);
             }
             xmlFree(prop);
+	    pref = prefer;
         }
-	/*
-	 * Recurse to propagate prefer to the subtree
-	 * (xml:base handling is automated)
-	 */
-        xmlParseXMLCatalogNodeList(cur->children, prefer, parent);
+	prop = xmlGetProp(cur, BAD_CAST "id");
+	base = xmlGetNsProp(cur, BAD_CAST "base", XML_XML_NAMESPACE);
+	entry = xmlNewCatalogEntry(XML_CATA_GROUP, prop, base, NULL, pref, cgroup);
+	xmlFree(prop);
     } else if (xmlStrEqual(cur->name, BAD_CAST "public")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_PUBLIC,
-		BAD_CAST "public", BAD_CAST "publicId", BAD_CAST "uri", prefer);
+		BAD_CAST "public", BAD_CAST "publicId", BAD_CAST "uri", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "system")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_SYSTEM,
-		BAD_CAST "system", BAD_CAST "systemId", BAD_CAST "uri", prefer);
+		BAD_CAST "system", BAD_CAST "systemId", BAD_CAST "uri", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "rewriteSystem")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_REWRITE_SYSTEM,
 		BAD_CAST "rewriteSystem", BAD_CAST "systemIdStartString",
-		BAD_CAST "rewritePrefix", prefer);
+		BAD_CAST "rewritePrefix", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "delegatePublic")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_DELEGATE_PUBLIC,
 		BAD_CAST "delegatePublic", BAD_CAST "publicIdStartString",
-		BAD_CAST "catalog", prefer);
+		BAD_CAST "catalog", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "delegateSystem")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_DELEGATE_SYSTEM,
 		BAD_CAST "delegateSystem", BAD_CAST "systemIdStartString",
-		BAD_CAST "catalog", prefer);
+		BAD_CAST "catalog", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "uri")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_URI,
 		BAD_CAST "uri", BAD_CAST "name",
-		BAD_CAST "uri", prefer);
+		BAD_CAST "uri", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "rewriteURI")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_REWRITE_URI,
 		BAD_CAST "rewriteURI", BAD_CAST "uriStartString",
-		BAD_CAST "rewritePrefix", prefer);
+		BAD_CAST "rewritePrefix", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "delegateURI")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_DELEGATE_URI,
 		BAD_CAST "delegateURI", BAD_CAST "uriStartString",
-		BAD_CAST "catalog", prefer);
+		BAD_CAST "catalog", prefer, cgroup);
     } else if (xmlStrEqual(cur->name, BAD_CAST "nextCatalog")) {
 	entry = xmlParseXMLCatalogOneNode(cur, XML_CATA_NEXT_CATALOG,
 		BAD_CAST "nextCatalog", NULL,
-		BAD_CAST "catalog", prefer);
+		BAD_CAST "catalog", prefer, cgroup);
     }
-    if ((entry != NULL) && (parent != NULL)) {
-	entry->parent = parent;
-	if (parent->children == NULL)
-	    parent->children = entry;
-	else {
-	    xmlCatalogEntryPtr prev;
+    if (entry != NULL) {
+        if (parent != NULL) {
+	    entry->parent = parent;
+	    if (parent->children == NULL)
+		parent->children = entry;
+	    else {
+		xmlCatalogEntryPtr prev;
 
-	    prev = parent->children;
-	    while (prev->next != NULL)
-		prev = prev->next;
-	    prev->next = entry;
+		prev = parent->children;
+		while (prev->next != NULL)
+		    prev = prev->next;
+		prev->next = entry;
+	    }
 	}
+	if (entry->type == XML_CATA_GROUP) {
+	    /*
+	     * Recurse to propagate prefer to the subtree
+	     * (xml:base handling is automated)
+	     */
+            xmlParseXMLCatalogNodeList(cur->children, prefer, parent, entry);
+	}
     }
     if (base != NULL)
 	xmlFree(base);
@@ -1172,6 +1299,7 @@
  * @cur:  the XML node list of siblings
  * @prefer:  the PUBLIC vs. SYSTEM current preference value
  * @parent:  the parent Catalog entry
+ * @cgroup:  the group which includes this list
  *
  * Examines a list of XML sibling nodes of a catalog and build
  * a list of Catalog entry from it adding it to the parent.
@@ -1179,11 +1307,11 @@
  */
 static void
 xmlParseXMLCatalogNodeList(xmlNodePtr cur, xmlCatalogPrefer prefer,
-	                   xmlCatalogEntryPtr parent) {
+	                   xmlCatalogEntryPtr parent, xmlCatalogEntryPtr cgroup) {
     while (cur != NULL) {
 	if ((cur->ns != NULL) && (cur->ns->href != NULL) &&
 	    (xmlStrEqual(cur->ns->href, XML_CATALOGS_NAMESPACE))) {
-	    xmlParseXMLCatalogNode(cur, prefer, parent);
+	    xmlParseXMLCatalogNode(cur, prefer, parent, cgroup);
 	}
 	cur = cur->next;
     }
@@ -1228,7 +1356,7 @@
 	(xmlStrEqual(cur->ns->href, XML_CATALOGS_NAMESPACE))) {
 
 	parent = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL,
-				    (const xmlChar *)filename, NULL, prefer);
+				    (const xmlChar *)filename, NULL, prefer, NULL);
         if (parent == NULL) {
 	    xmlFreeDoc(doc);
 	    return(NULL);
@@ -1248,7 +1376,7 @@
 	    xmlFree(prop);
 	}
 	cur = cur->children;
-	xmlParseXMLCatalogNodeList(cur, prefer, parent);
+	xmlParseXMLCatalogNodeList(cur, prefer, parent, NULL);
     } else {
 	xmlCatalogErr(NULL, (xmlNodePtr) doc, XML_CATALOG_NOT_CATALOG,
 		      "File %s is not an XML Catalog\n",
@@ -1413,10 +1541,10 @@
 		"Adding element %s to catalog\n", type);
     if (cur == NULL)
 	catal->children = xmlNewCatalogEntry(typ, orig, replace,
-		                             NULL, catal->prefer);
+		                             NULL, catal->prefer, NULL);
     else
 	cur->next = xmlNewCatalogEntry(typ, orig, replace,
-		                       NULL, catal->prefer);
+		                       NULL, catal->prefer, NULL);
     if (doregister) {
 	cur = xmlHashLookup(xmlCatalogXMLFiles, catal->URL);
 	if (cur != NULL)
@@ -1858,12 +1986,17 @@
 	              const xmlChar *sysID) {
     xmlChar *ret = NULL;
     xmlChar *urnID = NULL;
+    xmlChar *normid;
     
     if (catal == NULL)
         return(NULL);
     if ((pubID == NULL) && (sysID == NULL))
 	return(NULL);
 
+    normid = xmlCatalogNormalizePublic(pubID);
+    if (normid != NULL)
+        pubID = (*normid != 0 ? normid : NULL);
+    
     if (!xmlStrncmp(pubID, BAD_CAST XML_URN_PUBID, sizeof(XML_URN_PUBID) - 1)) {
 	urnID = xmlCatalogUnWrapURN(pubID);
 	if (xmlDebugCatalogs) {
@@ -1877,6 +2010,8 @@
 	ret = xmlCatalogListXMLResolve(catal, urnID, sysID);
 	if (urnID != NULL)
 	    xmlFree(urnID);
+	if (normid != NULL)
+	    xmlFree(normid);
 	return(ret);
     }
     if (!xmlStrncmp(sysID, BAD_CAST XML_URN_PUBID, sizeof(XML_URN_PUBID) - 1)) {
@@ -1898,6 +2033,8 @@
 	}
 	if (urnID != NULL)
 	    xmlFree(urnID);
+	if (normid != NULL)
+	    xmlFree(normid);
 	return(ret);
     }
     while (catal != NULL) {
@@ -1907,12 +2044,17 @@
 	    }
 	    if (catal->children != NULL) {
 		ret = xmlCatalogXMLResolve(catal->children, pubID, sysID);
-		if (ret != NULL)
+		if (ret != NULL) {
+                    if (normid != NULL)
+                        xmlFree(normid);
 		    return(ret);
+                }
 	    }
 	}
 	catal = catal->next;
     }
+	if (normid != NULL)
+	    xmlFree(normid);
     return(ret);
 }
 
@@ -2143,8 +2285,6 @@
 	type = SGML_CATA_CATALOG;
     else if (xmlStrEqual(name, (const xmlChar *) "BASE"))
 	type = SGML_CATA_BASE;
-    else if (xmlStrEqual(name, (const xmlChar *) "DELEGATE"))
-	type = SGML_CATA_DELEGATE;
     return(type);
 }
 
@@ -2219,8 +2359,6 @@
                 type = SGML_CATA_CATALOG;
 	    else if (xmlStrEqual(name, (const xmlChar *) "BASE"))
                 type = SGML_CATA_BASE;
-	    else if (xmlStrEqual(name, (const xmlChar *) "DELEGATE"))
-                type = SGML_CATA_DELEGATE;
 	    else if (xmlStrEqual(name, (const xmlChar *) "OVERRIDE")) {
 		xmlFree(name);
 		cur = xmlParseSGMLCatalogName(cur, &name);
@@ -2266,6 +2404,21 @@
 			/* error */
 			break;
 		    }
+		    if (type != SGML_CATA_SYSTEM) {
+		        xmlChar *normid;
+
+		        normid = xmlCatalogNormalizePublic(name);
+		        if (normid != NULL) {
+		            if (name != NULL)
+		                xmlFree(name);
+		            if (*normid != 0)
+		                name = normid;
+		            else {
+		                xmlFree(normid);
+		                name = NULL;
+		            }
+		        }
+		    }
 		    if (!IS_BLANK_CH(*cur)) {
 			/* error */
 			break;
@@ -2309,7 +2462,7 @@
 		    xmlCatalogEntryPtr entry;
 
 		    entry = xmlNewCatalogEntry(type, name, filename,
-			                       NULL, XML_CATA_PREFER_NONE);
+			                       NULL, XML_CATA_PREFER_NONE, NULL);
 		    res = xmlHashAddEntry(catal->sgml, name, entry);
 		    if (res < 0) {
 			xmlFreeCatalogEntry(entry);
@@ -2322,7 +2475,7 @@
 		    xmlCatalogEntryPtr entry;
 
 		    entry = xmlNewCatalogEntry(type, sysid, NULL, NULL,
-			                       XML_CATA_PREFER_NONE);
+			                       XML_CATA_PREFER_NONE, NULL);
 		    res = xmlHashAddEntry(catal->sgml, sysid, entry);
 		    if (res < 0) {
 			xmlFreeCatalogEntry(entry);
@@ -2371,15 +2524,28 @@
 static const xmlChar *
 xmlCatalogGetSGMLPublic(xmlHashTablePtr catal, const xmlChar *pubID) {
     xmlCatalogEntryPtr entry;
+    xmlChar *normid;
 
     if (catal == NULL)
 	return(NULL);
 
+    normid = xmlCatalogNormalizePublic(pubID);
+    if (normid != NULL)
+        pubID = (*normid != 0 ? normid : NULL);
+
     entry = (xmlCatalogEntryPtr) xmlHashLookup(catal, pubID);
-    if (entry == NULL)
+    if (entry == NULL) {
+	if (normid != NULL)
+	    xmlFree(normid);
 	return(NULL);
-    if (entry->type == SGML_CATA_PUBLIC)
+    }
+    if (entry->type == SGML_CATA_PUBLIC) {
+	if (normid != NULL)
+	    xmlFree(normid);
 	return(entry->URL);
+    }
+    if (normid != NULL)
+        xmlFree(normid);
     return(NULL);
 }
 
@@ -2526,7 +2692,7 @@
 	    return(NULL);
 	}
         catal->xml = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL,
-		       NULL, BAD_CAST filename, xmlCatalogDefaultPrefer);
+		       NULL, BAD_CAST filename, xmlCatalogDefaultPrefer, NULL);
     }
     xmlFree(content);
     return (catal);
@@ -2567,7 +2733,7 @@
     } else {
 	xmlCatalogEntryPtr tmp, cur;
 	tmp = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL,
-		       NULL, BAD_CAST filename, xmlCatalogDefaultPrefer);
+		       NULL, BAD_CAST filename, xmlCatalogDefaultPrefer, NULL);
 
 	cur = catal->xml;
 	if (cur == NULL) {
@@ -2785,7 +2951,7 @@
             xmlCatalogEntryPtr entry;
 
             entry = xmlNewCatalogEntry(cattype, orig, replace, NULL,
-                                       XML_CATA_PREFER_NONE);
+                                       XML_CATA_PREFER_NONE, NULL);
 	    if (catal->sgml == NULL)
 		catal->sgml = xmlHashCreate(10);
             res = xmlHashAddEntry(catal->sgml, orig, entry);
@@ -2979,7 +3145,7 @@
 		    path = (char *) xmlStrndup((const xmlChar *)paths, cur - paths);
 		    if (path != NULL) {
 			*nextent = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL,
-				NULL, BAD_CAST path, xmlCatalogDefaultPrefer);
+				NULL, BAD_CAST path, xmlCatalogDefaultPrefer, NULL);
 			if (*nextent != NULL)
 			    nextent = &((*nextent)->next);
 			xmlFree(path);
@@ -3226,7 +3392,7 @@
 	xmlDefaultCatalog = xmlCreateNewCatalog(XML_XML_CATALOG_TYPE,
 		                          xmlCatalogDefaultPrefer);
 	xmlDefaultCatalog->xml = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL,
-				    orig, NULL,  xmlCatalogDefaultPrefer);
+				    orig, NULL,  xmlCatalogDefaultPrefer, NULL);
 
 	xmlRMutexUnlock(xmlCatalogMutex);
 	return(0);
@@ -3433,7 +3599,7 @@
 		"Adding document catalog %s\n", URL);
 
     add = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL, URL, NULL,
-	                     xmlCatalogDefaultPrefer);
+	                     xmlCatalogDefaultPrefer, NULL);
     if (add == NULL)
 	return(catalogs);
 

Modified: packages/libxml2/branches/unstable/check-relaxng-test-suite.py
===================================================================
--- packages/libxml2/branches/unstable/check-relaxng-test-suite.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/check-relaxng-test-suite.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -4,7 +4,7 @@
 import os
 import string
 import StringIO
-sys.path.append("python")
+sys.path.insert(0, "python")
 import libxml2
 
 # Memory debug specific

Modified: packages/libxml2/branches/unstable/check-relaxng-test-suite2.py
===================================================================
--- packages/libxml2/branches/unstable/check-relaxng-test-suite2.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/check-relaxng-test-suite2.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -4,7 +4,7 @@
 import os
 import string
 import StringIO
-sys.path.append("python")
+sys.path.insert(0, "python")
 import libxml2
 
 # Memory debug specific

Modified: packages/libxml2/branches/unstable/check-xinclude-test-suite.py
===================================================================
--- packages/libxml2/branches/unstable/check-xinclude-test-suite.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/check-xinclude-test-suite.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -3,7 +3,7 @@
 import time
 import os
 import string
-sys.path.append("python")
+sys.path.insert(0, "python")
 import libxml2
 
 #
@@ -82,6 +82,8 @@
 	return -1
 
     expected = None
+    outputfile = None
+    diff = None
     if type != 'error':
 	output = test.xpathEval('string(output)')
 	if output == 'No output file.':
@@ -98,6 +100,7 @@
 		try:
 		    f = open(output)
 		    expected = f.read()
+		    outputfile = output
 		except:
 		    print "Result for %s unreadable: %s" % (id, output)
 
@@ -112,6 +115,8 @@
 	    result = doc.serialize()
 	    if result != expected:
 	        print "Result for %s differs" % (id)
+		open("xinclude.res", "w").write(result)
+		diff = os.popen("diff %s xinclude.res" % outputfile).read()
 
 	doc.freeDoc()
     else:
@@ -157,6 +162,9 @@
 	    log.write("   ----\n%s   ----\n" % (error_msg))
 	    error_msg = ''
 	log.write("\n")
+    if diff != None:
+        log.write("diff from test %s:\n" %(id))
+	log.write("   -----------\n%s\n   -----------\n" % (diff));
 
     return 0
 	    

Modified: packages/libxml2/branches/unstable/check-xml-test-suite.py
===================================================================
--- packages/libxml2/branches/unstable/check-xml-test-suite.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/check-xml-test-suite.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -3,7 +3,7 @@
 import time
 import os
 import string
-sys.path.append("python")
+sys.path.insert(0, "python")
 import libxml2
 
 test_nr = 0

Modified: packages/libxml2/branches/unstable/check-xsddata-test-suite.py
===================================================================
--- packages/libxml2/branches/unstable/check-xsddata-test-suite.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/check-xsddata-test-suite.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -4,7 +4,7 @@
 import os
 import string
 import StringIO
-sys.path.append("python")
+sys.path.insert(0, "python")
 import libxml2
 
 # Memory debug specific

Modified: packages/libxml2/branches/unstable/chvalid.c
===================================================================
--- packages/libxml2/branches/unstable/chvalid.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/chvalid.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -166,6 +166,8 @@
     int low, high, mid;
     xmlChSRangePtr sptr;
     xmlChLRangePtr lptr;
+
+    if (rptr == NULL) return(0);
     if (val < 0x10000) {	/* is val in 'short' or 'long'  array? */
 	if (rptr->nbShortRange == 0)
 	    return 0;

Modified: packages/libxml2/branches/unstable/config.guess
===================================================================
--- packages/libxml2/branches/unstable/config.guess	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/config.guess	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-timestamp='2004-03-12'
+timestamp='2004-08-13'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -53,7 +53,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -203,15 +203,15 @@
     amiga:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     cats:OpenBSD:*:*)
 	echo arm-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
     hp300:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
+    luna88k:OpenBSD:*:*)
+    	echo m88k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
     mac68k:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
@@ -227,21 +227,12 @@
     mvmeppc:OpenBSD:*:*)
 	echo powerpc-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
-    pegasos:OpenBSD:*:*)
-	echo powerpc-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     sgi:OpenBSD:*:*)
-	echo mipseb-unknown-openbsd${UNAME_RELEASE}
+	echo mips64-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
     sun3:OpenBSD:*:*)
 	echo m68k-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     *:OpenBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
@@ -307,9 +298,6 @@
 	# 1.2 uses "1.2" for uname -r.
 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
 	exit 0 ;;
-    Alpha*:OpenVMS:*:*)
-	echo alpha-hp-vms
-	exit 0 ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
@@ -764,7 +752,7 @@
 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
     *:UNICOS/mp:*:*)
-	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -787,21 +775,7 @@
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 	exit 0 ;;
     *:FreeBSD:*:*)
-	# Determine whether the default compiler uses glibc.
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#if __GLIBC__ >= 2
-	LIBC=gnu
-	#else
-	LIBC=
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-	# GNU/KFreeBSD systems have a "k" prefix to indicate we are using
-	# FreeBSD's kernel, but not the complete OS.
-	case ${LIBC} in gnu) kernel_only='k' ;; esac
-	echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit 0 ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
@@ -1096,9 +1070,9 @@
     M680?0:D-NIX:5.3:*)
 	echo m68k-diab-dnix
 	exit 0 ;;
-    M68*:*:R3V[567]*:*)
+    M68*:*:R3V[5678]*:*)
 	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
 	OS_REL=''
 	test -r /etc/.relid \
 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1196,9 +1170,10 @@
 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
 	exit 0 ;;
     *:Darwin:*:*)
-	case `uname -p` in
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
 	    *86) UNAME_PROCESSOR=i686 ;;
-	    powerpc) UNAME_PROCESSOR=powerpc ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
 	esac
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit 0 ;;
@@ -1260,6 +1235,13 @@
     *:DragonFly:*:*)
 	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit 0 ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms && exit 0 ;;
+	    I*) echo ia64-dec-vms && exit 0 ;;
+	    V*) echo vax-dec-vms && exit 0 ;;
+	esac
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2

Modified: packages/libxml2/branches/unstable/config.h.in
===================================================================
--- packages/libxml2/branches/unstable/config.h.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/config.h.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,6 @@
 #undef HAVE_ISNAN
 #undef HAVE_LIBHISTORY
 #undef HAVE_LIBREADLINE
-#undef SOCKLEN_T
 #undef HAVE_LIBPTHREAD
 #undef HAVE_PTHREAD_H
 
@@ -26,6 +25,9 @@
 /* Define to 1 if you have the <arpa/nameser.h> header file. */
 #undef HAVE_ARPA_NAMESER_H
 
+/* Whether struct sockaddr::__ss_family exists */
+#undef HAVE_BROKEN_SS_FAMILY
+
 /* Define to 1 if you have the `class' function. */
 #undef HAVE_CLASS
 
@@ -280,5 +282,8 @@
 /* Win32 Std C name mangling work-around */
 #undef snprintf
 
+/* ss_family is not defined here, use __ss_family instead */
+#undef ss_family
+
 /* Win32 Std C name mangling work-around */
 #undef vsnprintf

Modified: packages/libxml2/branches/unstable/config.sub
===================================================================
--- packages/libxml2/branches/unstable/config.sub	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/config.sub	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-timestamp='2004-03-12'
+timestamp='2004-06-24'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -70,7 +70,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -145,7 +145,7 @@
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis)
+	-apple | -axis | -knuth | -cray)
 		os=
 		basic_machine=$1
 		;;
@@ -300,7 +300,7 @@
 	| avr-* \
 	| bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-	| clipper-* | cydra-* \
+	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
@@ -326,8 +326,9 @@
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
 	| msp430-* \
-	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
@@ -445,6 +446,10 @@
 		basic_machine=j90-cray
 		os=-unicos
 		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
 	cr16c)
 		basic_machine=cr16c-unknown
 		os=-elf
@@ -659,10 +664,6 @@
 	mips3*)
 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
 		;;
-	mmix*)
-		basic_machine=mmix-knuth
-		os=-mmixware
-		;;
 	monitor)
 		basic_machine=m68k-rom68k
 		os=-coff
@@ -743,10 +744,6 @@
 	np1)
 		basic_machine=np1-gould
 		;;
-	nv1)
-		basic_machine=nv1-cray
-		os=-unicosmp
-		;;
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
@@ -1059,6 +1056,9 @@
 	romp)
 		basic_machine=romp-ibm
 		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
 	rs6000)
 		basic_machine=rs6000-ibm
 		;;
@@ -1374,6 +1374,9 @@
 	*-ibm)
 		os=-aix
 		;;
+    	*-knuth)
+		os=-mmixware
+		;;
 	*-wec)
 		os=-proelf
 		;;

Modified: packages/libxml2/branches/unstable/configure
===================================================================
--- packages/libxml2/branches/unstable/configure	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/configure	2005-02-16 19:06:11 UTC (rev 352)
@@ -463,7 +463,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBXML_MAJOR_VERSION LIBXML_MINOR_VERSION LIBXML_MICRO_VERSION LIBXML_VERSION LIBXML_VERSION_INFO LIBXML_VERSION_NUMBER INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP RM MV TAR EGREP U ANSI2KNR LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT Z_CFLAGS Z_LIBS HTML_DIR PYTHON WITH_PYTHON_TRUE WITH_PYTHON_FALSE pythondir PYTHON_SUBDIR STATIC_BINARIES WITH_TRIO_SOURCES_TRUE WITH_TRIO_SOURCES_FALSE WITH_TRIO THREAD_LIBS WITH_THREADS THREAD_CFLAGS TEST_THREADS THREADS_W32 WITH_OUTPUT WITH_TREE WITH_FTP FTP_OBJ WITH_HTTP HTTP_OBJ WITH_LEGACY WITH_READER READER_TEST WITH_PATTERN PATTERN_TEST WITH_WRITER WITH_SAX1 TEST_SAX WITH_PUSH TEST_PUSH WITH_HTML HTML_OBJ TEST_HTML TEST_PHTML WITH_VALID TEST_VALID TEST_VTIME WITH_CATALOG CATALOG_OBJ TEST_CATALOG WITH_DOCB DOCB_OBJ WITH_XPATH XPATH_OBJ TEST_XPATH WITH_XPTR XPTR_OBJ TEST_XPTR WITH_C14N C14N_OBJ TEST_C14N WITH_XINCLUDE XINCLUDE_OBJ TEST_XINCLUDE WITH_ICONV WITH_ISO8859X WITH_SCHEMAS TEST_SCHEMAS WITH_REGEXPS TEST_REGEXPS WITH_DEBUG DEBUG_OBJ TEST_DEBUG WITH_MEM_DEBUG WIN32_EXTRA_LIBADD WIN32_EXTRA_LDFLAGS XML_CFLAGS XML_LIBDIR XML_LIBS XML_LIBTOOLLIBS ICONV_LIBS XML_INCLUDEDIR HAVE_ISNAN HAVE_ISINF PYTHON_VERSION PYTHON_INCLUDES PYTHON_SITE_PACKAGES M_LIBS RDL_LIBS RELDATE PYTHON_TESTS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBXML_MAJOR_VERSION LIBXML_MINOR_VERSION LIBXML_MICRO_VERSION LIBXML_VERSION LIBXML_VERSION_INFO LIBXML_VERSION_NUMBER LIBXML_VERSION_EXTRA INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP RM MV TAR PERL XMLLINT XSLTPROC EGREP U ANSI2KNR LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT Z_CFLAGS Z_LIBS HTML_DIR PYTHON WITH_PYTHON_TRUE WITH_PYTHON_FALSE pythondir PYTHON_SUBDIR STATIC_BINARIES WITH_TRIO_SOURCES_TRUE WITH_TRIO_SOURCES_FALSE WITH_TRIO THREAD_LIBS WITH_THREADS THREAD_CFLAGS TEST_THREADS THREADS_W32 WITH_OUTPUT WITH_TREE WITH_FTP FTP_OBJ WITH_HTTP HTTP_OBJ WITH_LEGACY WITH_READER READER_TEST WITH_PATTERN PATTERN_TEST WITH_WRITER WITH_SAX1 TEST_SAX WITH_PUSH TEST_PUSH WITH_HTML HTML_OBJ TEST_HTML TEST_PHTML WITH_VALID TEST_VALID TEST_VTIME WITH_CATALOG CATALOG_OBJ TEST_CATALOG WITH_DOCB DOCB_OBJ WITH_XPATH XPATH_OBJ TEST_XPATH WITH_XPTR XPTR_OBJ TEST_XPTR WITH_C14N C14N_OBJ TEST_C14N WITH_XINCLUDE XINCLUDE_OBJ TEST_XINCLUDE WITH_ICONV WITH_ISO8859X WITH_SCHEMAS TEST_SCHEMAS WITH_REGEXPS TEST_REGEXPS WITH_DEBUG DEBUG_OBJ TEST_DEBUG WITH_MEM_DEBUG WITH_RUN_DEBUG WIN32_EXTRA_LIBADD WIN32_EXTRA_LDFLAGS CYGWIN_EXTRA_LDFLAGS CYGWIN_EXTRA_PYTHON_LIBADD XML_CFLAGS XML_LIBDIR XML_LIBS XML_LIBTOOLLIBS ICONV_LIBS XML_INCLUDEDIR HAVE_ISNAN HAVE_ISINF PYTHON_VERSION PYTHON_INCLUDES PYTHON_SITE_PACKAGES M_LIBS RDL_LIBS RELDATE PYTHON_TESTS LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -1080,6 +1080,7 @@
   --with-regexps          add Regular Expressions support (on)
   --with-debug            add the debugging module (on)
   --with-mem-debug        add the memory debugging module (off)
+  --with-run-debug        add the runtime debugging module (off)
 
 Some influential environment variables:
   CC          C compiler command
@@ -1617,13 +1618,21 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=11
+LIBXML_MICRO_VERSION=16
 LIBXML_MICRO_VERSION_SUFFIX=
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
 
 LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
 
+if test -f CVS/Entries; then
+  extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
+  echo extra=$extra
+  if test "$extra" != ""
+  then
+      LIBXML_VERSION_EXTRA="-CVS$extra"
+  fi
+fi
 
 
 
@@ -1631,6 +1640,7 @@
 
 
 
+
 VERSION=${LIBXML_VERSION}
 
 am__api_version="1.8"
@@ -3565,7 +3575,127 @@
 echo "${ECHO_T}no" >&6
 fi
 
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_PERL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $PERL in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
 
+  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="/usr/bin/perl"
+  ;;
+esac
+fi
+PERL=$ac_cv_path_PERL
+
+if test -n "$PERL"; then
+  echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+# Extract the first word of "xmllint", so it can be a program name with args.
+set dummy xmllint; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XMLLINT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XMLLINT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XMLLINT="$XMLLINT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_XMLLINT" && ac_cv_path_XMLLINT="/usr/bin/xmllint"
+  ;;
+esac
+fi
+XMLLINT=$ac_cv_path_XMLLINT
+
+if test -n "$XMLLINT"; then
+  echo "$as_me:$LINENO: result: $XMLLINT" >&5
+echo "${ECHO_T}$XMLLINT" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+# Extract the first word of "xsltproc", so it can be a program name with args.
+set dummy xsltproc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XSLTPROC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XSLTPROC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="/usr/bin/xsltproc"
+  ;;
+esac
+fi
+XSLTPROC=$ac_cv_path_XSLTPROC
+
+if test -n "$XSLTPROC"; then
+  echo "$as_me:$LINENO: result: $XSLTPROC" >&5
+echo "${ECHO_T}$XSLTPROC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
 echo "$as_me:$LINENO: checking for function prototypes" >&5
 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6
 if test "$ac_cv_prog_cc_stdc" != no; then
@@ -4416,7 +4546,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -4532,7 +4662,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4535 "configure"' > conftest.$ac_ext
+  echo '#line 4665 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -5867,7 +5997,7 @@
 
 
 # Provide some information about the compiler.
-echo "$as_me:5870:" \
+echo "$as_me:6000:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -6899,11 +7029,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6902: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7032: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6906: \$? = $ac_status" >&5
+   echo "$as_me:7036: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -7132,11 +7262,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7135: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7265: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7139: \$? = $ac_status" >&5
+   echo "$as_me:7269: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -7192,11 +7322,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7195: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7325: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7199: \$? = $ac_status" >&5
+   echo "$as_me:7329: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -7369,7 +7499,7 @@
       fi
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -7887,7 +8017,7 @@
       link_all_deplibs=yes
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -8536,6 +8666,18 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -9368,7 +9510,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9371 "configure"
+#line 9513 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9466,7 +9608,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9469 "configure"
+#line 9611 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10977,7 +11119,7 @@
 	;;
     esac
     ;;
-  netbsd* | knetbsd*-gnu)
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -11532,7 +11674,7 @@
 	    ;;
 	esac
 	;;
-      netbsd* | knetbsd*-gnu)
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
 	;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
@@ -11643,11 +11785,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11646: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11788: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11650: \$? = $ac_status" >&5
+   echo "$as_me:11792: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -11703,11 +11845,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11706: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11848: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11710: \$? = $ac_status" >&5
+   echo "$as_me:11852: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12228,6 +12370,18 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -13060,7 +13214,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13063 "configure"
+#line 13217 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13158,7 +13312,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13161 "configure"
+#line 13315 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13985,11 +14139,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13988: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14142: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13992: \$? = $ac_status" >&5
+   echo "$as_me:14146: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -14045,11 +14199,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14048: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14202: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14052: \$? = $ac_status" >&5
+   echo "$as_me:14206: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14222,7 +14376,7 @@
       fi
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -14720,7 +14874,7 @@
       link_all_deplibs_F77=yes
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -15369,6 +15523,18 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -16078,11 +16244,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16081: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16247: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16085: \$? = $ac_status" >&5
+   echo "$as_me:16251: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -16311,11 +16477,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16314: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16480: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16318: \$? = $ac_status" >&5
+   echo "$as_me:16484: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -16371,11 +16537,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16374: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16540: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16378: \$? = $ac_status" >&5
+   echo "$as_me:16544: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16548,7 +16714,7 @@
       fi
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -17066,7 +17232,7 @@
       link_all_deplibs_GCJ=yes
       ;;
 
-    netbsd* | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -17715,6 +17881,18 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -18547,7 +18725,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18550 "configure"
+#line 18728 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18645,7 +18823,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18648 "configure"
+#line 18826 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -25575,7 +25753,7 @@
 echo "$as_me:$LINENO: checking for type of socket length (socklen_t)" >&5
 echo $ECHO_N "checking for type of socket length (socklen_t)... $ECHO_C" >&6
 cat > conftest.$ac_ext <<EOF
-#line 25578 "configure"
+#line 25756 "configure"
 #include "confdefs.h"
 
 #include <stddef.h>
@@ -25586,7 +25764,7 @@
 (void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)
 ; return 0; }
 EOF
-if { (eval echo configure:25589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:25767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
   rm -rf conftest*
 
   echo "$as_me:$LINENO: result: socklen_t *" >&5
@@ -25598,7 +25776,7 @@
   rm -rf conftest*
 
   cat > conftest.$ac_ext <<EOF
-#line 25601 "configure"
+#line 25779 "configure"
 #include "confdefs.h"
 
 #include <stddef.h>
@@ -25609,7 +25787,7 @@
 (void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)
 ; return 0; }
 EOF
-if { (eval echo configure:25612: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:25790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
   rm -rf conftest*
 
     echo "$as_me:$LINENO: result: size_t *" >&5
@@ -25621,7 +25799,7 @@
   rm -rf conftest*
 
     cat > conftest.$ac_ext <<EOF
-#line 25624 "configure"
+#line 25802 "configure"
 #include "confdefs.h"
 
 #include <stddef.h>
@@ -25632,7 +25810,7 @@
 (void)getsockopt (1, 1, 1, NULL, (int *)NULL)
 ; return 0; }
 EOF
-if { (eval echo configure:25635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
+if { (eval echo configure:25813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
   rm -rf conftest*
 
       echo "$as_me:$LINENO: result: int *" >&5
@@ -25645,7 +25823,7 @@
 
       { echo "$as_me:$LINENO: WARNING: could not determine" >&5
 echo "$as_me: WARNING: could not determine" >&2;}
-      SOCKLEN_T="unsigned int"
+      SOCKLEN_T="int"
 fi
 rm -f conftest*
 fi
@@ -25733,7 +25911,75 @@
 #define SUPPORT_IP6
 _ACEOF
 
+    have_broken_ss_family=no
 
+                        echo "$as_me:$LINENO: checking broken struct sockaddr::ss_family" >&5
+echo $ECHO_N "checking broken struct sockaddr::ss_family... $ECHO_C" >&6
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+      #include <sys/socket.h>
+      #include <sys/types.h>
+int
+main ()
+{
+
+      struct sockaddr_storage ss ;
+      ss.__ss_family = 0 ;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  have_broken_ss_family=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+have_broken_ss_family=no
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+    echo "$as_me:$LINENO: result: $have_broken_ss_family" >&5
+echo "${ECHO_T}$have_broken_ss_family" >&6
+    if test x$have_broken_ss_family = xyes ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BROKEN_SS_FAMILY
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define ss_family __ss_family
+_ACEOF
+
+    fi
+
     have_getaddrinfo=no
     echo "$as_me:$LINENO: checking for getaddrinfo" >&5
 echo $ECHO_N "checking for getaddrinfo... $ECHO_C" >&6
@@ -26290,7 +26536,7 @@
 	CFLAGS="${CFLAGS} -fexceptions"
     fi
 
-    CFLAGS="${CFLAGS} -Wall"
+    CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
     case "${host}" in
           alpha*-*-linux* )
 	       CFLAGS="${CFLAGS} -mieee"
@@ -26466,12 +26712,15 @@
     then
 	if test "${with_mem_debug}" = "" ; then
 	    with_mem_debug="yes"
+	    with_run_debug="yes"
 	fi
 	if test "${with_docbook}" = "" ; then
 	    with_docbook="yes"
 	fi
     fi
-    CFLAGS="-g -O -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls "
+    if test "${CC}" = "gcc" ; then
+    CFLAGS="-g -O -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
+    fi
     STATIC_BINARIES="-static"
 else
     STATIC_BINARIES=
@@ -28097,6 +28346,23 @@
 
 
 
+# Check whether --with-run_debug or --without-run_debug was given.
+if test "${with_run_debug+set}" = set; then
+  withval="$with_run_debug"
+
+fi;
+if test "$with_minimum" = "yes" -a "$with_run_debug" = ""
+then
+    with_run_debug=no
+fi
+if test "$with_run_debug" = "yes" ; then
+    echo Enabling runtime debug support
+    WITH_RUN_DEBUG=1
+else
+    WITH_RUN_DEBUG=0
+fi
+
+
 WIN32_EXTRA_LIBADD=
 WIN32_EXTRA_LDFLAGS=
 case "$host" in
@@ -28120,6 +28386,10 @@
 _ACEOF
 
  ;;
+ *-*-cygwin*)
+ CYGWIN_EXTRA_LDFLAGS="-no-undefined"
+ CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python2.3/config -lpython2.3"
+ ;;
 esac
 
 
@@ -28144,6 +28414,8 @@
 
 
 
+
+
 RELDATE=`date +'%a %b %e %Y'`
 
 
@@ -28152,7 +28424,7 @@
 ln -s Copyright COPYING
 
 # keep on one line for cygwin c.f. #130896
-                                                                                                                                            ac_config_files="$ac_config_files libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py"
+                                                                                                                                                      ac_config_files="$ac_config_files libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py"
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -28739,6 +29011,7 @@
   "example/Makefile" ) CONFIG_FILES="$CONFIG_FILES example/Makefile" ;;
   "python/Makefile" ) CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
   "python/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES python/tests/Makefile" ;;
+  "xstc/Makefile" ) CONFIG_FILES="$CONFIG_FILES xstc/Makefile" ;;
   "include/libxml/xmlversion.h" ) CONFIG_FILES="$CONFIG_FILES include/libxml/xmlversion.h" ;;
   "xml2-config" ) CONFIG_FILES="$CONFIG_FILES xml2-config" ;;
   "libxml-2.0.pc" ) CONFIG_FILES="$CONFIG_FILES libxml-2.0.pc" ;;
@@ -28845,6 +29118,7 @@
 s, at LIBXML_VERSION@,$LIBXML_VERSION,;t t
 s, at LIBXML_VERSION_INFO@,$LIBXML_VERSION_INFO,;t t
 s, at LIBXML_VERSION_NUMBER@,$LIBXML_VERSION_NUMBER,;t t
+s, at LIBXML_VERSION_EXTRA@,$LIBXML_VERSION_EXTRA,;t t
 s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
 s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
 s, at INSTALL_DATA@,$INSTALL_DATA,;t t
@@ -28885,6 +29159,9 @@
 s, at RM@,$RM,;t t
 s, at MV@,$MV,;t t
 s, at TAR@,$TAR,;t t
+s, at PERL@,$PERL,;t t
+s, at XMLLINT@,$XMLLINT,;t t
+s, at XSLTPROC@,$XSLTPROC,;t t
 s, at EGREP@,$EGREP,;t t
 s, at U@,$U,;t t
 s, at ANSI2KNR@,$ANSI2KNR,;t t
@@ -28981,8 +29258,11 @@
 s, at DEBUG_OBJ@,$DEBUG_OBJ,;t t
 s, at TEST_DEBUG@,$TEST_DEBUG,;t t
 s, at WITH_MEM_DEBUG@,$WITH_MEM_DEBUG,;t t
+s, at WITH_RUN_DEBUG@,$WITH_RUN_DEBUG,;t t
 s, at WIN32_EXTRA_LIBADD@,$WIN32_EXTRA_LIBADD,;t t
 s, at WIN32_EXTRA_LDFLAGS@,$WIN32_EXTRA_LDFLAGS,;t t
+s, at CYGWIN_EXTRA_LDFLAGS@,$CYGWIN_EXTRA_LDFLAGS,;t t
+s, at CYGWIN_EXTRA_PYTHON_LIBADD@,$CYGWIN_EXTRA_PYTHON_LIBADD,;t t
 s, at XML_CFLAGS@,$XML_CFLAGS,;t t
 s, at XML_LIBDIR@,$XML_LIBDIR,;t t
 s, at XML_LIBS@,$XML_LIBS,;t t

Modified: packages/libxml2/branches/unstable/configure.in
===================================================================
--- packages/libxml2/branches/unstable/configure.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/configure.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,24 +1,32 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.2)
 AC_INIT(entities.c)
 AM_CONFIG_HEADER(config.h)
 AC_CANONICAL_HOST
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=11
+LIBXML_MICRO_VERSION=16
 LIBXML_MICRO_VERSION_SUFFIX=
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
 
 LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
 
+if test -f CVS/Entries; then
+  extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
+  echo extra=$extra
+  if test "$extra" != ""
+  then
+      LIBXML_VERSION_EXTRA="-CVS$extra"
+  fi
+fi
 AC_SUBST(LIBXML_MAJOR_VERSION)
 AC_SUBST(LIBXML_MINOR_VERSION)
 AC_SUBST(LIBXML_MICRO_VERSION)
 AC_SUBST(LIBXML_VERSION)
 AC_SUBST(LIBXML_VERSION_INFO)
 AC_SUBST(LIBXML_VERSION_NUMBER)
+AC_SUBST(LIBXML_VERSION_EXTRA)
 
 VERSION=${LIBXML_VERSION}
 
@@ -31,6 +39,9 @@
 AC_PATH_PROG(RM, rm, /bin/rm)
 AC_PATH_PROG(MV, mv, /bin/mv)
 AC_PATH_PROG(TAR, tar, /bin/tar)
+AC_PATH_PROG(PERL, perl, /usr/bin/perl)
+AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
+AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
 
 dnl Make sure we have an ANSI compiler
 AM_C_PROTOTYPES
@@ -206,7 +217,7 @@
       AC_MSG_RESULT(int *)
       SOCKLEN_T=int],[
       AC_MSG_WARN(could not determine)
-      SOCKLEN_T="unsigned int"])])])
+      SOCKLEN_T="int"])])])
 AC_DEFINE_UNQUOTED(SOCKLEN_T, $SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
 
 dnl ***********************Checking for availability of IPv6*******************
@@ -232,7 +243,29 @@
 
   if test $have_ipv6 = yes; then
     AC_DEFINE([SUPPORT_IP6], [], [Support for IPv6])
+    have_broken_ss_family=no
 
+    dnl *********************************************************************
+    dnl on some platforms (like AIX 5L), the structure sockaddr doesn't have
+    dnl a ss_family member, but rather __ss_family. Let's detect that
+    dnl and define the HAVE_BROKEN_SS_FAMILY when we are on one of these platforms.
+    dnl ********************************************************************
+    AC_MSG_CHECKING([broken struct sockaddr::ss_family])
+    AC_TRY_COMPILE([
+      #include <sys/socket.h>
+      #include <sys/types.h>], [
+      struct sockaddr_storage ss ;
+      ss.__ss_family = 0 ;
+      ],
+      have_broken_ss_family=yes,
+      have_broken_ss_family=no
+    )
+    AC_MSG_RESULT($have_broken_ss_family)
+    if test x$have_broken_ss_family = xyes ; then
+      AC_DEFINE(HAVE_BROKEN_SS_FAMILY, [], [Whether struct sockaddr::__ss_family exists]) 
+      AC_DEFINE(ss_family, __ss_family, [ss_family is not defined here, use __ss_family instead])
+    fi
+
     have_getaddrinfo=no
     AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
     if test $have_getaddrinfo != yes; then
@@ -298,7 +331,7 @@
 	CFLAGS="${CFLAGS} -fexceptions"
     fi
        
-    CFLAGS="${CFLAGS} -Wall"
+    CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls" 
     case "${host}" in
           alpha*-*-linux* )
 	       CFLAGS="${CFLAGS} -mieee"
@@ -429,12 +462,15 @@
     then
 	if test "${with_mem_debug}" = "" ; then
 	    with_mem_debug="yes"
+	    with_run_debug="yes"
 	fi
 	if test "${with_docbook}" = "" ; then
 	    with_docbook="yes"
 	fi
     fi
-    CFLAGS="-g -O -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls "
+    if test "${CC}" = "gcc" ; then
+    CFLAGS="-g -O -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
+    fi
     STATIC_BINARIES="-static"
 dnl -Wcast-qual -ansi
 else
@@ -1020,6 +1056,19 @@
 fi
 AC_SUBST(WITH_MEM_DEBUG)
 
+AC_ARG_WITH(run_debug,
+[  --with-run-debug        add the runtime debugging module (off)])
+if test "$with_minimum" = "yes" -a "$with_run_debug" = ""
+then
+    with_run_debug=no
+fi
+if test "$with_run_debug" = "yes" ; then
+    echo Enabling runtime debug support
+    WITH_RUN_DEBUG=1
+else    
+    WITH_RUN_DEBUG=0
+fi
+AC_SUBST(WITH_RUN_DEBUG)
 
 WIN32_EXTRA_LIBADD=
 WIN32_EXTRA_LDFLAGS=
@@ -1032,9 +1081,15 @@
  AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
  AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around])
  ;;
+ *-*-cygwin*)
+ CYGWIN_EXTRA_LDFLAGS="-no-undefined"
+ CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python2.3/config -lpython2.3"
+ ;;
 esac
 AC_SUBST(WIN32_EXTRA_LIBADD)
 AC_SUBST(WIN32_EXTRA_LDFLAGS)
+AC_SUBST(CYGWIN_EXTRA_LDFLAGS)
+AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD)
 
 AC_SUBST(CPPFLAGS)
 AC_SUBST(CFLAGS)
@@ -1065,6 +1120,6 @@
 ln -s Copyright COPYING
 
 # keep on one line for cygwin c.f. #130896
-AC_OUTPUT(libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py)
+AC_OUTPUT(libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py)
 
 chmod +x xml2-config python/setup.py

Modified: packages/libxml2/branches/unstable/debian/README.Debian
===================================================================
--- packages/libxml2/branches/unstable/debian/README.Debian	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/README.Debian	2005-02-16 19:06:11 UTC (rev 352)
@@ -9,4 +9,4 @@
 If you're using libxml2 in Gnome context, or similar case (ie. xml usage
 not requiring heavy standards compliance), you don't need such upgrade.
 
--- Mike Hommey <mh at glandium.org>, Sat Oct 16 14:29:43 JST 2004
+-- Mike Hommey <glandium at debian.org>, Sat Oct 16 14:29:43 JST 2004

Modified: packages/libxml2/branches/unstable/debian/changelog
===================================================================
--- packages/libxml2/branches/unstable/debian/changelog	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/changelog	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,3 +1,42 @@
+libxml2 (2.6.16-2) unstable; urgency=low
+
+  * Upload to unstable, targetted for sarge.
+  * Changed my maintainer address to the fresh new Debian one.
+  * debian/rules: Added changelog and copyright files in dummy package.
+  * debian/libxml2-doc.doc-base: Fixed files sections. Closes: #281242.
+
+ -- Mike Hommey <glandium at debian.org>  Fri,  4 Feb 2005 20:45:48 +0100
+
+libxml2 (2.6.16-1) experimental; urgency=low
+
+  * New upstream release
+  * debian/control, debian/rules: Changed libxml2-python2.3's name to
+    python2.3-libxml2. Added a dummy package for smooth transition.
+  * debian/libxml2-python2.3.*: Renamed to python2.3-libxml2.*.
+    Closes: #279343.
+  * debian/rules:
+    - Don't install files in the dummy libxml2-python2.3 package.
+    - Bump shlibs to current version.
+
+ -- Mike Hommey <mh at glandium.org>  Sat, 13 Nov 2004 16:38:37 +0900
+
+libxml2 (2.6.15-2) experimental; urgency=low
+
+  * error.c: Removed support of validation errors in structured error handler.
+    That avoids it to crash when a validation error happens. (That was a
+    broken feature added in 2.6.15. This will get properly fixed in 2.6.16).
+    Closes: #279040.
+
+ -- Mike Hommey <mh at glandium.org>  Mon,  8 Nov 2004 22:16:00 +0900
+
+libxml2 (2.6.15-1) experimental; urgency=low
+
+  * New upstream release
+  * debian/rules: Use "dh_makeshlibs -V 'libxml2 (>= 2.6.15)'", since version
+    2.6.16 introduces some new symbols.
+
+ -- Mike Hommey <mh at glandium.org>  Thu, 28 Oct 2004 19:08:20 +0900
+
 libxml2 (2.6.11-5) unstable; urgency=high
 
   * Backport patch from libxml2-2.6.15 to fix buffer overflows [nanohttp.c,
@@ -5,6 +44,16 @@
 
  -- Mike Hommey <mh at glandium.org>  Thu, 28 Oct 2004 17:34:54 +0900
 
+
+libxml2 (2.6.14-1) experimental; urgency=low
+
+  * New upstream release. Closes: #273961.
+  * debian/rules: Use "dh_makeshlibs -V 'libxml2 (>= 2.6.14)'", since version
+    2.6.14 introduces some new symbols.
+  * debian/shlibs.local: Removed, since it is not useful any more.
+
+ -- Mike Hommey <mh at glandium.org>  Sat, 16 Oct 2004 16:29:06 +0900
+
 libxml2 (2.6.11-4) unstable; urgency=low
 
   * The "let's do some clean up for sarge" release.

Modified: packages/libxml2/branches/unstable/debian/control
===================================================================
--- packages/libxml2/branches/unstable/debian/control	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/control	2005-02-16 19:06:11 UTC (rev 352)
@@ -2,7 +2,7 @@
 Priority: optional
 Section: libs
 Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs at lists.alioth.debian.org>
-Uploaders: Mike Hommey <mh at glandium.org>
+Uploaders: Mike Hommey <glandium at debian.org>
 Standards-Version: 3.6.1
 Build-Depends: debhelper (>= 4.0.0), zlib1g-dev | libz-dev, python2.3-dev, autotools-dev
 
@@ -71,9 +71,11 @@
  This package contains general information about the GNOME XML library
  and more specific API references.
 
-Package: libxml2-python2.3
+Package: python2.3-libxml2
 Architecture: any
 Section: python
+Provides: libxml2-python2.3
+Replaces: libxml2-python2.3
 Depends: ${shlibs:Depends}, ${misc:Depends}, python2.3
 Description: Python 2.3 bindings for the GNOME XML library
  XML is a metalanguage to let you design your own markup language.
@@ -86,3 +88,9 @@
  This package contains the files needed to use the GNOME XML library
  in Python programs.
 
+Package: libxml2-python2.3
+Architecture: any
+Section: python
+Depends: python2.3-libxml2
+Description: Python 2.3 bindings for the GNOME XML library - dummy package for upgrade
+ This package is a dummy package for smooth transition to python2.3-libxml2.

Modified: packages/libxml2/branches/unstable/debian/libxml2-doc.doc-base
===================================================================
--- packages/libxml2/branches/unstable/debian/libxml2-doc.doc-base	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/libxml2-doc.doc-base	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,4 +7,4 @@
 Format: HTML
 Index: /usr/share/doc/libxml2-doc/index.html
 Files: /usr/share/doc/libxml2-doc/*.html
-Files: /usr/share/doc/libxml2-doc/*/*.html
+ /usr/share/doc/libxml2-doc/*/*.html

Deleted: packages/libxml2/branches/unstable/debian/libxml2-python2.3.examples
===================================================================
--- packages/libxml2/branches/unstable/debian/libxml2-python2.3.examples	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/libxml2-python2.3.examples	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,2 +0,0 @@
-python/tests/*.py
-python/tests/*.xml

Deleted: packages/libxml2/branches/unstable/debian/libxml2-python2.3.install
===================================================================
--- packages/libxml2/branches/unstable/debian/libxml2-python2.3.install	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/libxml2-python2.3.install	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,2 +0,0 @@
-usr/lib/python*/site-packages/*.py*
-usr/lib/python*/site-packages/*.so

Modified: packages/libxml2/branches/unstable/debian/no-upstream-changelog
===================================================================
--- packages/libxml2/branches/unstable/debian/no-upstream-changelog	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/no-upstream-changelog	2005-02-16 19:06:11 UTC (rev 352)
@@ -9,4 +9,4 @@
 libxml2-utils, but it would have required a dependency upon libxml2,
 which was not wanted.
 
- -- Mike Hommey <mh at glandium.org>, Thu Oct 14 19:36:47 JST 2004
+ -- Mike Hommey <glandium at debian.org>, Thu Oct 14 19:36:47 JST 2004

Copied: packages/libxml2/branches/unstable/debian/python2.3-libxml2.examples (from rev 351, packages/libxml2/tags/2.6.16-2/debian/python2.3-libxml2.examples)

Copied: packages/libxml2/branches/unstable/debian/python2.3-libxml2.install (from rev 351, packages/libxml2/tags/2.6.16-2/debian/python2.3-libxml2.install)

Modified: packages/libxml2/branches/unstable/debian/rules
===================================================================
--- packages/libxml2/branches/unstable/debian/rules	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/rules	2005-02-16 19:06:11 UTC (rev 352)
@@ -100,14 +100,16 @@
 binary-indep: build install
 	dh_testdir -i
 	dh_testroot -i
-	dh_installdocs -i -A AUTHORS TODO README
-	dh_installchangelogs -i debian/no-upstream-changelog
+	dh_installdocs -i -Nlibxml2-python2.3 -A AUTHORS TODO README
+	dh_installdocs -plibxml2-python2.3
+	dh_installchangelogs -i -Nlibxml2-python2.3 debian/no-upstream-changelog
+	dh_installchangelogs -plibxml2-python2.3
 	dh_install -i --sourcedir=debian/tmp
 	dh_link -i
 	dh_strip -i
 	dh_compress -i -Xexamples/ -Xtutorial/ -Xhtml/ -X.html
 	dh_fixperms -i
-	dh_installdeb -i
+	dh_installdeb -i -Nlibxml2-python2.3
 	dh_shlibdeps -i
 	dh_gencontrol -i
 	dh_md5sums -i
@@ -119,20 +121,20 @@
 	dh_testroot -a
 	dh_installexamples -a
 	dh_installdocs -plibxml2 -Nlibxml2-dev -A AUTHORS TODO README
-	dh_installdocs -plibxml2-python2.3 python/TODO
+	dh_installdocs -ppython2.3-libxml2 python/TODO
 	ln -sf libxml2 debian/libxml2-dev/usr/share/doc/libxml2-dev
 	ln -sf libxml2 debian/libxml2-utils/usr/share/doc/libxml2-utils
 	dh_installman -a
 	dh_installchangelogs -plibxml2 ChangeLog
 	for file in AUTHORS README README.Debian changelog.Debian.gz changelog.gz; do \
-		ln -sf ../libxml2/$${file} debian/libxml2-python2.3/usr/share/doc/libxml2-python2.3/$${file}; \
+		ln -sf ../libxml2/$${file} debian/python2.3-libxml2/usr/share/doc/python2.3-libxml2/$${file}; \
 	done
 	dh_install -a --sourcedir=debian/tmp
 	dh_link -a
 	dh_strip -a
 	dh_compress -a -Xexamples/
 	dh_fixperms -a
-	dh_makeshlibs -a -V 'libxml2 (>= 2.6.11)'
+	dh_makeshlibs -a -V 'libxml2 (>= 2.6.16)'
 	dh_installdeb -a
 	dh_shlibdeps -a
 	dh_gencontrol -a

Deleted: packages/libxml2/branches/unstable/debian/shlibs.local
===================================================================
--- packages/libxml2/branches/unstable/debian/shlibs.local	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debian/shlibs.local	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +0,0 @@
-libxml2 2 libxml2 (>= 2.6.11-4)

Modified: packages/libxml2/branches/unstable/debugXML.c
===================================================================
--- packages/libxml2/branches/unstable/debugXML.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/debugXML.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -34,964 +34,1338 @@
 #include <libxml/relaxng.h>
 #endif
 
+typedef struct _xmlDebugCtxt xmlDebugCtxt;
+typedef xmlDebugCtxt *xmlDebugCtxtPtr;
+struct _xmlDebugCtxt {
+    FILE *output;               /* the output file */
+    char shift[101];            /* used for indenting */
+    int depth;                  /* current depth */
+    xmlDocPtr doc;              /* current document */
+    xmlNodePtr node;		/* current node */
+    xmlDictPtr dict;		/* the doc dictionnary */
+    int check;                  /* do just checkings */
+    int errors;                 /* number of errors found */
+    int nodict;			/* if the document has no dictionnary */
+};
+
+static void xmlCtxtDumpNodeList(xmlDebugCtxtPtr ctxt, xmlNodePtr node);
+
+static void
+xmlCtxtDumpInitCtxt(xmlDebugCtxtPtr ctxt)
+{
+    int i;
+
+    ctxt->depth = 0;
+    ctxt->check = 0;
+    ctxt->errors = 0;
+    ctxt->output = stdout;
+    ctxt->doc = NULL;
+    ctxt->node = NULL;
+    ctxt->dict = NULL;
+    ctxt->nodict = 0;
+    for (i = 0; i < 100; i++)
+        ctxt->shift[i] = ' ';
+    ctxt->shift[100] = 0;
+}
+
+static void
+xmlCtxtDumpCleanCtxt(xmlDebugCtxtPtr ctxt ATTRIBUTE_UNUSED)
+{
+ /* remove the ATTRIBUTE_UNUSED when this is added */
+}
+
 /**
- * xmlDebugDumpString:
- * @output:  the FILE * for the output
- * @str:  the string
+ * xmlNsCheckScope:
+ * @node: the node
+ * @ns: the namespace node
  *
- * Dumps informations about the string, shorten it if necessary
+ * Check that a given namespace is in scope on a node.
+ *
+ * Returns 1 if in scope, -1 in case of argument error, 
+ *         -2 if the namespace is not in scope, and -3 if not on
+ *         an ancestor node.
  */
-void
-xmlDebugDumpString(FILE * output, const xmlChar * str)
+static int
+xmlNsCheckScope(xmlNodePtr node, xmlNsPtr ns)
 {
+    xmlNsPtr cur;
+
+    if ((node == NULL) || (ns == NULL))
+        return(-1);
+
+    if ((node->type != XML_ELEMENT_NODE) &&
+	(node->type != XML_ATTRIBUTE_NODE) &&
+	(node->type != XML_DOCUMENT_NODE) &&
+	(node->type != XML_TEXT_NODE) &&
+	(node->type != XML_HTML_DOCUMENT_NODE) &&
+	(node->type != XML_XINCLUDE_START))
+	return(-2);
+
+    while ((node != NULL) &&
+           ((node->type == XML_ELEMENT_NODE) ||
+            (node->type == XML_ATTRIBUTE_NODE) ||
+            (node->type == XML_TEXT_NODE) ||
+	    (node->type == XML_XINCLUDE_START))) {
+	if ((node->type == XML_ELEMENT_NODE) ||
+	    (node->type == XML_XINCLUDE_START)) {
+	    cur = node->nsDef;
+	    while (cur != NULL) {
+	        if (cur == ns)
+		    return(1);
+		if (xmlStrEqual(cur->prefix, ns->prefix))
+		    return(-2);
+		cur = cur->next;
+	    }
+	}
+	node = node->parent;
+    }
+    /* the xml namespace may be declared on the document node */
+    if ((node != NULL) &&
+        ((node->type == XML_DOCUMENT_NODE) ||
+	 (node->type == XML_HTML_DOCUMENT_NODE))) {
+	 xmlNsPtr oldNs = ((xmlDocPtr) node)->oldNs;
+	 if (oldNs == ns)
+	     return(1);
+    }
+    return(-3);
+}
+
+static void
+xmlCtxtDumpSpaces(xmlDebugCtxtPtr ctxt)
+{
+    if (ctxt->check)
+        return;
+    if ((ctxt->output != NULL) && (ctxt->depth > 0)) {
+        if (ctxt->depth < 50)
+            fprintf(ctxt->output, &ctxt->shift[100 - 2 * ctxt->depth]);
+        else
+            fprintf(ctxt->output, ctxt->shift);
+    }
+}
+
+/**
+ * xmlDebugErr:
+ * @ctxt:  a debug context
+ * @error:  the error code
+ *
+ * Handle a debug error.
+ */
+static void
+xmlDebugErr(xmlDebugCtxtPtr ctxt, int error, const char *msg)
+{
+    ctxt->errors++;
+    __xmlRaiseError(NULL, NULL, NULL,
+		    NULL, ctxt->node, XML_FROM_CHECK,
+		    error, XML_ERR_ERROR, NULL, 0,
+		    NULL, NULL, NULL, 0, 0,
+		    msg);
+}
+static void
+xmlDebugErr2(xmlDebugCtxtPtr ctxt, int error, const char *msg, int extra)
+{
+    ctxt->errors++;
+    __xmlRaiseError(NULL, NULL, NULL,
+		    NULL, ctxt->node, XML_FROM_CHECK,
+		    error, XML_ERR_ERROR, NULL, 0,
+		    NULL, NULL, NULL, 0, 0,
+		    msg, extra);
+}
+static void
+xmlDebugErr3(xmlDebugCtxtPtr ctxt, int error, const char *msg, const char *extra)
+{
+    ctxt->errors++;
+    __xmlRaiseError(NULL, NULL, NULL,
+		    NULL, ctxt->node, XML_FROM_CHECK,
+		    error, XML_ERR_ERROR, NULL, 0,
+		    NULL, NULL, NULL, 0, 0,
+		    msg, extra);
+}
+
+/**
+ * xmlCtxtNsCheckScope:
+ * @ctxt: the debugging context
+ * @node: the node
+ * @ns: the namespace node
+ *
+ * Report if a given namespace is is not in scope.
+ */
+static void
+xmlCtxtNsCheckScope(xmlDebugCtxtPtr ctxt, xmlNodePtr node, xmlNsPtr ns)
+{
+    int ret;
+
+    ret = xmlNsCheckScope(node, ns);
+    if (ret == -2) {
+        if (ns->prefix == NULL)
+	    xmlDebugErr(ctxt, XML_CHECK_NS_SCOPE,
+			"Reference to default namespace not in scope\n");
+	else
+	    xmlDebugErr3(ctxt, XML_CHECK_NS_SCOPE,
+			 "Reference to namespace '%s' not in scope\n",
+			 (char *) ns->prefix);
+    }
+    if (ret == -3) {
+        if (ns->prefix == NULL)
+	    xmlDebugErr(ctxt, XML_CHECK_NS_ANCESTOR,
+			"Reference to default namespace not on ancestor\n");
+	else
+	    xmlDebugErr3(ctxt, XML_CHECK_NS_ANCESTOR,
+			 "Reference to namespace '%s' not on ancestor\n",
+			 (char *) ns->prefix);
+    }
+}
+
+/**
+ * xmlCtxtCheckString:
+ * @ctxt: the debug context
+ * @str: the string
+ *
+ * Do debugging on the string, currently it just checks the UTF-8 content
+ */
+static void
+xmlCtxtCheckString(xmlDebugCtxtPtr ctxt, const xmlChar * str)
+{
+    if (str == NULL) return;
+    if (ctxt->check) {
+        if (!xmlCheckUTF8(str)) {
+	    xmlDebugErr3(ctxt, XML_CHECK_NOT_UTF8,
+			 "String is not UTF-8 %s", (const char *) str);
+	}
+    }
+}
+
+/**
+ * xmlCtxtCheckName:
+ * @ctxt: the debug context
+ * @name: the name
+ *
+ * Do debugging on the name, for example the dictionnary status and
+ * conformance to the Name production.
+ */
+static void
+xmlCtxtCheckName(xmlDebugCtxtPtr ctxt, const xmlChar * name)
+{
+    if (ctxt->check) {
+	if (name == NULL) {
+	    xmlDebugErr(ctxt, XML_CHECK_NO_NAME, "Name is NULL");
+	    return;
+	}
+        if (xmlValidateName(name, 0)) {
+	    xmlDebugErr3(ctxt, XML_CHECK_NOT_NCNAME,
+			 "Name is not an NCName '%s'", (const char *) name);
+	}
+	if ((ctxt->dict != NULL) &&
+	    (!xmlDictOwns(ctxt->dict, name))) {
+	    xmlDebugErr3(ctxt, XML_CHECK_OUTSIDE_DICT,
+			 "Name is not from the document dictionnary '%s'",
+			 (const char *) name);
+	}
+    }
+}
+
+static void
+xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
+    xmlDocPtr doc;
+    xmlDictPtr dict;
+
+    doc = node->doc;
+
+    if (node->parent == NULL)
+        xmlDebugErr(ctxt, XML_CHECK_NO_PARENT,
+	            "Node has no parent\n");
+    if (node->doc == NULL) {
+        xmlDebugErr(ctxt, XML_CHECK_NO_DOC,
+	            "Node has no doc\n");
+        dict = NULL;
+    } else {
+	dict = doc->dict;
+	if ((dict == NULL) && (ctxt->nodict == 0)) {
+#if 0
+            /* desactivated right now as it raises too many errors */
+	    if (doc->type == XML_DOCUMENT_NODE)
+		xmlDebugErr(ctxt, XML_CHECK_NO_DICT,
+			    "Document has no dictionnary\n");
+#endif
+	    ctxt->nodict = 1;
+	}
+	if (ctxt->doc == NULL)
+	    ctxt->doc = doc;
+
+	if (ctxt->dict == NULL) {
+	    ctxt->dict = dict;
+	}
+    }
+    if ((node->parent != NULL) && (node->doc != node->parent->doc) &&
+        (!xmlStrEqual(node->name, BAD_CAST "pseudoroot")))
+        xmlDebugErr(ctxt, XML_CHECK_WRONG_DOC,
+	            "Node doc differs from parent's one\n");
+    if (node->prev == NULL) {
+        if (node->type == XML_ATTRIBUTE_NODE) {
+	    if ((node->parent != NULL) &&
+	        (node != (xmlNodePtr) node->parent->properties))
+		xmlDebugErr(ctxt, XML_CHECK_NO_PREV,
+                    "Attr has no prev and not first of attr list\n");
+	        
+        } else if ((node->parent != NULL) && (node->parent->children != node))
+	    xmlDebugErr(ctxt, XML_CHECK_NO_PREV,
+                    "Node has no prev and not first of parent list\n");
+    } else {
+        if (node->prev->next != node)
+	    xmlDebugErr(ctxt, XML_CHECK_WRONG_PREV,
+                        "Node prev->next : back link wrong\n");
+    }
+    if (node->next == NULL) {
+	if ((node->parent != NULL) && (node->type != XML_ATTRIBUTE_NODE) &&
+	    (node->parent->last != node))
+	    xmlDebugErr(ctxt, XML_CHECK_NO_NEXT,
+                    "Node has no next and not last of parent list\n");
+    } else {
+        if (node->next->prev != node)
+	    xmlDebugErr(ctxt, XML_CHECK_WRONG_NEXT,
+                    "Node next->prev : forward link wrong\n");
+        if (node->next->parent != node->parent)
+	    xmlDebugErr(ctxt, XML_CHECK_WRONG_PARENT,
+                    "Node next->prev : forward link wrong\n");
+    }
+    if (node->type == XML_ELEMENT_NODE) {
+        xmlNsPtr ns;
+
+	ns = node->nsDef;
+	while (ns != NULL) {
+	    xmlCtxtNsCheckScope(ctxt, node, ns);
+	    ns = ns->next;
+	}
+	if (node->ns != NULL)
+	    xmlCtxtNsCheckScope(ctxt, node, node->ns);
+    } else if (node->type == XML_ATTRIBUTE_NODE) {
+	if (node->ns != NULL)
+	    xmlCtxtNsCheckScope(ctxt, node, node->ns);
+    }
+
+    if ((node->type != XML_ELEMENT_NODE) &&
+	(node->type != XML_ATTRIBUTE_NODE) &&
+	(node->type != XML_ATTRIBUTE_DECL) &&
+	(node->type != XML_DTD_NODE) &&
+	(node->type != XML_HTML_DOCUMENT_NODE) &&
+	(node->type != XML_DOCUMENT_NODE)) {
+	if (node->content != NULL)
+	    xmlCtxtCheckString(ctxt, (const xmlChar *) node->content);
+    }
+    switch (node->type) {
+        case XML_ELEMENT_NODE:
+        case XML_ATTRIBUTE_NODE:
+	    xmlCtxtCheckName(ctxt, node->name);
+	    break;
+        case XML_TEXT_NODE:
+	    if ((node->name == xmlStringText) ||
+	        (node->name == xmlStringTextNoenc))
+		break;
+	    /* some case of entity substitution can lead to this */
+	    if ((ctxt->dict != NULL) &&
+	        (node->name == xmlDictLookup(ctxt->dict, BAD_CAST "nbktext",
+		                             7)))
+		break;
+
+	    xmlDebugErr3(ctxt, XML_CHECK_WRONG_NAME,
+			 "Text node has wrong name '%s'",
+			 (const char *) node->name);
+	    break;
+        case XML_COMMENT_NODE:
+	    if (node->name == xmlStringComment)
+		break;
+	    xmlDebugErr3(ctxt, XML_CHECK_WRONG_NAME,
+			 "Comment node has wrong name '%s'",
+			 (const char *) node->name);
+	    break;
+        case XML_PI_NODE:
+	    xmlCtxtCheckName(ctxt, node->name);
+	    break;
+        case XML_CDATA_SECTION_NODE:
+	    if (node->name == NULL)
+		break;
+	    xmlDebugErr3(ctxt, XML_CHECK_NAME_NOT_NULL,
+			 "CData section has non NULL name '%s'",
+			 (const char *) node->name);
+	    break;
+        case XML_ENTITY_REF_NODE:
+        case XML_ENTITY_NODE:
+        case XML_DOCUMENT_TYPE_NODE:
+        case XML_DOCUMENT_FRAG_NODE:
+        case XML_NOTATION_NODE:
+        case XML_DTD_NODE:
+        case XML_ELEMENT_DECL:
+        case XML_ATTRIBUTE_DECL:
+        case XML_ENTITY_DECL:
+        case XML_NAMESPACE_DECL:
+        case XML_XINCLUDE_START:
+        case XML_XINCLUDE_END:
+#ifdef LIBXML_DOCB_ENABLED
+        case XML_DOCB_DOCUMENT_NODE:
+#endif
+        case XML_DOCUMENT_NODE:
+        case XML_HTML_DOCUMENT_NODE:
+	    break;
+    }
+}
+
+static void
+xmlCtxtDumpString(xmlDebugCtxtPtr ctxt, const xmlChar * str)
+{
     int i;
 
-    if (output == NULL)
-	output = stdout;
+    if (ctxt->check) {
+        return;
+    }
+    /* TODO: check UTF8 content of the string */
     if (str == NULL) {
-        fprintf(output, "(NULL)");
+        fprintf(ctxt->output, "(NULL)");
         return;
     }
     for (i = 0; i < 40; i++)
         if (str[i] == 0)
             return;
         else if (IS_BLANK_CH(str[i]))
-            fputc(' ', output);
+            fputc(' ', ctxt->output);
         else if (str[i] >= 0x80)
-            fprintf(output, "#%X", str[i]);
+            fprintf(ctxt->output, "#%X", str[i]);
         else
-            fputc(str[i], output);
-    fprintf(output, "...");
+            fputc(str[i], ctxt->output);
+    fprintf(ctxt->output, "...");
 }
 
 static void
-xmlDebugDumpDtdNode(FILE *output, xmlDtdPtr dtd, int depth) {
-    int i;
-    char shift[100];
+xmlCtxtDumpDtdNode(xmlDebugCtxtPtr ctxt, xmlDtdPtr dtd)
+{
+    xmlCtxtDumpSpaces(ctxt);
 
-    for (i = 0;((i < depth) && (i < 25));i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
-    fprintf(output, shift);
-
     if (dtd == NULL) {
-	fprintf(output, "DTD node is NULL\n");
-	return;
+        if (!ctxt->check)
+            fprintf(ctxt->output, "DTD node is NULL\n");
+        return;
     }
 
     if (dtd->type != XML_DTD_NODE) {
-	fprintf(output, "PBM: not a DTD\n");
-	return;
+	xmlDebugErr(ctxt, XML_CHECK_NOT_DTD,
+	            "Node is not a DTD");
+        return;
     }
-    if (dtd->name != NULL)
-	fprintf(output, "DTD(%s)", dtd->name);
-    else
-	fprintf(output, "DTD");
-    if (dtd->ExternalID != NULL)
-	fprintf(output, ", PUBLIC %s", dtd->ExternalID);
-    if (dtd->SystemID != NULL)
-	fprintf(output, ", SYSTEM %s", dtd->SystemID);
-    fprintf(output, "\n");
+    if (!ctxt->check) {
+        if (dtd->name != NULL)
+            fprintf(ctxt->output, "DTD(%s)", (char *) dtd->name);
+        else
+            fprintf(ctxt->output, "DTD");
+        if (dtd->ExternalID != NULL)
+            fprintf(ctxt->output, ", PUBLIC %s", (char *) dtd->ExternalID);
+        if (dtd->SystemID != NULL)
+            fprintf(ctxt->output, ", SYSTEM %s", (char *) dtd->SystemID);
+        fprintf(ctxt->output, "\n");
+    }
     /*
      * Do a bit of checking
      */
-    if (dtd->parent == NULL)
-	fprintf(output, "PBM: DTD has no parent\n");
-    if (dtd->doc == NULL)
-	fprintf(output, "PBM: DTD has no doc\n");
-    if ((dtd->parent != NULL) && (dtd->doc != dtd->parent->doc))
-	fprintf(output, "PBM: DTD doc differs from parent's one\n");
-    if (dtd->prev == NULL) {
-	if ((dtd->parent != NULL) && (dtd->parent->children != (xmlNodePtr)dtd))
-	    fprintf(output, "PBM: DTD has no prev and not first of list\n");
-    } else {
-	if (dtd->prev->next != (xmlNodePtr) dtd)
-	    fprintf(output, "PBM: DTD prev->next : back link wrong\n");
-    }
-    if (dtd->next == NULL) {
-	if ((dtd->parent != NULL) && (dtd->parent->last != (xmlNodePtr) dtd))
-	    fprintf(output, "PBM: DTD has no next and not last of list\n");
-    } else {
-	if (dtd->next->prev != (xmlNodePtr) dtd)
-	    fprintf(output, "PBM: DTD next->prev : forward link wrong\n");
-    }
+    xmlCtxtGenericNodeCheck(ctxt, (xmlNodePtr) dtd);
 }
 
 static void
-xmlDebugDumpAttrDecl(FILE *output, xmlAttributePtr attr, int depth) {
-    int i;
-    char shift[100];
+xmlCtxtDumpAttrDecl(xmlDebugCtxtPtr ctxt, xmlAttributePtr attr)
+{
+    xmlCtxtDumpSpaces(ctxt);
 
-    for (i = 0;((i < depth) && (i < 25));i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
-    fprintf(output, shift);
-
     if (attr == NULL) {
-	fprintf(output, "Attribute declaration is NULL\n");
-	return;
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Attribute declaration is NULL\n");
+        return;
     }
     if (attr->type != XML_ATTRIBUTE_DECL) {
-	fprintf(output, "PBM: not a Attr\n");
-	return;
+	xmlDebugErr(ctxt, XML_CHECK_NOT_ATTR_DECL,
+	            "Node is not an attribute declaration");
+        return;
     }
-    if (attr->name != NULL)
-	fprintf(output, "ATTRDECL(%s)", attr->name);
-    else
-	fprintf(output, "PBM ATTRDECL noname!!!");
-    if (attr->elem != NULL)
-	fprintf(output, " for %s", attr->elem);
-    else
-	fprintf(output, " PBM noelem!!!");
-    switch (attr->atype) {
-        case XML_ATTRIBUTE_CDATA:
-	    fprintf(output, " CDATA");
-	    break;
-        case XML_ATTRIBUTE_ID:
-	    fprintf(output, " ID");
-	    break;
-        case XML_ATTRIBUTE_IDREF:
-	    fprintf(output, " IDREF");
-	    break;
-        case XML_ATTRIBUTE_IDREFS:
-	    fprintf(output, " IDREFS");
-	    break;
-        case XML_ATTRIBUTE_ENTITY:
-	    fprintf(output, " ENTITY");
-	    break;
-        case XML_ATTRIBUTE_ENTITIES:
-	    fprintf(output, " ENTITIES");
-	    break;
-        case XML_ATTRIBUTE_NMTOKEN:
-	    fprintf(output, " NMTOKEN");
-	    break;
-        case XML_ATTRIBUTE_NMTOKENS:
-	    fprintf(output, " NMTOKENS");
-	    break;
-        case XML_ATTRIBUTE_ENUMERATION:
-	    fprintf(output, " ENUMERATION");
-	    break;
-        case XML_ATTRIBUTE_NOTATION:
-	    fprintf(output, " NOTATION ");
-	    break;
-    }
-    if (attr->tree != NULL) {
-	int indx;
-	xmlEnumerationPtr cur = attr->tree;
+    if (attr->name != NULL) {
+        if (!ctxt->check)
+            fprintf(ctxt->output, "ATTRDECL(%s)", (char *) attr->name);
+    } else
+	xmlDebugErr(ctxt, XML_CHECK_NO_NAME,
+	            "Node attribute declaration has no name");
+    if (attr->elem != NULL) {
+        if (!ctxt->check)
+            fprintf(ctxt->output, " for %s", (char *) attr->elem);
+    } else
+	xmlDebugErr(ctxt, XML_CHECK_NO_ELEM,
+	            "Node attribute declaration has no element name");
+    if (!ctxt->check) {
+        switch (attr->atype) {
+            case XML_ATTRIBUTE_CDATA:
+                fprintf(ctxt->output, " CDATA");
+                break;
+            case XML_ATTRIBUTE_ID:
+                fprintf(ctxt->output, " ID");
+                break;
+            case XML_ATTRIBUTE_IDREF:
+                fprintf(ctxt->output, " IDREF");
+                break;
+            case XML_ATTRIBUTE_IDREFS:
+                fprintf(ctxt->output, " IDREFS");
+                break;
+            case XML_ATTRIBUTE_ENTITY:
+                fprintf(ctxt->output, " ENTITY");
+                break;
+            case XML_ATTRIBUTE_ENTITIES:
+                fprintf(ctxt->output, " ENTITIES");
+                break;
+            case XML_ATTRIBUTE_NMTOKEN:
+                fprintf(ctxt->output, " NMTOKEN");
+                break;
+            case XML_ATTRIBUTE_NMTOKENS:
+                fprintf(ctxt->output, " NMTOKENS");
+                break;
+            case XML_ATTRIBUTE_ENUMERATION:
+                fprintf(ctxt->output, " ENUMERATION");
+                break;
+            case XML_ATTRIBUTE_NOTATION:
+                fprintf(ctxt->output, " NOTATION ");
+                break;
+        }
+        if (attr->tree != NULL) {
+            int indx;
+            xmlEnumerationPtr cur = attr->tree;
 
-	for (indx = 0;indx < 5; indx++) {
-	    if (indx != 0)
-		fprintf(output, "|%s", cur->name);
-	    else
-		fprintf(output, " (%s", cur->name);
-	    cur = cur->next;
-	    if (cur == NULL) break;
-	}
-	if (cur == NULL)
-	    fprintf(output, ")");
-	else
-	    fprintf(output, "...)");
+            for (indx = 0; indx < 5; indx++) {
+                if (indx != 0)
+                    fprintf(ctxt->output, "|%s", (char *) cur->name);
+                else
+                    fprintf(ctxt->output, " (%s", (char *) cur->name);
+                cur = cur->next;
+                if (cur == NULL)
+                    break;
+            }
+            if (cur == NULL)
+                fprintf(ctxt->output, ")");
+            else
+                fprintf(ctxt->output, "...)");
+        }
+        switch (attr->def) {
+            case XML_ATTRIBUTE_NONE:
+                break;
+            case XML_ATTRIBUTE_REQUIRED:
+                fprintf(ctxt->output, " REQUIRED");
+                break;
+            case XML_ATTRIBUTE_IMPLIED:
+                fprintf(ctxt->output, " IMPLIED");
+                break;
+            case XML_ATTRIBUTE_FIXED:
+                fprintf(ctxt->output, " FIXED");
+                break;
+        }
+        if (attr->defaultValue != NULL) {
+            fprintf(ctxt->output, "\"");
+            xmlCtxtDumpString(ctxt, attr->defaultValue);
+            fprintf(ctxt->output, "\"");
+        }
+        fprintf(ctxt->output, "\n");
     }
-    switch (attr->def) {
-        case XML_ATTRIBUTE_NONE:
-	    break;
-        case XML_ATTRIBUTE_REQUIRED:
-	    fprintf(output, " REQUIRED");
-	    break;
-        case XML_ATTRIBUTE_IMPLIED:
-	    fprintf(output, " IMPLIED");
-	    break;
-        case XML_ATTRIBUTE_FIXED:
-	    fprintf(output, " FIXED");
-	    break;
-    }
-    if (attr->defaultValue != NULL) {
-	fprintf(output, "\"");
-	xmlDebugDumpString(output, attr->defaultValue);
-	fprintf(output, "\"");
-    }
-    fprintf(output, "\n");
 
     /*
      * Do a bit of checking
      */
-    if (attr->parent == NULL)
-	fprintf(output, "PBM: Attr has no parent\n");
-    if (attr->doc == NULL)
-	fprintf(output, "PBM: Attr has no doc\n");
-    if ((attr->parent != NULL) && (attr->doc != attr->parent->doc))
-	fprintf(output, "PBM: Attr doc differs from parent's one\n");
-    if (attr->prev == NULL) {
-	if ((attr->parent != NULL) && (attr->parent->children != (xmlNodePtr)attr))
-	    fprintf(output, "PBM: Attr has no prev and not first of list\n");
-    } else {
-	if (attr->prev->next != (xmlNodePtr) attr)
-	    fprintf(output, "PBM: Attr prev->next : back link wrong\n");
-    }
-    if (attr->next == NULL) {
-	if ((attr->parent != NULL) && (attr->parent->last != (xmlNodePtr) attr))
-	    fprintf(output, "PBM: Attr has no next and not last of list\n");
-    } else {
-	if (attr->next->prev != (xmlNodePtr) attr)
-	    fprintf(output, "PBM: Attr next->prev : forward link wrong\n");
-    }
+    xmlCtxtGenericNodeCheck(ctxt, (xmlNodePtr) attr);
 }
 
 static void
-xmlDebugDumpElemDecl(FILE *output, xmlElementPtr elem, int depth) {
-    int i;
-    char shift[100];
+xmlCtxtDumpElemDecl(xmlDebugCtxtPtr ctxt, xmlElementPtr elem)
+{
+    xmlCtxtDumpSpaces(ctxt);
 
-    for (i = 0;((i < depth) && (i < 25));i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
-    fprintf(output, shift);
-
     if (elem == NULL) {
-	fprintf(output, "Element declaration is NULL\n");
-	return;
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Element declaration is NULL\n");
+        return;
     }
     if (elem->type != XML_ELEMENT_DECL) {
-	fprintf(output, "PBM: not a Elem\n");
-	return;
+	xmlDebugErr(ctxt, XML_CHECK_NOT_ELEM_DECL,
+	            "Node is not an element declaration");
+        return;
     }
     if (elem->name != NULL) {
-	fprintf(output, "ELEMDECL(");
-	xmlDebugDumpString(output, elem->name);
-	fprintf(output, ")");
+        if (!ctxt->check) {
+            fprintf(ctxt->output, "ELEMDECL(");
+            xmlCtxtDumpString(ctxt, elem->name);
+            fprintf(ctxt->output, ")");
+        }
     } else
-	fprintf(output, "PBM ELEMDECL noname!!!");
-    switch (elem->etype) {
-	case XML_ELEMENT_TYPE_UNDEFINED: 
-	    fprintf(output, ", UNDEFINED");
-	    break;
-	case XML_ELEMENT_TYPE_EMPTY: 
-	    fprintf(output, ", EMPTY");
-	    break;
-	case XML_ELEMENT_TYPE_ANY: 
-	    fprintf(output, ", ANY");
-	    break;
-	case XML_ELEMENT_TYPE_MIXED: 
-	    fprintf(output, ", MIXED ");
-	    break;
-	case XML_ELEMENT_TYPE_ELEMENT: 
-	    fprintf(output, ", MIXED ");
-	    break;
-    }
-    if ((elem->type != XML_ELEMENT_NODE) &&
-	(elem->content != NULL)) {
-	char buf[5001];
+	xmlDebugErr(ctxt, XML_CHECK_NO_NAME,
+	            "Element declaration has no name");
+    if (!ctxt->check) {
+        switch (elem->etype) {
+            case XML_ELEMENT_TYPE_UNDEFINED:
+                fprintf(ctxt->output, ", UNDEFINED");
+                break;
+            case XML_ELEMENT_TYPE_EMPTY:
+                fprintf(ctxt->output, ", EMPTY");
+                break;
+            case XML_ELEMENT_TYPE_ANY:
+                fprintf(ctxt->output, ", ANY");
+                break;
+            case XML_ELEMENT_TYPE_MIXED:
+                fprintf(ctxt->output, ", MIXED ");
+                break;
+            case XML_ELEMENT_TYPE_ELEMENT:
+                fprintf(ctxt->output, ", MIXED ");
+                break;
+        }
+        if ((elem->type != XML_ELEMENT_NODE) && (elem->content != NULL)) {
+            char buf[5001];
 
-	buf[0] = 0;
-	xmlSnprintfElementContent(buf, 5000, elem->content, 1);
-	buf[5000] = 0;
-	fprintf(output, "%s", buf);
+            buf[0] = 0;
+            xmlSnprintfElementContent(buf, 5000, elem->content, 1);
+            buf[5000] = 0;
+            fprintf(ctxt->output, "%s", buf);
+        }
+        fprintf(ctxt->output, "\n");
     }
-    fprintf(output, "\n");
 
     /*
      * Do a bit of checking
      */
-    if (elem->parent == NULL)
-	fprintf(output, "PBM: Elem has no parent\n");
-    if (elem->doc == NULL)
-	fprintf(output, "PBM: Elem has no doc\n");
-    if ((elem->parent != NULL) && (elem->doc != elem->parent->doc))
-	fprintf(output, "PBM: Elem doc differs from parent's one\n");
-    if (elem->prev == NULL) {
-	if ((elem->parent != NULL) && (elem->parent->children != (xmlNodePtr)elem))
-	    fprintf(output, "PBM: Elem has no prev and not first of list\n");
-    } else {
-	if (elem->prev->next != (xmlNodePtr) elem)
-	    fprintf(output, "PBM: Elem prev->next : back link wrong\n");
-    }
-    if (elem->next == NULL) {
-	if ((elem->parent != NULL) && (elem->parent->last != (xmlNodePtr) elem))
-	    fprintf(output, "PBM: Elem has no next and not last of list\n");
-    } else {
-	if (elem->next->prev != (xmlNodePtr) elem)
-	    fprintf(output, "PBM: Elem next->prev : forward link wrong\n");
-    }
+    xmlCtxtGenericNodeCheck(ctxt, (xmlNodePtr) elem);
 }
 
 static void
-xmlDebugDumpEntityDecl(FILE *output, xmlEntityPtr ent, int depth) {
-    int i;
-    char shift[100];
+xmlCtxtDumpEntityDecl(xmlDebugCtxtPtr ctxt, xmlEntityPtr ent)
+{
+    xmlCtxtDumpSpaces(ctxt);
 
-    for (i = 0;((i < depth) && (i < 25));i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
-    fprintf(output, shift);
-
     if (ent == NULL) {
-	fprintf(output, "Entity declaration is NULL\n");
-	return;
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Entity declaration is NULL\n");
+        return;
     }
     if (ent->type != XML_ENTITY_DECL) {
-	fprintf(output, "PBM: not a Entity decl\n");
-	return;
+	xmlDebugErr(ctxt, XML_CHECK_NOT_ENTITY_DECL,
+	            "Node is not an entity declaration");
+        return;
     }
     if (ent->name != NULL) {
-	fprintf(output, "ENTITYDECL(");
-	xmlDebugDumpString(output, ent->name);
-	fprintf(output, ")");
+        if (!ctxt->check) {
+            fprintf(ctxt->output, "ENTITYDECL(");
+            xmlCtxtDumpString(ctxt, ent->name);
+            fprintf(ctxt->output, ")");
+        }
     } else
-	fprintf(output, "PBM ENTITYDECL noname!!!");
-    switch (ent->etype) {
-	case XML_INTERNAL_GENERAL_ENTITY: 
-	    fprintf(output, ", internal\n");
-	    break;
-	case XML_EXTERNAL_GENERAL_PARSED_ENTITY: 
-	    fprintf(output, ", external parsed\n");
-	    break;
-	case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY: 
-	    fprintf(output, ", unparsed\n");
-	    break;
-	case XML_INTERNAL_PARAMETER_ENTITY: 
-	    fprintf(output, ", parameter\n");
-	    break;
-	case XML_EXTERNAL_PARAMETER_ENTITY: 
-	    fprintf(output, ", external parameter\n");
-	    break;
-	case XML_INTERNAL_PREDEFINED_ENTITY: 
-	    fprintf(output, ", predefined\n");
-	    break;
+	xmlDebugErr(ctxt, XML_CHECK_NO_NAME,
+	            "Entity declaration has no name");
+    if (!ctxt->check) {
+        switch (ent->etype) {
+            case XML_INTERNAL_GENERAL_ENTITY:
+                fprintf(ctxt->output, ", internal\n");
+                break;
+            case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
+                fprintf(ctxt->output, ", external parsed\n");
+                break;
+            case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
+                fprintf(ctxt->output, ", unparsed\n");
+                break;
+            case XML_INTERNAL_PARAMETER_ENTITY:
+                fprintf(ctxt->output, ", parameter\n");
+                break;
+            case XML_EXTERNAL_PARAMETER_ENTITY:
+                fprintf(ctxt->output, ", external parameter\n");
+                break;
+            case XML_INTERNAL_PREDEFINED_ENTITY:
+                fprintf(ctxt->output, ", predefined\n");
+                break;
+        }
+        if (ent->ExternalID) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, " ExternalID=%s\n",
+                    (char *) ent->ExternalID);
+        }
+        if (ent->SystemID) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, " SystemID=%s\n",
+                    (char *) ent->SystemID);
+        }
+        if (ent->URI != NULL) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, " URI=%s\n", (char *) ent->URI);
+        }
+        if (ent->content) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, " content=");
+            xmlCtxtDumpString(ctxt, ent->content);
+            fprintf(ctxt->output, "\n");
+        }
     }
-    if (ent->ExternalID) {
-        fprintf(output, shift);
-        fprintf(output, " ExternalID=%s\n", ent->ExternalID);
-    }
-    if (ent->SystemID) {
-        fprintf(output, shift);
-        fprintf(output, " SystemID=%s\n", ent->SystemID);
-    }
-    if (ent->URI != NULL) {
-        fprintf(output, shift);
-        fprintf(output, " URI=%s\n", ent->URI);
-    }
-    if (ent->content) {
-        fprintf(output, shift);
-	fprintf(output, " content=");
-	xmlDebugDumpString(output, ent->content);
-	fprintf(output, "\n");
-    }
 
     /*
      * Do a bit of checking
      */
-    if (ent->parent == NULL)
-	fprintf(output, "PBM: Ent has no parent\n");
-    if (ent->doc == NULL)
-	fprintf(output, "PBM: Ent has no doc\n");
-    if ((ent->parent != NULL) && (ent->doc != ent->parent->doc))
-	fprintf(output, "PBM: Ent doc differs from parent's one\n");
-    if (ent->prev == NULL) {
-	if ((ent->parent != NULL) && (ent->parent->children != (xmlNodePtr)ent))
-	    fprintf(output, "PBM: Ent has no prev and not first of list\n");
-    } else {
-	if (ent->prev->next != (xmlNodePtr) ent)
-	    fprintf(output, "PBM: Ent prev->next : back link wrong\n");
-    }
-    if (ent->next == NULL) {
-	if ((ent->parent != NULL) && (ent->parent->last != (xmlNodePtr) ent))
-	    fprintf(output, "PBM: Ent has no next and not last of list\n");
-    } else {
-	if (ent->next->prev != (xmlNodePtr) ent)
-	    fprintf(output, "PBM: Ent next->prev : forward link wrong\n");
-    }
+    xmlCtxtGenericNodeCheck(ctxt, (xmlNodePtr) ent);
 }
 
 static void
-xmlDebugDumpNamespace(FILE *output, xmlNsPtr ns, int depth) {
-    int i;
-    char shift[100];
+xmlCtxtDumpNamespace(xmlDebugCtxtPtr ctxt, xmlNsPtr ns)
+{
+    xmlCtxtDumpSpaces(ctxt);
 
-    for (i = 0;((i < depth) && (i < 25));i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
-    fprintf(output, shift);
-
     if (ns == NULL) {
-	fprintf(output, "namespace node is NULL\n");
-	return;
+        if (!ctxt->check)
+            fprintf(ctxt->output, "namespace node is NULL\n");
+        return;
     }
     if (ns->type != XML_NAMESPACE_DECL) {
-        fprintf(output, "invalid namespace node %d\n", ns->type);
-	return;
+	xmlDebugErr(ctxt, XML_CHECK_NOT_NS_DECL,
+	            "Node is not a namespace declaration");
+        return;
     }
     if (ns->href == NULL) {
-	if (ns->prefix != NULL)
-	    fprintf(output, "incomplete namespace %s href=NULL\n", ns->prefix);
-	else
-	    fprintf(output, "incomplete default namespace href=NULL\n");
+        if (ns->prefix != NULL)
+	    xmlDebugErr3(ctxt, XML_CHECK_NO_HREF,
+                    "Incomplete namespace %s href=NULL\n",
+                    (char *) ns->prefix);
+        else
+	    xmlDebugErr(ctxt, XML_CHECK_NO_HREF,
+                    "Incomplete default namespace href=NULL\n");
     } else {
-	if (ns->prefix != NULL)
-	    fprintf(output, "namespace %s href=", ns->prefix);
-	else
-	    fprintf(output, "default namespace href=");
+        if (!ctxt->check) {
+            if (ns->prefix != NULL)
+                fprintf(ctxt->output, "namespace %s href=",
+                        (char *) ns->prefix);
+            else
+                fprintf(ctxt->output, "default namespace href=");
 
-	xmlDebugDumpString(output, ns->href);
-	fprintf(output, "\n");
+            xmlCtxtDumpString(ctxt, ns->href);
+            fprintf(ctxt->output, "\n");
+        }
     }
 }
 
 static void
-xmlDebugDumpNamespaceList(FILE *output, xmlNsPtr ns, int depth) {
+xmlCtxtDumpNamespaceList(xmlDebugCtxtPtr ctxt, xmlNsPtr ns)
+{
     while (ns != NULL) {
-        xmlDebugDumpNamespace(output, ns, depth);
-	ns = ns->next;
+        xmlCtxtDumpNamespace(ctxt, ns);
+        ns = ns->next;
     }
 }
 
 static void
-xmlDebugDumpEntity(FILE *output, xmlEntityPtr ent, int depth) {
-    int i;
-    char shift[100];
+xmlCtxtDumpEntity(xmlDebugCtxtPtr ctxt, xmlEntityPtr ent)
+{
+    xmlCtxtDumpSpaces(ctxt);
 
-    for (i = 0;((i < depth) && (i < 25));i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
-    fprintf(output, shift);
-    
     if (ent == NULL) {
-	fprintf(output, "Entity is NULL\n");
-	return;
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Entity is NULL\n");
+        return;
     }
-    switch (ent->etype) {
-        case XML_INTERNAL_GENERAL_ENTITY:
-	    fprintf(output, "INTERNAL_GENERAL_ENTITY ");
-	    break;
-        case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
-	    fprintf(output, "EXTERNAL_GENERAL_PARSED_ENTITY ");
-	    break;
-        case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
-	    fprintf(output, "EXTERNAL_GENERAL_UNPARSED_ENTITY ");
-	    break;
-        case XML_INTERNAL_PARAMETER_ENTITY:
-	    fprintf(output, "INTERNAL_PARAMETER_ENTITY ");
-	    break;
-        case XML_EXTERNAL_PARAMETER_ENTITY:
-	    fprintf(output, "EXTERNAL_PARAMETER_ENTITY ");
-	    break;
-	default:
-	    fprintf(output, "ENTITY_%d ! ", ent->etype);
+    if (!ctxt->check) {
+        switch (ent->etype) {
+            case XML_INTERNAL_GENERAL_ENTITY:
+                fprintf(ctxt->output, "INTERNAL_GENERAL_ENTITY ");
+                break;
+            case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
+                fprintf(ctxt->output, "EXTERNAL_GENERAL_PARSED_ENTITY ");
+                break;
+            case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
+                fprintf(ctxt->output, "EXTERNAL_GENERAL_UNPARSED_ENTITY ");
+                break;
+            case XML_INTERNAL_PARAMETER_ENTITY:
+                fprintf(ctxt->output, "INTERNAL_PARAMETER_ENTITY ");
+                break;
+            case XML_EXTERNAL_PARAMETER_ENTITY:
+                fprintf(ctxt->output, "EXTERNAL_PARAMETER_ENTITY ");
+                break;
+            default:
+                fprintf(ctxt->output, "ENTITY_%d ! ", (int) ent->etype);
+        }
+        fprintf(ctxt->output, "%s\n", ent->name);
+        if (ent->ExternalID) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, "ExternalID=%s\n",
+                    (char *) ent->ExternalID);
+        }
+        if (ent->SystemID) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, "SystemID=%s\n", (char *) ent->SystemID);
+        }
+        if (ent->URI) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, "URI=%s\n", (char *) ent->URI);
+        }
+        if (ent->content) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, "content=");
+            xmlCtxtDumpString(ctxt, ent->content);
+            fprintf(ctxt->output, "\n");
+        }
     }
-    fprintf(output, "%s\n", ent->name);
-    if (ent->ExternalID) {
-        fprintf(output, shift);
-        fprintf(output, "ExternalID=%s\n", ent->ExternalID);
-    }
-    if (ent->SystemID) {
-        fprintf(output, shift);
-        fprintf(output, "SystemID=%s\n", ent->SystemID);
-    }
-    if (ent->URI) {
-        fprintf(output, shift);
-        fprintf(output, "URI=%s\n", ent->URI);
-    }
-    if (ent->content) {
-        fprintf(output, shift);
-	fprintf(output, "content=");
-	xmlDebugDumpString(output, ent->content);
-	fprintf(output, "\n");
-    }
 }
 
 /**
- * xmlDebugDumpAttr:
+ * xmlCtxtDumpAttr:
  * @output:  the FILE * for the output
  * @attr:  the attribute
  * @depth:  the indentation level.
  *
  * Dumps debug information for the attribute
  */
-void
-xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth) {
-    int i;
-    char shift[100];
+static void
+xmlCtxtDumpAttr(xmlDebugCtxtPtr ctxt, xmlAttrPtr attr)
+{
+    xmlCtxtDumpSpaces(ctxt);
 
-    for (i = 0;((i < depth) && (i < 25));i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
-    fprintf(output, shift);
-    
     if (attr == NULL) {
-	fprintf(output, "Attr is NULL");
-	return;
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Attr is NULL");
+        return;
     }
-    fprintf(output, "ATTRIBUTE ");
-    xmlDebugDumpString(output, attr->name);
-    fprintf(output, "\n");
-    if (attr->children != NULL) 
-        xmlDebugDumpNodeList(output, attr->children, depth + 1);
+    if (!ctxt->check) {
+        fprintf(ctxt->output, "ATTRIBUTE ");
+	xmlCtxtDumpString(ctxt, attr->name);
+        fprintf(ctxt->output, "\n");
+        if (attr->children != NULL) {
+            ctxt->depth++;
+            xmlCtxtDumpNodeList(ctxt, attr->children);
+            ctxt->depth--;
+        }
+    }
+    if (attr->name == NULL)
+	xmlDebugErr(ctxt, XML_CHECK_NO_NAME,
+	            "Attribute has no name");
 
     /*
      * Do a bit of checking
      */
-    if (attr->parent == NULL)
-	fprintf(output, "PBM: Attr has no parent\n");
-    if (attr->doc == NULL)
-	fprintf(output, "PBM: Attr has no doc\n");
-    if ((attr->parent != NULL) && (attr->doc != attr->parent->doc))
-	fprintf(output, "PBM: Attr doc differs from parent's one\n");
-    if (attr->prev == NULL) {
-	if ((attr->parent != NULL) && (attr->parent->properties != attr))
-	    fprintf(output, "PBM: Attr has no prev and not first of list\n");
-    } else {
-	if (attr->prev->next != attr)
-	    fprintf(output, "PBM: Attr prev->next : back link wrong\n");
-    }
-    if (attr->next != NULL) {
-	if (attr->next->prev != attr)
-	    fprintf(output, "PBM: Attr next->prev : forward link wrong\n");
-    }
+    xmlCtxtGenericNodeCheck(ctxt, (xmlNodePtr) attr);
 }
 
 /**
- * xmlDebugDumpAttrList:
+ * xmlCtxtDumpAttrList:
  * @output:  the FILE * for the output
  * @attr:  the attribute list
  * @depth:  the indentation level.
  *
  * Dumps debug information for the attribute list
  */
-void
-xmlDebugDumpAttrList(FILE * output, xmlAttrPtr attr, int depth)
+static void
+xmlCtxtDumpAttrList(xmlDebugCtxtPtr ctxt, xmlAttrPtr attr)
 {
-    if (output == NULL)
-	output = stdout;
     while (attr != NULL) {
-        xmlDebugDumpAttr(output, attr, depth);
+        xmlCtxtDumpAttr(ctxt, attr);
         attr = attr->next;
     }
 }
 
 /**
- * xmlDebugDumpOneNode:
+ * xmlCtxtDumpOneNode:
  * @output:  the FILE * for the output
  * @node:  the node
  * @depth:  the indentation level.
  *
  * Dumps debug information for the element node, it is not recursive
  */
-void
-xmlDebugDumpOneNode(FILE * output, xmlNodePtr node, int depth)
+static void
+xmlCtxtDumpOneNode(xmlDebugCtxtPtr ctxt, xmlNodePtr node)
 {
-    int i;
-    char shift[100];
-
-    if (output == NULL)
-	output = stdout;
-    for (i = 0; ((i < depth) && (i < 25)); i++)
-        shift[2 * i] = shift[2 * i + 1] = ' ';
-    shift[2 * i] = shift[2 * i + 1] = 0;
-
     if (node == NULL) {
-	fprintf(output, shift);
-	fprintf(output, "node is NULL\n");
-	return;
+        if (!ctxt->check) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, "node is NULL\n");
+        }
+        return;
     }
+    ctxt->node = node;
+
     switch (node->type) {
         case XML_ELEMENT_NODE:
-            fprintf(output, shift);
-            fprintf(output, "ELEMENT ");
-            if ((node->ns != NULL) && (node->ns->prefix != NULL)) {
-                xmlDebugDumpString(output, node->ns->prefix);
-                fprintf(output, ":");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "ELEMENT ");
+                if ((node->ns != NULL) && (node->ns->prefix != NULL)) {
+                    xmlCtxtDumpString(ctxt, node->ns->prefix);
+                    fprintf(ctxt->output, ":");
+                }
+                xmlCtxtDumpString(ctxt, node->name);
+                fprintf(ctxt->output, "\n");
             }
-            xmlDebugDumpString(output, node->name);
-            fprintf(output, "\n");
             break;
         case XML_ATTRIBUTE_NODE:
-            fprintf(output, shift);
-            fprintf(output, "Error, ATTRIBUTE found here\n");
+            if (!ctxt->check)
+                xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, "Error, ATTRIBUTE found here\n");
             break;
         case XML_TEXT_NODE:
-            fprintf(output, shift);
-	    if (node->name == (const xmlChar *) xmlStringTextNoenc)
-		fprintf(output, "TEXT no enc\n");
-	    else
-		fprintf(output, "TEXT\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                if (node->name == (const xmlChar *) xmlStringTextNoenc)
+                    fprintf(ctxt->output, "TEXT no enc\n");
+                else
+                    fprintf(ctxt->output, "TEXT\n");
+            }
             break;
         case XML_CDATA_SECTION_NODE:
-            fprintf(output, shift);
-            fprintf(output, "CDATA_SECTION\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "CDATA_SECTION\n");
+            }
             break;
         case XML_ENTITY_REF_NODE:
-            fprintf(output, shift);
-            fprintf(output, "ENTITY_REF(%s)\n", node->name);
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "ENTITY_REF(%s)\n",
+                        (char *) node->name);
+            }
             break;
         case XML_ENTITY_NODE:
-            fprintf(output, shift);
-            fprintf(output, "ENTITY\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "ENTITY\n");
+            }
             break;
         case XML_PI_NODE:
-            fprintf(output, shift);
-            fprintf(output, "PI %s\n", node->name);
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "PI %s\n", (char *) node->name);
+            }
             break;
         case XML_COMMENT_NODE:
-            fprintf(output, shift);
-            fprintf(output, "COMMENT\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "COMMENT\n");
+            }
             break;
         case XML_DOCUMENT_NODE:
         case XML_HTML_DOCUMENT_NODE:
-            fprintf(output, shift);
-            fprintf(output, "Error, DOCUMENT found here\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+            }
+            fprintf(ctxt->output, "PBM: DOCUMENT found here\n");
             break;
         case XML_DOCUMENT_TYPE_NODE:
-            fprintf(output, shift);
-            fprintf(output, "DOCUMENT_TYPE\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "DOCUMENT_TYPE\n");
+            }
             break;
         case XML_DOCUMENT_FRAG_NODE:
-            fprintf(output, shift);
-            fprintf(output, "DOCUMENT_FRAG\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "DOCUMENT_FRAG\n");
+            }
             break;
         case XML_NOTATION_NODE:
-            fprintf(output, shift);
-            fprintf(output, "NOTATION\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "NOTATION\n");
+            }
             break;
         case XML_DTD_NODE:
-            xmlDebugDumpDtdNode(output, (xmlDtdPtr) node, depth);
+            xmlCtxtDumpDtdNode(ctxt, (xmlDtdPtr) node);
             return;
         case XML_ELEMENT_DECL:
-            xmlDebugDumpElemDecl(output, (xmlElementPtr) node, depth);
+            xmlCtxtDumpElemDecl(ctxt, (xmlElementPtr) node);
             return;
         case XML_ATTRIBUTE_DECL:
-            xmlDebugDumpAttrDecl(output, (xmlAttributePtr) node, depth);
+            xmlCtxtDumpAttrDecl(ctxt, (xmlAttributePtr) node);
             return;
         case XML_ENTITY_DECL:
-            xmlDebugDumpEntityDecl(output, (xmlEntityPtr) node, depth);
+            xmlCtxtDumpEntityDecl(ctxt, (xmlEntityPtr) node);
             return;
         case XML_NAMESPACE_DECL:
-            xmlDebugDumpNamespace(output, (xmlNsPtr) node, depth);
+            xmlCtxtDumpNamespace(ctxt, (xmlNsPtr) node);
             return;
         case XML_XINCLUDE_START:
-            fprintf(output, shift);
-            fprintf(output, "INCLUDE START\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "INCLUDE START\n");
+            }
             return;
         case XML_XINCLUDE_END:
-            fprintf(output, shift);
-            fprintf(output, "INCLUDE END\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "INCLUDE END\n");
+            }
             return;
         default:
-            fprintf(output, shift);
-            fprintf(output, "NODE_%d !!!\n", node->type);
+            if (!ctxt->check)
+                xmlCtxtDumpSpaces(ctxt);
+	    xmlDebugErr2(ctxt, XML_CHECK_UNKNOWN_NODE,
+	                "Unknown node type %d\n", node->type);
             return;
     }
     if (node->doc == NULL) {
-        fprintf(output, shift);
-        fprintf(output, "doc == NULL !!!\n");
+        if (!ctxt->check) {
+            xmlCtxtDumpSpaces(ctxt);
+        }
+        fprintf(ctxt->output, "PBM: doc == NULL !!!\n");
     }
+    ctxt->depth++;
     if (node->nsDef != NULL)
-        xmlDebugDumpNamespaceList(output, node->nsDef, depth + 1);
+        xmlCtxtDumpNamespaceList(ctxt, node->nsDef);
     if (node->properties != NULL)
-        xmlDebugDumpAttrList(output, node->properties, depth + 1);
+        xmlCtxtDumpAttrList(ctxt, node->properties);
     if (node->type != XML_ENTITY_REF_NODE) {
         if ((node->type != XML_ELEMENT_NODE) && (node->content != NULL)) {
-            shift[2 * i] = shift[2 * i + 1] = ' ';
-            shift[2 * i + 2] = shift[2 * i + 3] = 0;
-            fprintf(output, shift);
-            fprintf(output, "content=");
-            xmlDebugDumpString(output, node->content);
-            fprintf(output, "\n");
+            if (!ctxt->check) {
+                xmlCtxtDumpSpaces(ctxt);
+                fprintf(ctxt->output, "content=");
+                xmlCtxtDumpString(ctxt, node->content);
+                fprintf(ctxt->output, "\n");
+            }
         }
     } else {
         xmlEntityPtr ent;
 
         ent = xmlGetDocEntity(node->doc, node->name);
         if (ent != NULL)
-            xmlDebugDumpEntity(output, ent, depth + 1);
+            xmlCtxtDumpEntity(ctxt, ent);
     }
+    ctxt->depth--;
+
     /*
      * Do a bit of checking
      */
-    if (node->parent == NULL)
-        fprintf(output, "PBM: Node has no parent\n");
-    if (node->doc == NULL)
-        fprintf(output, "PBM: Node has no doc\n");
-    if ((node->parent != NULL) && (node->doc != node->parent->doc))
-        fprintf(output, "PBM: Node doc differs from parent's one\n");
-    if (node->prev == NULL) {
-        if ((node->parent != NULL) && (node->parent->children != node))
-            fprintf(output,
-                    "PBM: Node has no prev and not first of list\n");
-    } else {
-        if (node->prev->next != node)
-            fprintf(output, "PBM: Node prev->next : back link wrong\n");
-    }
-    if (node->next == NULL) {
-        if ((node->parent != NULL) && (node->parent->last != node))
-            fprintf(output,
-                    "PBM: Node has no next and not last of list\n");
-    } else {
-        if (node->next->prev != node)
-            fprintf(output, "PBM: Node next->prev : forward link wrong\n");
-    }
+    xmlCtxtGenericNodeCheck(ctxt, node);
 }
 
 /**
- * xmlDebugDumpNode:
+ * xmlCtxtDumpNode:
  * @output:  the FILE * for the output
  * @node:  the node
  * @depth:  the indentation level.
  *
  * Dumps debug information for the element node, it is recursive
  */
-void
-xmlDebugDumpNode(FILE * output, xmlNodePtr node, int depth)
+static void
+xmlCtxtDumpNode(xmlDebugCtxtPtr ctxt, xmlNodePtr node)
 {
-    if (output == NULL)
-	output = stdout;
     if (node == NULL) {
-	int i;
-	char shift[100];
-    	
-	for (i = 0; ((i < depth) && (i < 25)); i++)
-	    shift[2 * i] = shift[2 * i + 1] = ' ';
-	shift[2 * i] = shift[2 * i + 1] = 0;
-	
-	fprintf(output, shift);
-	fprintf(output, "node is NULL\n");
-	return;
-    }	
-    xmlDebugDumpOneNode(output, node, depth);
-    if ((node->children != NULL) && (node->type != XML_ENTITY_REF_NODE))
-        xmlDebugDumpNodeList(output, node->children, depth + 1);
+        if (!ctxt->check) {
+            xmlCtxtDumpSpaces(ctxt);
+            fprintf(ctxt->output, "node is NULL\n");
+        }
+        return;
+    }
+    xmlCtxtDumpOneNode(ctxt, node);
+    if ((node->children != NULL) && (node->type != XML_ENTITY_REF_NODE)) {
+        ctxt->depth++;
+        xmlCtxtDumpNodeList(ctxt, node->children);
+        ctxt->depth--;
+    }
 }
 
 /**
- * xmlDebugDumpNodeList:
+ * xmlCtxtDumpNodeList:
  * @output:  the FILE * for the output
  * @node:  the node list
  * @depth:  the indentation level.
  *
  * Dumps debug information for the list of element node, it is recursive
  */
-void
-xmlDebugDumpNodeList(FILE * output, xmlNodePtr node, int depth)
+static void
+xmlCtxtDumpNodeList(xmlDebugCtxtPtr ctxt, xmlNodePtr node)
 {
-    if (output == NULL)
-	output = stdout;
     while (node != NULL) {
-        xmlDebugDumpNode(output, node, depth);
+        xmlCtxtDumpNode(ctxt, node);
         node = node->next;
     }
 }
 
-
-/**
- * xmlDebugDumpDocumentHead:
- * @output:  the FILE * for the output
- * @doc:  the document
- *
- * Dumps debug information cncerning the document, not recursive
- */
-void
-xmlDebugDumpDocumentHead(FILE * output, xmlDocPtr doc)
+static void
+xmlCtxtDumpDocHead(xmlDebugCtxtPtr ctxt, xmlDocPtr doc)
 {
-    if (output == NULL)
-        output = stdout;
     if (doc == NULL) {
-        fprintf(output, "DOCUMENT == NULL !\n");
+        if (!ctxt->check)
+            fprintf(ctxt->output, "DOCUMENT == NULL !\n");
         return;
     }
+    ctxt->node = (xmlNodePtr) doc;
 
     switch (doc->type) {
         case XML_ELEMENT_NODE:
-            fprintf(output, "Error, ELEMENT found here ");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_ELEMENT,
+	                "Misplaced ELEMENT node\n");
             break;
         case XML_ATTRIBUTE_NODE:
-            fprintf(output, "Error, ATTRIBUTE found here\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_ATTRIBUTE,
+	                "Misplaced ATTRIBUTE node\n");
             break;
         case XML_TEXT_NODE:
-            fprintf(output, "Error, TEXT\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_TEXT,
+	                "Misplaced TEXT node\n");
             break;
         case XML_CDATA_SECTION_NODE:
-            fprintf(output, "Error, CDATA_SECTION\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_CDATA,
+	                "Misplaced CDATA node\n");
             break;
         case XML_ENTITY_REF_NODE:
-            fprintf(output, "Error, ENTITY_REF\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_ENTITYREF,
+	                "Misplaced ENTITYREF node\n");
             break;
         case XML_ENTITY_NODE:
-            fprintf(output, "Error, ENTITY\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_ENTITY,
+	                "Misplaced ENTITY node\n");
             break;
         case XML_PI_NODE:
-            fprintf(output, "Error, PI\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_PI,
+	                "Misplaced PI node\n");
             break;
         case XML_COMMENT_NODE:
-            fprintf(output, "Error, COMMENT\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_COMMENT,
+	                "Misplaced COMMENT node\n");
             break;
         case XML_DOCUMENT_NODE:
-            fprintf(output, "DOCUMENT\n");
+	    if (!ctxt->check)
+		fprintf(ctxt->output, "DOCUMENT\n");
             break;
         case XML_HTML_DOCUMENT_NODE:
-            fprintf(output, "HTML DOCUMENT\n");
+	    if (!ctxt->check)
+		fprintf(ctxt->output, "HTML DOCUMENT\n");
             break;
         case XML_DOCUMENT_TYPE_NODE:
-            fprintf(output, "Error, DOCUMENT_TYPE\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_DOCTYPE,
+	                "Misplaced DOCTYPE node\n");
             break;
         case XML_DOCUMENT_FRAG_NODE:
-            fprintf(output, "Error, DOCUMENT_FRAG\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_FRAGMENT,
+	                "Misplaced FRAGMENT node\n");
             break;
         case XML_NOTATION_NODE:
-            fprintf(output, "Error, NOTATION\n");
+	    xmlDebugErr(ctxt, XML_CHECK_FOUND_NOTATION,
+	                "Misplaced NOTATION node\n");
             break;
         default:
-            fprintf(output, "NODE_%d\n", doc->type);
+	    xmlDebugErr2(ctxt, XML_CHECK_UNKNOWN_NODE,
+	                "Unknown node type %d\n", doc->type);
     }
-    if (doc->name != NULL) {
-        fprintf(output, "name=");
-        xmlDebugDumpString(output, BAD_CAST doc->name);
-        fprintf(output, "\n");
+}
+
+/**
+ * xmlCtxtDumpDocumentHead:
+ * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Dumps debug information cncerning the document, not recursive
+ */
+static void
+xmlCtxtDumpDocumentHead(xmlDebugCtxtPtr ctxt, xmlDocPtr doc)
+{
+    if (doc == NULL) return;
+    xmlCtxtDumpDocHead(ctxt, doc);
+    if (!ctxt->check) {
+        if (doc->name != NULL) {
+            fprintf(ctxt->output, "name=");
+            xmlCtxtDumpString(ctxt, BAD_CAST doc->name);
+            fprintf(ctxt->output, "\n");
+        }
+        if (doc->version != NULL) {
+            fprintf(ctxt->output, "version=");
+            xmlCtxtDumpString(ctxt, doc->version);
+            fprintf(ctxt->output, "\n");
+        }
+        if (doc->encoding != NULL) {
+            fprintf(ctxt->output, "encoding=");
+            xmlCtxtDumpString(ctxt, doc->encoding);
+            fprintf(ctxt->output, "\n");
+        }
+        if (doc->URL != NULL) {
+            fprintf(ctxt->output, "URL=");
+            xmlCtxtDumpString(ctxt, doc->URL);
+            fprintf(ctxt->output, "\n");
+        }
+        if (doc->standalone)
+            fprintf(ctxt->output, "standalone=true\n");
     }
-    if (doc->version != NULL) {
-        fprintf(output, "version=");
-        xmlDebugDumpString(output, doc->version);
-        fprintf(output, "\n");
-    }
-    if (doc->encoding != NULL) {
-        fprintf(output, "encoding=");
-        xmlDebugDumpString(output, doc->encoding);
-        fprintf(output, "\n");
-    }
-    if (doc->URL != NULL) {
-        fprintf(output, "URL=");
-        xmlDebugDumpString(output, doc->URL);
-        fprintf(output, "\n");
-    }
-    if (doc->standalone)
-        fprintf(output, "standalone=true\n");
     if (doc->oldNs != NULL)
-        xmlDebugDumpNamespaceList(output, doc->oldNs, 0);
+        xmlCtxtDumpNamespaceList(ctxt, doc->oldNs);
 }
 
 /**
- * xmlDebugDumpDocument:
+ * xmlCtxtDumpDocument:
  * @output:  the FILE * for the output
  * @doc:  the document
  *
  * Dumps debug information for the document, it's recursive
  */
-void
-xmlDebugDumpDocument(FILE * output, xmlDocPtr doc)
+static void
+xmlCtxtDumpDocument(xmlDebugCtxtPtr ctxt, xmlDocPtr doc)
 {
-    if (output == NULL)
-        output = stdout;
     if (doc == NULL) {
-        fprintf(output, "DOCUMENT == NULL !\n");
+        if (!ctxt->check)
+            fprintf(ctxt->output, "DOCUMENT == NULL !\n");
         return;
     }
-    xmlDebugDumpDocumentHead(output, doc);
+    xmlCtxtDumpDocumentHead(ctxt, doc);
     if (((doc->type == XML_DOCUMENT_NODE) ||
-         (doc->type == XML_HTML_DOCUMENT_NODE)) && (doc->children != NULL))
-        xmlDebugDumpNodeList(output, doc->children, 1);
+         (doc->type == XML_HTML_DOCUMENT_NODE))
+        && (doc->children != NULL)) {
+        ctxt->depth++;
+        xmlCtxtDumpNodeList(ctxt, doc->children);
+        ctxt->depth--;
+    }
 }
 
+static void
+xmlCtxtDumpEntityCallback(xmlEntityPtr cur, xmlDebugCtxtPtr ctxt)
+{
+    if (cur == NULL) {
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Entity is NULL");
+        return;
+    }
+    if (!ctxt->check) {
+        fprintf(ctxt->output, "%s : ", (char *) cur->name);
+        switch (cur->etype) {
+            case XML_INTERNAL_GENERAL_ENTITY:
+                fprintf(ctxt->output, "INTERNAL GENERAL, ");
+                break;
+            case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
+                fprintf(ctxt->output, "EXTERNAL PARSED, ");
+                break;
+            case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
+                fprintf(ctxt->output, "EXTERNAL UNPARSED, ");
+                break;
+            case XML_INTERNAL_PARAMETER_ENTITY:
+                fprintf(ctxt->output, "INTERNAL PARAMETER, ");
+                break;
+            case XML_EXTERNAL_PARAMETER_ENTITY:
+                fprintf(ctxt->output, "EXTERNAL PARAMETER, ");
+                break;
+            default:
+		xmlDebugErr2(ctxt, XML_CHECK_ENTITY_TYPE,
+			     "Unknown entity type %d\n", cur->etype);
+        }
+        if (cur->ExternalID != NULL)
+            fprintf(ctxt->output, "ID \"%s\"", (char *) cur->ExternalID);
+        if (cur->SystemID != NULL)
+            fprintf(ctxt->output, "SYSTEM \"%s\"", (char *) cur->SystemID);
+        if (cur->orig != NULL)
+            fprintf(ctxt->output, "\n orig \"%s\"", (char *) cur->orig);
+        if ((cur->type != XML_ELEMENT_NODE) && (cur->content != NULL))
+            fprintf(ctxt->output, "\n content \"%s\"",
+                    (char *) cur->content);
+        fprintf(ctxt->output, "\n");
+    }
+}
+
 /**
- * xmlDebugDumpDTD:
+ * xmlCtxtDumpEntities:
  * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Dumps debug information for all the entities in use by the document
+ */
+static void
+xmlCtxtDumpEntities(xmlDebugCtxtPtr ctxt, xmlDocPtr doc)
+{
+    if (doc == NULL) return;
+    xmlCtxtDumpDocHead(ctxt, doc);
+    if ((doc->intSubset != NULL) && (doc->intSubset->entities != NULL)) {
+        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr)
+            doc->intSubset->entities;
+
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Entities in internal subset\n");
+        xmlHashScan(table, (xmlHashScanner) xmlCtxtDumpEntityCallback,
+                    ctxt);
+    } else
+        fprintf(ctxt->output, "No entities in internal subset\n");
+    if ((doc->extSubset != NULL) && (doc->extSubset->entities != NULL)) {
+        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr)
+            doc->extSubset->entities;
+
+        if (!ctxt->check)
+            fprintf(ctxt->output, "Entities in external subset\n");
+        xmlHashScan(table, (xmlHashScanner) xmlCtxtDumpEntityCallback,
+                    ctxt);
+    } else if (!ctxt->check)
+        fprintf(ctxt->output, "No entities in external subset\n");
+}
+
+/**
+ * xmlCtxtDumpDTD:
+ * @output:  the FILE * for the output
  * @dtd:  the DTD
  *
  * Dumps debug information for the DTD
  */
-void
-xmlDebugDumpDTD(FILE * output, xmlDtdPtr dtd)
+static void
+xmlCtxtDumpDTD(xmlDebugCtxtPtr ctxt, xmlDtdPtr dtd)
 {
-    if (output == NULL)
-	output = stdout;
     if (dtd == NULL) {
-	fprintf(output, "DTD is NULL\n");
+        if (!ctxt->check)
+            fprintf(ctxt->output, "DTD is NULL\n");
         return;
     }
-    if (dtd->type != XML_DTD_NODE) {
-        fprintf(output, "PBM: not a DTD\n");
-        return;
+    xmlCtxtDumpDtdNode(ctxt, dtd);
+    if (dtd->children == NULL)
+        fprintf(ctxt->output, "    DTD is empty\n");
+    else {
+        ctxt->depth++;
+        xmlCtxtDumpNodeList(ctxt, dtd->children);
+        ctxt->depth--;
     }
-    if (dtd->name != NULL)
-        fprintf(output, "DTD(%s)", dtd->name);
-    else
-        fprintf(output, "DTD");
-    if (dtd->ExternalID != NULL)
-        fprintf(output, ", PUBLIC %s", dtd->ExternalID);
-    if (dtd->SystemID != NULL)
-        fprintf(output, ", SYSTEM %s", dtd->SystemID);
-    fprintf(output, "\n");
-    /*
-     * Do a bit of checking
-     */
-    if ((dtd->parent != NULL) && (dtd->doc != dtd->parent->doc))
-        fprintf(output, "PBM: DTD doc differs from parent's one\n");
-    if (dtd->prev == NULL) {
-        if ((dtd->parent != NULL)
-            && (dtd->parent->children != (xmlNodePtr) dtd))
-            fprintf(output,
-                    "PBM: DTD has no prev and not first of list\n");
-    } else {
-        if (dtd->prev->next != (xmlNodePtr) dtd)
-            fprintf(output, "PBM: DTD prev->next : back link wrong\n");
-    }
-    if (dtd->next == NULL) {
-        if ((dtd->parent != NULL)
-            && (dtd->parent->last != (xmlNodePtr) dtd))
-            fprintf(output, "PBM: DTD has no next and not last of list\n");
-    } else {
-        if (dtd->next->prev != (xmlNodePtr) dtd)
-            fprintf(output, "PBM: DTD next->prev : forward link wrong\n");
-    }
-    if (dtd->children == NULL)
-        fprintf(output, "    DTD is empty\n");
-    else
-        xmlDebugDumpNodeList(output, dtd->children, 1);
 }
 
-static void
-xmlDebugDumpEntityCallback(xmlEntityPtr cur, FILE *output) {
-    if (cur == NULL) {
-	fprintf(output, "Entity is NULL");
-	return;
+/************************************************************************
+ *									*
+ *			Public entry points for dump			*
+ *									*
+ ************************************************************************/
+
+/**
+ * xmlDebugDumpString:
+ * @output:  the FILE * for the output
+ * @str:  the string
+ *
+ * Dumps informations about the string, shorten it if necessary
+ */
+void
+xmlDebugDumpString(FILE * output, const xmlChar * str)
+{
+    int i;
+
+    if (output == NULL)
+	output = stdout;
+    if (str == NULL) {
+        fprintf(output, "(NULL)");
+        return;
     }
-    fprintf(output, "%s : ", cur->name);
-    switch (cur->etype) {
-	case XML_INTERNAL_GENERAL_ENTITY:
-	    fprintf(output, "INTERNAL GENERAL, ");
-	    break;
-	case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
-	    fprintf(output, "EXTERNAL PARSED, ");
-	    break;
-	case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
-	    fprintf(output, "EXTERNAL UNPARSED, ");
-	    break;
-	case XML_INTERNAL_PARAMETER_ENTITY:
-	    fprintf(output, "INTERNAL PARAMETER, ");
-	    break;
-	case XML_EXTERNAL_PARAMETER_ENTITY:
-	    fprintf(output, "EXTERNAL PARAMETER, ");
-	    break;
-	default:
-	    fprintf(output, "UNKNOWN TYPE %d",
-		    cur->etype);
-    }
-    if (cur->ExternalID != NULL) 
-	fprintf(output, "ID \"%s\"", cur->ExternalID);
-    if (cur->SystemID != NULL)
-	fprintf(output, "SYSTEM \"%s\"", cur->SystemID);
-    if (cur->orig != NULL)
-	fprintf(output, "\n orig \"%s\"", cur->orig);
-    if ((cur->type != XML_ELEMENT_NODE) &&
-	(cur->content != NULL))
-	fprintf(output, "\n content \"%s\"", cur->content);
-    fprintf(output, "\n");	
+    for (i = 0; i < 40; i++)
+        if (str[i] == 0)
+            return;
+        else if (IS_BLANK_CH(str[i]))
+            fputc(' ', output);
+        else if (str[i] >= 0x80)
+            fprintf(output, "#%X", str[i]);
+        else
+            fputc(str[i], output);
+    fprintf(output, "...");
 }
 
 /**
+ * xmlDebugDumpAttr:
+ * @output:  the FILE * for the output
+ * @attr:  the attribute
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the attribute
+ */
+void
+xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth) {
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL) return;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    ctxt.depth = depth;
+    xmlCtxtDumpAttr(&ctxt, attr);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
+
+
+/**
  * xmlDebugDumpEntities:
  * @output:  the FILE * for the output
  * @doc:  the document
@@ -1001,77 +1375,199 @@
 void
 xmlDebugDumpEntities(FILE * output, xmlDocPtr doc)
 {
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL) return;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    xmlCtxtDumpEntities(&ctxt, doc);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
+
+/**
+ * xmlDebugDumpAttrList:
+ * @output:  the FILE * for the output
+ * @attr:  the attribute list
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the attribute list
+ */
+void
+xmlDebugDumpAttrList(FILE * output, xmlAttrPtr attr, int depth)
+{
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL) return;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    ctxt.depth = depth;
+    xmlCtxtDumpAttrList(&ctxt, attr);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
+
+/**
+ * xmlDebugDumpOneNode:
+ * @output:  the FILE * for the output
+ * @node:  the node
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the element node, it is not recursive
+ */
+void
+xmlDebugDumpOneNode(FILE * output, xmlNodePtr node, int depth)
+{
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL) return;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    ctxt.depth = depth;
+    xmlCtxtDumpOneNode(&ctxt, node);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
+
+/**
+ * xmlDebugDumpNode:
+ * @output:  the FILE * for the output
+ * @node:  the node
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the element node, it is recursive
+ */
+void
+xmlDebugDumpNode(FILE * output, xmlNodePtr node, int depth)
+{
+    xmlDebugCtxt ctxt;
+
     if (output == NULL)
-        output = stdout;
-    if (doc == NULL) {
-        fprintf(output, "DOCUMENT == NULL !\n");
-        return;
-    }
+	output = stdout;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    ctxt.depth = depth;
+    xmlCtxtDumpNode(&ctxt, node);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
 
-    switch (doc->type) {
-        case XML_ELEMENT_NODE:
-            fprintf(output, "Error, ELEMENT found here ");
-            break;
-        case XML_ATTRIBUTE_NODE:
-            fprintf(output, "Error, ATTRIBUTE found here\n");
-            break;
-        case XML_TEXT_NODE:
-            fprintf(output, "Error, TEXT\n");
-            break;
-        case XML_CDATA_SECTION_NODE:
-            fprintf(output, "Error, CDATA_SECTION\n");
-            break;
-        case XML_ENTITY_REF_NODE:
-            fprintf(output, "Error, ENTITY_REF\n");
-            break;
-        case XML_ENTITY_NODE:
-            fprintf(output, "Error, ENTITY\n");
-            break;
-        case XML_PI_NODE:
-            fprintf(output, "Error, PI\n");
-            break;
-        case XML_COMMENT_NODE:
-            fprintf(output, "Error, COMMENT\n");
-            break;
-        case XML_DOCUMENT_NODE:
-            fprintf(output, "DOCUMENT\n");
-            break;
-        case XML_HTML_DOCUMENT_NODE:
-            fprintf(output, "HTML DOCUMENT\n");
-            break;
-        case XML_DOCUMENT_TYPE_NODE:
-            fprintf(output, "Error, DOCUMENT_TYPE\n");
-            break;
-        case XML_DOCUMENT_FRAG_NODE:
-            fprintf(output, "Error, DOCUMENT_FRAG\n");
-            break;
-        case XML_NOTATION_NODE:
-            fprintf(output, "Error, NOTATION\n");
-            break;
-        default:
-            fprintf(output, "NODE_%d\n", doc->type);
-    }
-    if ((doc->intSubset != NULL) && (doc->intSubset->entities != NULL)) {
-        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr)
-            doc->intSubset->entities;
+/**
+ * xmlDebugDumpNodeList:
+ * @output:  the FILE * for the output
+ * @node:  the node list
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the list of element node, it is recursive
+ */
+void
+xmlDebugDumpNodeList(FILE * output, xmlNodePtr node, int depth)
+{
+    xmlDebugCtxt ctxt;
 
-        fprintf(output, "Entities in internal subset\n");
-        xmlHashScan(table, (xmlHashScanner) xmlDebugDumpEntityCallback,
-                    output);
-    } else
-        fprintf(output, "No entities in internal subset\n");
-    if ((doc->extSubset != NULL) && (doc->extSubset->entities != NULL)) {
-        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr)
-            doc->extSubset->entities;
+    if (output == NULL)
+	output = stdout;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    ctxt.depth = depth;
+    xmlCtxtDumpNodeList(&ctxt, node);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
 
-        fprintf(output, "Entities in external subset\n");
-        xmlHashScan(table, (xmlHashScanner) xmlDebugDumpEntityCallback,
-                    output);
-    } else
-        fprintf(output, "No entities in external subset\n");
+/**
+ * xmlDebugDumpDocumentHead:
+ * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Dumps debug information cncerning the document, not recursive
+ */
+void
+xmlDebugDumpDocumentHead(FILE * output, xmlDocPtr doc)
+{
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL)
+	output = stdout;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    xmlCtxtDumpDocumentHead(&ctxt, doc);
+    xmlCtxtDumpCleanCtxt(&ctxt);
 }
 
 /**
+ * xmlDebugDumpDocument:
+ * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Dumps debug information for the document, it's recursive
+ */
+void
+xmlDebugDumpDocument(FILE * output, xmlDocPtr doc)
+{
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL)
+	output = stdout;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    xmlCtxtDumpDocument(&ctxt, doc);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
+
+/**
+ * xmlDebugDumpDTD:
+ * @output:  the FILE * for the output
+ * @dtd:  the DTD
+ *
+ * Dumps debug information for the DTD
+ */
+void
+xmlDebugDumpDTD(FILE * output, xmlDtdPtr dtd)
+{
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL)
+	output = stdout;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    xmlCtxtDumpDTD(&ctxt, dtd);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+}
+
+/************************************************************************
+ *									*
+ *			Public entry points for checkings		*
+ *									*
+ ************************************************************************/
+
+/**
+ * xmlDebugCheckDocument:
+ * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Check the document for potential content problems, and output
+ * the errors to @output
+ *
+ * Returns the number of errors found
+ */
+int
+xmlDebugCheckDocument(FILE * output, xmlDocPtr doc)
+{
+    xmlDebugCtxt ctxt;
+
+    if (output == NULL)
+	output = stdout;
+    xmlCtxtDumpInitCtxt(&ctxt);
+    ctxt.output = output;
+    ctxt.check = 1;
+    xmlCtxtDumpDocument(&ctxt, doc);
+    xmlCtxtDumpCleanCtxt(&ctxt);
+    return(ctxt.errors);
+}
+
+/************************************************************************
+ *									*
+ *			Helpers for Shell				*
+ *									*
+ ************************************************************************/
+
+/**
  * xmlLsCountNode:
  * @node:  the node to count
  *
@@ -1138,6 +1634,7 @@
  */
 void
 xmlLsOneNode(FILE *output, xmlNodePtr node) {
+    if (output == NULL) return;
     if (node == NULL) {
 	fprintf(output, "NULL\n");
 	return;
@@ -1245,9 +1742,10 @@
 	    xmlNsPtr ns = (xmlNsPtr) node;
 
 	    if (ns->prefix == NULL)
-		fprintf(output, "default -> %s", ns->href);
+		fprintf(output, "default -> %s", (char *)ns->href);
 	    else
-		fprintf(output, "%s -> %s", ns->prefix, ns->href);
+		fprintf(output, "%s -> %s", (char *)ns->prefix,
+			(char *)ns->href);
 	    break;
 	}
 	default:
@@ -1274,6 +1772,7 @@
         return("False");
 }
 
+#ifdef LIBXML_XPATH_ENABLED
 /****************************************************************
  *								*
  *	 	The XML shell related functions			*
@@ -1343,9 +1842,11 @@
                             "%s is an XSLT value tree\n", arg);
             break;
     }
+#if 0
     xmlGenericError(xmlGenericErrorContext,
                     "Try casting the result string function (xpath builtin)\n",
                     arg);
+#endif
 }
 
 
@@ -1733,6 +2234,51 @@
     return (0);
 }
 
+/**
+ * xmlShellSetContent:
+ * @ctxt:  the shell context
+ * @value:  the content as a string
+ * @node:  a node
+ * @node2:  unused
+ *
+ * Implements the XML shell function "dir"
+ * dumps informations about the node (namespace, attributes, content).
+ *
+ * Returns 0
+ */
+static int
+xmlShellSetContent(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED,
+            char *value, xmlNodePtr node,
+            xmlNodePtr node2 ATTRIBUTE_UNUSED)
+{
+    xmlNodePtr results;
+    xmlParserErrors ret;
+
+    if (!ctxt)
+        return (0);
+    if (node == NULL) {
+	fprintf(ctxt->output, "NULL\n");
+	return (0);
+    }
+    if (value == NULL) {
+        fprintf(ctxt->output, "NULL\n");
+	return (0);
+    }
+
+    ret = xmlParseInNodeContext(node, value, strlen(value), 0, &results);
+    if (ret == XML_ERR_OK) {
+	if (node->children != NULL) {
+	    xmlFreeNodeList(node->children);
+	    node->children = NULL;
+	    node->last = NULL;
+	}
+	xmlAddChildList(node, results);
+    } else {
+        fprintf(ctxt->output, "failed to parse content\n");
+    }
+    return (0);
+}
+
 #ifdef LIBXML_SCHEMAS_ENABLED
 /**
  * xmlShellRNGValidate:
@@ -1855,6 +2401,7 @@
     xmlDocPtr doc;
     int html = 0;
 
+    if ((ctxt == NULL) || (filename == NULL)) return(-1);
     if (ctxt->doc != NULL)
         html = (ctxt->doc->type == XML_HTML_DOCUMENT_NODE);
 
@@ -1909,8 +2456,6 @@
     if (node == NULL)
         return (-1);
     if ((filename == NULL) || (filename[0] == 0)) {
-        xmlGenericError(xmlGenericErrorContext,
-                        "Write command requires a filename argument\n");
         return (-1);
     }
 #ifdef W_OK
@@ -1976,10 +2521,12 @@
              xmlNodePtr node ATTRIBUTE_UNUSED,
              xmlNodePtr node2 ATTRIBUTE_UNUSED)
 {
-    if (ctxt->doc == NULL)
+    if ((ctxt == NULL) || (ctxt->doc == NULL))
         return (-1);
     if ((filename == NULL) || (filename[0] == 0))
         filename = ctxt->filename;
+    if (filename == NULL)
+        return (-1);
 #ifdef W_OK
     if (access((char *) filename, W_OK)) {
         xmlGenericError(xmlGenericErrorContext,
@@ -2039,6 +2586,7 @@
     xmlValidCtxt vctxt;
     int res = -1;
 
+    if ((ctxt == NULL) || (ctxt->doc == NULL)) return(-1);
     vctxt.userData = stderr;
     vctxt.error = (xmlValidityErrorFunc) fprintf;
     vctxt.warning = (xmlValidityWarningFunc) fprintf;
@@ -2161,7 +2709,7 @@
 {
     xmlChar *path;
 
-    if (node == NULL)
+    if ((node == NULL) || (buffer == NULL))
         return (-1);
 
     path = xmlGetNodePath(node);
@@ -2304,6 +2852,7 @@
 		  fprintf(ctxt->output, "\tfree         display memory usage\n");
 		  fprintf(ctxt->output, "\tload [name]  load a new document with name\n");
 		  fprintf(ctxt->output, "\tls [path]    list contents of path or the current directory\n");
+		  fprintf(ctxt->output, "\tset xml_fragment replace the current node content with the fragment parsed in context\n");
 #ifdef LIBXML_XPATH_ENABLED
 		  fprintf(ctxt->output, "\txpath expr   evaluate the XPath expression in that context and print the result\n");
 		  fprintf(ctxt->output, "\tsetns nsreg  register a namespace to a prefix in the XPath evaluation context\n");
@@ -2336,7 +2885,11 @@
         } else if (!strcmp(command, "save")) {
             xmlShellSave(ctxt, arg, NULL, NULL);
         } else if (!strcmp(command, "write")) {
-            xmlShellWrite(ctxt, arg, NULL, NULL);
+	    if ((arg == NULL) || (arg[0] == 0))
+		xmlGenericError(xmlGenericErrorContext,
+                        "Write command requires a filename argument\n");
+	    else
+		xmlShellWrite(ctxt, arg, NULL, NULL);
 #endif /* LIBXML_OUTPUT_ENABLED */
         } else if (!strcmp(command, "grep")) {
             xmlShellGrep(ctxt, arg, ctxt->node, NULL);
@@ -2358,6 +2911,8 @@
             xmlShellDu(ctxt, NULL, ctxt->node, NULL);
         } else if (!strcmp(command, "base")) {
             xmlShellBase(ctxt, NULL, ctxt->node, NULL);
+        } else if (!strcmp(command, "set")) {
+	    xmlShellSetContent(ctxt, arg, ctxt->node, NULL);
 #ifdef LIBXML_XPATH_ENABLED
         } else if (!strcmp(command, "setns")) {
             if (arg[0] == 0) {
@@ -2644,4 +3199,5 @@
         free(cmdline);          /* not xmlFree here ! */
 }
 
+#endif /* LIBXML_XPATH_ENABLED */
 #endif /* LIBXML_DEBUG_ENABLED */

Modified: packages/libxml2/branches/unstable/dict.c
===================================================================
--- packages/libxml2/branches/unstable/dict.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/dict.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -708,7 +708,7 @@
 	return(-1);
     pool = dict->strings;
     while (pool != NULL) {
-        if ((str >= pool->array) && (str <= pool->free))
+        if ((str >= &pool->array[0]) && (str <= pool->free))
 	    return(1);
 	pool = pool->next;
     }

Modified: packages/libxml2/branches/unstable/doc/APIchunk0.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk0.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk0.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index A-B for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index A-B for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index A-B for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index A-B for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -43,6 +43,10 @@
 </dd><dt>ANY</dt><dd><a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
 </dd><dt>API</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a><br />
+<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
+<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
+<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
+<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
 <a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a><br />
@@ -53,9 +57,13 @@
 <a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
@@ -205,6 +213,7 @@
 </dd><dt>Balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
 </dd><dt>Base</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
@@ -214,6 +223,7 @@
 </dd><dt>Based</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
 <a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>BasicLatin</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a><br />
+</dd><dt>Basically</dt><dd><a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>Before</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 </dd><dt>Behaves</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR_CH">IS_CHAR_CH</a><br />
 <a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk1.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk1.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk1.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index C-C for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index C-C for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index C-C for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index C-C for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -63,6 +63,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>CDStart</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
 </dd><dt>CData</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a><br />
@@ -76,6 +77,7 @@
 </dd><dt>CJKUnifiedIdeographs</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a><br />
 </dd><dt>CJKUnifiedIdeographsExtensionA</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a><br />
 </dd><dt>CJKUnifiedIdeographsExtensionB</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a><br />
+</dd><dt>CVS</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
 </dd><dt>CWD</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
 </dd><dt>Call</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
@@ -145,7 +147,6 @@
 </dd><dt>Changes</dt><dd><a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
 </dd><dt>Char</dt><dd><a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
@@ -154,6 +155,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>CharRef</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
 <a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
@@ -169,6 +171,7 @@
 <a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
 </dd><dt>Characters</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
+</dd><dt>Checka</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 </dd><dt>Checks</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
 <a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
 <a href="html/libxml-HTMLparser.html#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a><br />
@@ -189,6 +192,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>Cleanup</dt><dd><a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
 <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 <a href="html/libxml-entities.html#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a><br />
@@ -205,6 +209,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
 </dd><dt>Clear</dt><dd><a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
 <a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
 </dd><dt>Clears</dt><dd><a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
 </dd><dt>Close</dt><dd><a href="html/libxml-xmlIO.html#xmlFileClose">xmlFileClose</a><br />
 <a href="html/libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a><br />
@@ -227,6 +232,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
 </dd><dt>Compare</dt><dd><a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
@@ -304,6 +310,7 @@
 <a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
 <a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
 <a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk10.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk10.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk10.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index c-c for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index c-c for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index c-c for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index c-c for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -45,9 +45,12 @@
 <a href="html/libxml-entities.html#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
 <a href="html/libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
 <a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
+<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
 <a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
@@ -59,33 +62,6 @@
 <a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>callbacks</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
-<a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
-<a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
-<a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
-<a href="html/libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 </dd><dt>calling</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
@@ -185,6 +161,8 @@
 <a href="html/libxml-tree.html#xmlNodeSetName">xmlNodeSetName</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
+<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 </dd><dt>changes</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
 </dd><dt>changing</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
@@ -241,7 +219,8 @@
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
 </dd><dt>checkings</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>checks</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
+</dd><dt>checks</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
 <a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 <a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
@@ -283,7 +262,9 @@
 <a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
 <a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a><br />
+</dd><dt>circular</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
 </dd><dt>cleanly</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
 </dd><dt>cleans</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
@@ -312,10 +293,10 @@
 <a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
 </dd><dt>closed</dt><dd><a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
 <a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
 </dd><dt>closes</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
@@ -341,6 +322,8 @@
 <a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
 </dd><dt>combining</dt><dd><a href="html/libxml-parserInternals.html#IS_COMBINING_CH">IS_COMBINING_CH</a><br />
 </dd><dt>coment</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterEndComment">xmlTextWriterEndComment</a><br />
+</dd><dt>comes</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 </dd><dt>coming</dt><dd><a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 </dd><dt>command</dt><dd><a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
 <a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
@@ -404,7 +387,8 @@
 <a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
 </dd><dt>compatible</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a><br />
 <a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-</dd><dt>compilation</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
+</dd><dt>compilation</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
+<a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
 <a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
 <a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
 </dd><dt>compile</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
@@ -443,6 +427,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
 </dd><dt>compiled-in</dt><dd><a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a><br />
 </dd><dt>compiling</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
@@ -457,13 +442,18 @@
 <a href="html/libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a><br />
 </dd><dt>completed</dt><dd><a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-</dd><dt>completely</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
+</dd><dt>completely</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
+<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
 </dd><dt>complex</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
-</dd><dt>complexType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
+</dd><dt>complexType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
 </dd><dt>complicated</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>components</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 </dd><dt>compound</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
 </dd><dt>compress</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
@@ -506,6 +496,8 @@
 </dd><dt>computed</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
 <a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 </dd><dt>concat</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a><br />
 </dd><dt>concatenated</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
@@ -517,6 +509,7 @@
 <a href="html/libxml-xmlversion.html#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
+<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a><br />
@@ -538,11 +531,13 @@
 </dd><dt>conforming</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
 </dd><dt>conforms</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
 <a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
 <a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
 <a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
+</dd><dt>conjunction</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 </dd><dt>connection</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a><br />
@@ -611,7 +606,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>contained</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
+</dd><dt>contained</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
+<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
 <a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
@@ -623,6 +619,8 @@
 <a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
+<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathContainsFunction">xmlXPathContainsFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a><br />
@@ -662,6 +660,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
 </dd><dt>contextual</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 </dd><dt>continuing</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 </dd><dt>contrary</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
@@ -744,6 +743,7 @@
 </dd><dt>could</dt><dd><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>count</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 <a href="html/libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
@@ -769,10 +769,12 @@
 <a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
 </dd><dt>creates</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
@@ -782,6 +784,8 @@
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
 </dd><dt>cross</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 </dd><dt>crossed</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
+</dd><dt>cshema</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
 </dd><dt>ctrio</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
 <a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>ctxt-</dt><dd><a href="html/libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a><br />
@@ -789,8 +793,12 @@
 <a href="html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
+<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 </dd><dt>cur</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-</dd><dt>currently</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
+</dd><dt>currently</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
+<a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk11.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk11.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk11.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index d-d for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index d-d for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index d-d for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index d-d for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -39,6 +39,7 @@
 </dd><dt>datatype</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>day</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>day:minute</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
+</dd><dt>de-coupled</dt><dd><a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>deactivated</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 </dd><dt>deallocate</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
@@ -53,14 +54,17 @@
 <a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 <a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
 <a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
@@ -96,10 +100,12 @@
 <a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
 </dd><dt>debugging</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 <a href="html/libxml-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a><br />
+<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
 </dd><dt>decimal</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>decl</dt><dd><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
+</dd><dt>decl</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
+<a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
 <a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
 </dd><dt>declarations</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
@@ -133,6 +139,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
 </dd><dt>declaring</dt><dd><a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
@@ -163,6 +170,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
@@ -354,7 +362,9 @@
 <a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
 <a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
 <a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-</dd><dt>did</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>did</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 </dd><dt>difference</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
 </dd><dt>different</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
@@ -410,6 +420,9 @@
 </dd><dt>disable</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
 </dd><dt>disabled</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 </dd><dt>disabling</dt><dd><a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
+</dd><dt>disallowed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
 </dd><dt>discard</dt><dd><a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
 </dd><dt>discarding</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
@@ -461,6 +474,7 @@
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
 <a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
@@ -540,7 +554,6 @@
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
 </dd><dt>dump</dt><dd><a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
 <a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
 <a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</a><br />
 <a href="html/libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a><br />
 <a href="html/libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a><br />
@@ -563,6 +576,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
 </dd><dt>during</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>

Modified: packages/libxml2/branches/unstable/doc/APIchunk12.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk12.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk12.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index e-e for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index e-e for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index e-e for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index e-e for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -42,6 +42,8 @@
 <a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
@@ -98,6 +100,8 @@
 <a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
+</dd><dt>embedded</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
 </dd><dt>emitted</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 </dd><dt>empty-element</dt><dd><a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 </dd><dt>enable</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
@@ -152,13 +156,14 @@
 </dd><dt>ends</dt><dd><a href="html/libxml-parser.html#_xmlParserNodeInfo">_xmlParserNodeInfo</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
 </dd><dt>engine</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 </dd><dt>englobing</dt><dd><a href="html/libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a><br />
 <a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
 </dd><dt>enhancements</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 </dd><dt>enough</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-</dd><dt>ensure</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
+</dd><dt>ensure</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
+<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 </dd><dt>entire</dt><dd><a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
 </dd><dt>entities:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
@@ -242,11 +247,13 @@
 <a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
+<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
 </dd><dt>escape</dt><dd><a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
@@ -271,6 +278,7 @@
 </dd><dt>established</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
 </dd><dt>etc</dt><dd><a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
 <a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>evaluate</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
 </dd><dt>evaluated</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
@@ -320,6 +328,7 @@
 </dd><dt>excluding</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a><br />
+</dd><dt>exclusions</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
 </dd><dt>exclusive</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
@@ -364,7 +373,9 @@
 <a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>extension</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
+</dd><dt>extension</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
 </dd><dt>extensions</dt><dd><a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk13.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk13.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk13.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index f-f for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index f-f for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index f-f for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index f-f for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -43,7 +43,10 @@
 <a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </dd><dt>facets</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 </dd><dt>fail</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
@@ -86,6 +89,7 @@
 <a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
 <a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
 <a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
+<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
 <a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
 <a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
@@ -102,6 +106,7 @@
 <a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 </dd><dt>fallback</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a><br />
 <a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
 <a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
@@ -137,6 +142,8 @@
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
 </dd><dt>field</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
 <a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
 <a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
@@ -178,6 +185,8 @@
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
 </dd><dt>finds</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
+</dd><dt>finishDtd</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
 </dd><dt>finished</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
 <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 <a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
@@ -190,7 +199,8 @@
 </dd><dt>fit</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>fixed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
+</dd><dt>fixed</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 </dd><dt>flag</dt><dd><a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
 <a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
@@ -365,6 +375,7 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 <a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk14.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk14.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk14.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index g-h for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index g-h for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index g-h for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index g-h for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -35,7 +35,8 @@
 <a href="APIchunk25.html">w-w</a>
 <a href="APIchunk26.html">x-x</a>
 <a href="APIchunk27.html">y-z</a>
-</h2><h2>Letter g:</h2><dl><dt>garbage</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
+</h2><h2>Letter g:</h2><dl><dt>garanteed</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
+</dd><dt>garbage</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 </dd><dt>genChRanges</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a><br />
 <a href="html/libxml-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a><br />
@@ -108,6 +109,7 @@
 <a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
+<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 <a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
 <a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
@@ -117,6 +119,8 @@
 <a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
 </dd><dt>gif</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>give</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>gives</dt><dd><a href="html/libxml-xmlerror.html#xmlParserError">xmlParserError</a><br />
 <a href="html/libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a><br />
 <a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
@@ -142,11 +146,14 @@
 <a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
 </dd><dt>grammar:</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>greater</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 </dd><dt>greater-than</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>group</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
+</dd><dt>group</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeGroup">_xmlSchemaAttributeGroup</a><br />
 <a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>groups</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
@@ -180,6 +187,7 @@
 <a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
@@ -226,6 +234,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a><br />
 </dd><dt>has-same-nodes</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a><br />
 </dd><dt>have</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
 <a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
@@ -255,6 +264,7 @@
 <a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
 </dd><dt>header</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
@@ -295,9 +305,9 @@
 <a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-</dd><dt>hosting</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+</dd><dt>hosting</dt><dd><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 </dd><dt>hostname</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
 </dd><dt>hour</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk15.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk15.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk15.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index i-i for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index i-i for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index i-i for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index i-i for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -139,14 +139,17 @@
 <a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
 <a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
 </dd><dt>includes</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
-</dd><dt>including</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
+</dd><dt>including</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
+<a href="html/libxml-SAX.html#attribute">attribute</a><br />
 <a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
 <a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 <a href="html/libxml-SAX.html#startElement">startElement</a><br />
@@ -207,9 +210,11 @@
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-</dd><dt>indicates</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
+</dd><dt>indicates</dt><dd><a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
+<a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
 </dd><dt>indicating</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
@@ -246,7 +251,8 @@
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-</dd><dt>information</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
+</dd><dt>information</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
+<a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
@@ -264,6 +270,7 @@
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
 <a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>informations</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
@@ -286,6 +293,7 @@
 <a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 <a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
@@ -383,30 +391,10 @@
 </dd><dt>instruction</dt><dd><a href="html/libxml-HTMLtree.html#HTML_PI_NODE">HTML_PI_NODE</a><br />
 <a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
 <a href="html/libxml-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a><br />
+<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
 <a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a><br />
 </dd><dt>insufficient</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
-</dd><dt>int</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="">c</a><br />
-<a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-<a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
-<a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a><br />
-<a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 </dd><dt>integer</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrcmp">xmlStrcmp</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
@@ -444,6 +432,8 @@
 <a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
 </dd><dt>interned</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
+</dd><dt>interning</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
+<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 </dd><dt>interoperability</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 </dd><dt>interprestation</dt><dd><a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
 </dd><dt>interpreter</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
@@ -486,7 +476,8 @@
 </dd><dt>isnan</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>issue</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 </dd><dt>issued</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</dd><dt>item</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
+</dd><dt>item</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk16.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk16.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk16.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index j-l for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index j-l for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index j-l for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index j-l for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -177,7 +177,9 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a><br />
 </dd><dt>lexical</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
@@ -186,6 +188,7 @@
 <a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
 </dd><dt>lib</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
 </dd><dt>libc</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
+</dd><dt>libraries</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
 </dd><dt>library</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
@@ -327,6 +330,7 @@
 <a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
 <a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
 </dd><dt>longer</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
 <a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk17.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk17.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk17.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index m-m for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index m-m for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index m-m for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index m-m for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -78,7 +78,8 @@
 </dd><dt>mark</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a><br />
-</dd><dt>marked</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+</dd><dt>marked</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 </dd><dt>marker</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
@@ -127,9 +128,12 @@
 <a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
+</dd><dt>maxLength</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 </dd><dt>maximal</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 </dd><dt>maximum</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 </dd><dt>means</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
@@ -200,11 +204,15 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
 </dd><dt>might</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 </dd><dt>migrate</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
+</dd><dt>minLength</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 </dd><dt>minimal</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 </dd><dt>minimum</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
 <a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 </dd><dt>minus</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>minute</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>misleading</dt><dd><a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
@@ -257,10 +265,13 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>moreover</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>most</dt><dd><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 </dd><dt>moved</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a><br />
 </dd><dt>much</dt><dd><a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
+</dd><dt>multi-threaded</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 </dd><dt>multi-threading</dt><dd><a href="html/libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a><br />
 <a href="html/libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a><br />
 </dd><dt>multiple</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk18.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk18.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk18.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index n-n for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index n-n for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index n-n for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index n-n for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -38,6 +38,7 @@
 </h2><h2>Letter n:</h2><dl><dt>named</dt><dd><a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
 </dd><dt>names</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
@@ -63,6 +64,7 @@
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
 <a href="html/libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a><br />
 <a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
 </dd><dt>naming</dt><dd><a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
 <a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
@@ -214,6 +216,7 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
 </dd><dt>normalization</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
 </dd><dt>normalization:</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
@@ -228,6 +231,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
 </dd><dt>normalizing</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 </dd><dt>normally</dt><dd><a href="">c</a><br />
+<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 </dd><dt>notations</dt><dd><a href="html/libxml-tree.html#_xmlDtd">_xmlDtd</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
 </dd><dt>note</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk19.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk19.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk19.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index o-o for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index o-o for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index o-o for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index o-o for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -48,7 +48,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a><br />
 </dd><dt>obligated</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-</dd><dt>obsolete</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
+</dd><dt>obsolete</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
+<a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
 </dd><dt>obsolete:</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
 </dd><dt>occupied</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 </dd><dt>occur</dt><dd><a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
@@ -61,7 +62,9 @@
 <a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
 <a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
 </dd><dt>occurences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>occurred</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
 </dd><dt>occurrence</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
@@ -117,6 +120,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
 </dd><dt>once</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
 <a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 <a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
@@ -139,6 +143,7 @@
 <a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
 <a href="html/libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a><br />
+</dd><dt>ononymous</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 </dd><dt>onto</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
 </dd><dt>opaque</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
@@ -201,6 +206,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
 </dd><dt>optimized</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
 </dd><dt>option</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
 </dd><dt>optional</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
 <a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
 <a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
@@ -228,6 +234,7 @@
 <a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 </dd><dt>ordered</dt><dd><a href="html/libxml-list.html#xmlListAppend">xmlListAppend</a><br />
 <a href="html/libxml-list.html#xmlListInsert">xmlListInsert</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
@@ -258,7 +265,8 @@
 <a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
 <a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-</dd><dt>other</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
+</dd><dt>other</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
+<a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
 <a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
@@ -270,6 +278,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
 <a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk2.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk2.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk2.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index D-E for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index D-E for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index D-E for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index D-E for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -136,6 +136,10 @@
 </dd><dt>Determine</dt><dd><a href="html/libxml-HTMLtree.html#htmlIsBooleanAttr">htmlIsBooleanAttr</a><br />
 <a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
 <a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 </dd><dt>Devanagari</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a><br />
 </dd><dt>Digit</dt><dd><a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
@@ -343,6 +347,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
+</dd><dt>Evaluates</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 </dd><dt>Everything</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
 <a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
@@ -387,7 +392,8 @@
 <a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>Extract</dt><dd><a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
+</dd><dt>Extract</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>

Modified: packages/libxml2/branches/unstable/doc/APIchunk20.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk20.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk20.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index p-p for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index p-p for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index p-p for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index p-p for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -79,6 +79,8 @@
 </dd><dt>partial</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
+</dd><dt>particle</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttribute">_xmlSchemaAttribute</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
 </dd><dt>particular</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
 </dd><dt>pass</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
@@ -152,8 +154,8 @@
 <a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
 </dd><dt>places</dt><dd><a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-</dd><dt>plug</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+</dd><dt>plug</dt><dd><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 </dd><dt>plus</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
 <a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
@@ -185,13 +187,20 @@
 <a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
 <a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
+<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
+<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
+<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
+<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
@@ -203,6 +212,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>possible</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
+<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
 <a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
@@ -219,7 +229,8 @@
 <a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>posteriori</dt><dd><a href="html/libxml-tree.html#xmlSetNs">xmlSetNs</a><br />
-</dd><dt>potential</dt><dd><a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
+</dd><dt>potential</dt><dd><a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
+<a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
 </dd><dt>potentially</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
 </dd><dt>pre-interned</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 </dd><dt>preallocated</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
@@ -245,6 +256,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a><br />
 </dd><dt>precomputed</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 </dd><dt>predefined</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
 <a href="html/libxml-entities.html#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a><br />
 <a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
@@ -254,6 +266,7 @@
 <a href="html/libxml-entities.html#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 </dd><dt>predicate</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
@@ -261,6 +274,7 @@
 </dd><dt>preferably</dt><dd><a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
 <a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
 <a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
+<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 </dd><dt>preference</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
@@ -276,10 +290,12 @@
 </dd><dt>present</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
 <a href="html/libxml-dict.html#xmlDictLookup">xmlDictLookup</a><br />
 <a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
 </dd><dt>preserve</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -346,7 +362,9 @@
 <a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
 <a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
 </dd><dt>problems</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
+<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
 <a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>procedure</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
 </dd><dt>process</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk21.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk21.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk21.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index q-r for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index q-r for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index q-r for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index q-r for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -89,6 +89,7 @@
 <a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
 </dd><dt>rangesets</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
+</dd><dt>rather</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
 </dd><dt>ratio</dt><dd><a href="html/libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a><br />
 <a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
 <a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
@@ -109,32 +110,6 @@
 <a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
 </dd><dt>read-only</dt><dd><a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
 </dd><dt>readable</dt><dd><a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-</dd><dt>reader</dt><dd><a href="html/libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a><br />
-<a href="html/libxml-parser.html#xmlReadFd">xmlReadFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadState">xmlTextReaderReadState</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 </dd><dt>reader-</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
 </dd><dt>reading</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
@@ -214,6 +189,7 @@
 <a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlElemDump">xmlElemDump</a><br />
 <a href="html/libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a><br />
 <a href="html/libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a><br />
@@ -244,13 +220,16 @@
 <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
 <a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
 <a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>ref</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
+</dd><dt>ref</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
+<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
 <a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
 <a href="html/libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a><br />
 <a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
-</dd><dt>referenced</dt><dd><a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
+</dd><dt>referenced</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeGroup">_xmlSchemaAttributeGroup</a><br />
+<a href="html/libxml-list.html#xmlLinkGetData">xmlLinkGetData</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>references</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
+</dd><dt>references</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
+<a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
 <a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
 <a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
@@ -290,6 +269,7 @@
 <a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
 <a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
 <a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
@@ -311,6 +291,7 @@
 <a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
 </dd><dt>reinitialize</dt><dd><a href="html/libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a><br />
 <a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
 </dd><dt>related</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a><br />
@@ -411,13 +392,15 @@
 <a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 </dd><dt>repr</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </dd><dt>representation</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>representations</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 </dd><dt>represented</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>represented:</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>representing</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
+</dd><dt>representing</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
 </dd><dt>request</dt><dd><a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
@@ -472,7 +455,8 @@
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
 </dd><dt>resolveEntity</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
 <a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-</dd><dt>resolved</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
+</dd><dt>resolved</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
 </dd><dt>resolver</dt><dd><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
 <a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
 </dd><dt>resources</dt><dd><a href="html/libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a><br />
@@ -490,12 +474,15 @@
 </dd><dt>respecting</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
 </dd><dt>response</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 </dd><dt>responsible</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 </dd><dt>restored</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
 </dd><dt>restrict</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>restriction</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
+</dd><dt>restriction</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
 </dd><dt>results</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
@@ -586,7 +573,8 @@
 </dd><dt>run</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 </dd><dt>running</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>runtime</dt><dd><a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
+</dd><dt>runtime</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
+<a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>

Modified: packages/libxml2/branches/unstable/doc/APIchunk22.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk22.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk22.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index s-s for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index s-s for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index s-s for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index s-s for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -118,6 +118,7 @@
 <a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
 </dd><dt>schemas</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
@@ -166,7 +167,9 @@
 </dd><dt>self</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a><br />
 </dd><dt>semantic</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
 </dd><dt>separated</dt><dd><a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-</dd><dt>separately</dt><dd><a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
+</dd><dt>separately</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
@@ -182,6 +185,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
@@ -230,7 +234,9 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
 </dd><dt>sets</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
 </dd><dt>setting</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
@@ -254,16 +260,11 @@
 <a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-</dd><dt>shema</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a><br />
-</dd><dt>shemas</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a><br />
 </dd><dt>shorten</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
 </dd><dt>shorthand</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</a><br />
-</dd><dt>show</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
+</dd><dt>show</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
+<a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
 <a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
@@ -299,7 +300,8 @@
 <a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>simple</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
+</dd><dt>simple</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
 <a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
 <a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
@@ -403,28 +405,6 @@
 <a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
 </dd><dt>sourceforge</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
 <a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
-</dd><dt>space</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a><br />
-<a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
-<a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
-<a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
-<a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
 </dd><dt>spaces</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a><br />
 <a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br />
@@ -475,10 +455,13 @@
 <a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 </dd><dt>specification</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>specifications</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>specify</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
+</dd><dt>specify</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 </dd><dt>specifying</dt><dd><a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -495,6 +478,7 @@
 <a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 </dd><dt>standalone=</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
@@ -521,16 +505,19 @@
 </dd><dt>started</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
 </dd><dt>starting</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 <a href="html/libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
@@ -554,6 +541,7 @@
 </dd><dt>states</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
 </dd><dt>static</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>status</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 </dd><dt>stderr</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 </dd><dt>stdin</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
 </dd><dt>stdout</dt><dd><a href="html/libxml-HTMLtree.html#htmlSaveFile">htmlSaveFile</a><br />
@@ -691,6 +679,7 @@
 </dd><dt>subset?</dt><dd><a href="html/libxml-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a><br />
 </dd><dt>subsets</dt><dd><a href="html/libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
+</dd><dt>substituion</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
 </dd><dt>substituted</dt><dd><a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
 <a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a><br />
 <a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a><br />
@@ -699,34 +688,16 @@
 <a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
 </dd><dt>substituting</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
-</dd><dt>substitution</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-<a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
+</dd><dt>substitutions</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
-</dd><dt>substitutions</dt><dd><a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
-<a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
+</dd><dt>substitutions:</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
 </dd><dt>substring</dt><dd><a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
@@ -742,6 +713,7 @@
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
 <a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
@@ -751,6 +723,7 @@
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
+</dd><dt>succeed</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
 </dd><dt>succeeded</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
@@ -762,8 +735,13 @@
 <a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
 </dd><dt>succeeds</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
 </dd><dt>successful</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
 <a href="html/libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a><br />
+<a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
+<a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
+<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
+<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
@@ -780,11 +758,17 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
 </dd><dt>succession</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>successive</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>such</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
+<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk23.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk23.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk23.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index t-t for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index t-t for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index t-t for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index t-t for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -105,6 +105,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
@@ -194,6 +195,8 @@
 <a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
 <a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
 <a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 </dd><dt>through</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
@@ -208,7 +211,9 @@
 </dd><dt>titles</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
 <a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
 </dd><dt>token</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
 <a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
 <a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
@@ -254,6 +259,7 @@
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
 <a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
 <a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk24.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk24.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk24.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index u-v for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index u-v for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index u-v for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index u-v for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -67,6 +67,7 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
 </dd><dt>unique</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
 </dd><dt>uniquely</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
@@ -154,7 +155,6 @@
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
 <a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
 <a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-</dd><dt>updates</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 </dd><dt>upon</dt><dd><a href="html/libxml-SAX.html#checkNamespace">checkNamespace</a><br />
 <a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
 </dd><dt>upper</dt><dd><a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
@@ -169,6 +169,8 @@
 </dd><dt>useless</dt><dd><a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
 <a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
+</dd><dt>userData</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 </dd><dt>users</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 </dd><dt>uses</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 </dd><dt>usually</dt><dd><a href="">c</a><br />
@@ -176,12 +178,16 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
+<a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
 </dd><dt>utf8</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
 </dd></dl><h2>Letter v:</h2><dl><dt>val1</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
 </dd><dt>validated</dt><dd><a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 </dd><dt>validates</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
 <a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk25.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk25.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk25.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index w-w for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index w-w for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index w-w for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index w-w for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -59,6 +59,8 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
@@ -88,9 +90,11 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
 </dd><dt>well-balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>well-formed</dt><dd><a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
@@ -152,7 +156,9 @@
 <a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
 </dd><dt>whose</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
 </dd><dt>wierd</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>wildcard</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br />
@@ -166,6 +172,7 @@
 </dd><dt>with_ns</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
 </dd><dt>within</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
@@ -175,6 +182,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
 <a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
@@ -235,6 +243,8 @@
 <a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
 <a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
 </dd><dt>writer</dt><dd><a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
 </dd><dt>writes</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk26.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk26.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk26.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index x-x for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index x-x for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index x-x for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index x-x for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -48,6 +48,8 @@
 <a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseName">xmlParseName</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
 </dd><dt>x20-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
@@ -129,6 +131,8 @@
 </dd><dt>xmlDefaultSAXLocator</dt><dd><a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
 <a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
+</dd><dt>xmlDocCopyNodeList</dt><dd><a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
+</dd><dt>xmlDocNewPI</dt><dd><a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 </dd><dt>xmlDocPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
@@ -254,6 +258,7 @@
 </dd><dt>xmlNodePtr</dt><dd><a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
 <a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
@@ -273,6 +278,8 @@
 <a href="html/libxml-tree.html#xmlCopyNamespace">xmlCopyNamespace</a><br />
 <a href="html/libxml-tree.html#xmlCopyNamespaceList">xmlCopyNamespaceList</a><br />
 <a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
+</dd><dt>xmlOutputBufferClose</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
 </dd><dt>xmlOutputBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
 </dd><dt>xmlOutputCloseCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
 </dd><dt>xmlOutputMatchCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
@@ -287,6 +294,8 @@
 </dd><dt>xmlParseFile</dt><dd><a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
 </dd><dt>xmlParseNamespace:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
 </dd><dt>xmlParseURI</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
+</dd><dt>xmlParserCtxt</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
 </dd><dt>xmlParserCtxtPtr</dt><dd><a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
 </dd><dt>xmlParserError</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
@@ -359,6 +368,7 @@
 </dd><dt>xmlSaveOptions</dt><dd><a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
+</dd><dt>xmlSchemaValidOption</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 </dd><dt>xmlSetExternalEntityLoader</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
 <a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk27.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk27.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk27.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index y-z for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index y-z for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index y-z for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index y-z for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>

Modified: packages/libxml2/branches/unstable/doc/APIchunk3.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk3.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk3.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index F-I for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index F-I for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index F-I for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index F-I for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -83,6 +83,8 @@
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
@@ -145,6 +147,8 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a><br />
@@ -210,6 +214,7 @@
 <a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
 <a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
@@ -303,6 +308,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a><br />
 </dd><dt>Initially</dt><dd><a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 </dd><dt>Initiate</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a><br />
+</dd><dt>Initilize</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
 </dd><dt>Input</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
 <a href="html/libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk4.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk4.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk4.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index J-N for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index J-N for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index J-N for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index J-N for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -105,6 +105,7 @@
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
 <a href="html/libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 </dd><dt>Loose</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>LowSurrogates</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a><br />
@@ -118,6 +119,7 @@
 </dd><dt>Malayalam</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a><br />
 </dd><dt>Maps</dt><dd><a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
 <a href="html/libxml-tree.html#xmlRootNode">xmlRootNode</a><br />
+</dd><dt>Marks</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
 </dd><dt>Markup</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 </dd><dt>Match</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
@@ -195,10 +197,11 @@
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
 <a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
 </dd><dt>NRK</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>NSDef</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
@@ -281,6 +284,8 @@
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a><br />
 <a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
+<a href="html/libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
 <a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
 <a href="html/libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a><br />
@@ -290,6 +295,7 @@
 <a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>Note:</dt><dd><a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
 <a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk5.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk5.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk5.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index O-P for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index O-P for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index O-P for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index O-P for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -118,6 +118,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
 <a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
 <a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
@@ -180,8 +181,8 @@
 </dd><dt>Proper</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>Prototype</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+</dd><dt>Prototype</dt><dd><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 </dd><dt>Provide</dt><dd><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
 <a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
@@ -189,8 +190,10 @@
 </dd><dt>Provides</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
 <a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk6.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk6.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk6.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index Q-S for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Q-S for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index Q-S for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Q-S for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -114,6 +114,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
@@ -377,6 +378,7 @@
 <a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
 </dd><dt>Sets</dt><dd><a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
 <a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a><br />
@@ -438,7 +440,9 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a><br />
 </dd><dt>SpacingModifierLetters</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a><br />
 </dd><dt>Spec</dt><dd><a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-</dd><dt>Special</dt><dd><a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
+</dd><dt>Special</dt><dd><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
+<a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
 </dd><dt>Specials</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSpecials">xmlUCSIsSpecials</a><br />
 </dd><dt>Speed</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 </dd><dt>Standalone</dt><dd><a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk7.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk7.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk7.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index T-U for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index T-U for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index T-U for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index T-U for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -219,6 +219,7 @@
 </dd><dt>Use</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
 <a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
 <a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
 <a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
@@ -231,6 +232,7 @@
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
 <a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk8.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk8.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk8.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index V-a for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index V-a for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index V-a for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index V-a for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -40,6 +40,7 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
@@ -84,10 +85,13 @@
 </dd><dt>WWW-Authenticate</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
 </dd><dt>Walk</dt><dd><a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
 <a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
+</dd><dt>Warning</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
 </dd><dt>Was</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 </dd><dt>Well</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseEntity">xmlParseEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
 <a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
 <a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
@@ -143,6 +147,7 @@
 <a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
 <a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
 <a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
+</dd><dt>XML-Schema</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 </dd><dt>XMLDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a><br />
 </dd><dt>XMLDecl?</dt><dd><a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
 </dd><dt>XMLSchema</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
@@ -169,6 +174,7 @@
 </dd><dt>XML_ELEMENT_DECL</dt><dd><a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
 </dd><dt>XML_ELEMENT_TYPE_xxx</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
 </dd><dt>XML_ENTITY_DECL</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
+</dd><dt>XML_ERR_OK</dt><dd><a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>XML_SCHEMAS_ELEM_GLOBAL</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
 </dd><dt>XML_SUBSTITUTE_PEREF</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a><br />
@@ -178,6 +184,7 @@
 <a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
 </dd><dt>XML_xxx_yyy_ENTITY</dt><dd><a href="html/libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a><br />
 <a href="html/libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a><br />
+</dd><dt>XMl-Schema</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 </dd><dt>XPATH</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a><br />
 </dd><dt>XPATH_INVALID_ARITY</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSetArityError">xmlXPathSetArityError</a><br />
 </dd><dt>XPATH_INVALID_TYPE</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSetTypeError">xmlXPathSetTypeError</a><br />
@@ -241,10 +248,14 @@
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
 </dd><dt>above</dt><dd><a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
-</dd><dt>absent</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
+</dd><dt>absent</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
 </dd><dt>absoluteURI</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
 <a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
 </dd><dt>abstract</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
 </dd><dt>accept</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
 <a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
 </dd><dt>accepted</dt><dd><a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
@@ -277,14 +288,18 @@
 </dd><dt>activated</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
 </dd><dt>activation</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
 </dd><dt>acts</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-</dd><dt>actual</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
+</dd><dt>actual</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
 </dd><dt>actually</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -304,6 +319,7 @@
 </dd><dt>add</dt><dd><a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
 <a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
 <a href="html/libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a><br />
+<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
@@ -354,10 +370,12 @@
 </dd><dt>address</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
 </dd><dt>adds</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
@@ -381,6 +399,8 @@
 <a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a><br />
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
+<a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
 <a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
@@ -391,6 +411,7 @@
 <a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
@@ -458,6 +479,7 @@
 <a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
 </dd><dt>allowing</dt><dd><a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
@@ -590,6 +612,8 @@
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
 <a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
+</dd><dt>applications</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
+<a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 </dd><dt>applied</dt><dd><a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
 <a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
 <a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
@@ -601,6 +625,7 @@
 <a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
 </dd><dt>applying</dt><dd><a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
@@ -616,6 +641,7 @@
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>areas</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a><br />
 </dd><dt>args</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_ARITY">CHECK_ARITY</a><br />
 <a href="">x</a><br />
@@ -634,10 +660,12 @@
 </dd><dt>assumes</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>assuming</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
+</dd><dt>assure</dt><dd><a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 </dd><dt>atomic</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 </dd><dt>attached</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>attr</dt><dd><a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
+</dd><dt>attr</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
+<a href="html/libxml-tree.html#_xmlID">_xmlID</a><br />
 <a href="html/libxml-tree.html#_xmlRef">_xmlRef</a><br />
 </dd><dt>attribute-list</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIchunk9.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIchunk9.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIchunk9.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index b-b for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index b-b for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index b-b for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index b-b for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
@@ -45,6 +45,7 @@
 </dd><dt>bahaviour</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </dd><dt>bar</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
 </dd><dt>base64</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
 </dd><dt>based</dt><dd><a href="html/libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a><br />
@@ -67,7 +68,6 @@
 <a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
 <a href="html/libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a><br />
 <a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
@@ -121,36 +121,7 @@
 <a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-</dd><dt>being</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
-<a href="html/libxml-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
-<a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetName">xmlNodeSetName</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartDocument">xmlSAX2StartDocument</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-<a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
-<a href="html/libxml-tree.html#xmlTextMerge">xmlTextMerge</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
 </dd><dt>below</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
 </dd><dt>better</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
@@ -160,7 +131,9 @@
 <a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 <a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
 </dd><dt>between</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
@@ -178,6 +151,9 @@
 </dd><dt>bloc</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+</dd><dt>blockDefault</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a><br />
 </dd><dt>blocked</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 </dd><dt>blocking</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a><br />
@@ -187,6 +163,7 @@
 <a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
 <a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
 <a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a><br />
 </dd><dt>book1</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
@@ -205,11 +182,14 @@
 </dd><dt>boundary</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
 </dd><dt>bracket</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
+</dd><dt>branch</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 </dd><dt>break</dt><dd><a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
 </dd><dt>breaking</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 </dd><dt>breaks</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 </dd><dt>broken</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
+</dd><dt>buf</dt><dd><a href="html/libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
 </dd><dt>buffered</dt><dd><a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
 <a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
 <a href="html/libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a><br />
@@ -265,37 +245,10 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
 </dd><dt>built-in</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 </dd><dt>builtin</dt><dd><a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
 </dd><dt>bunch</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>but</dt><dd><a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_EXTENDER_CH">IS_EXTENDER_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_LETTER_CH">IS_LETTER_CH</a><br />
-<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a><br />
-<a href="html/libxml-parserInternals.html#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-<a href="html/libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
-<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-<a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
 </dd><dt>bypass</dt><dd><a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>

Modified: packages/libxml2/branches/unstable/doc/APIconstructors.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIconstructors.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIconstructors.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>List of constructors for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of constructors for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type const htmlElemDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
+</style><title>List of constructors for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of constructors for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type const htmlElemDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
 </p><h2>Type const htmlEntityDesc *:</h2><p><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
@@ -33,6 +33,7 @@
 <a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
@@ -40,6 +41,8 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a><br />
 </p><h2>Type const xmlParserNodeInfo *:</h2><p><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
 </p><h2>Type docbDocPtr:</h2><p><a href="html/libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a><br />
@@ -83,6 +86,7 @@
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </p><h2>Type unsigned long:</h2><p><a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
 </p><h2>Type void *:</h2><p><a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
 <a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
 <a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
@@ -137,10 +141,12 @@
 </p><h2>Type xmlAutomataStatePtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
@@ -228,7 +234,6 @@
 <a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
 <a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
@@ -334,6 +339,7 @@
 <a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
 <a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
 <a href="html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a><br />
 <a href="html/libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a><br />
@@ -345,6 +351,7 @@
 <a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
 <a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
 <a href="html/libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a><br />
@@ -418,6 +425,7 @@
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
+</p><h2>Type xmlParserErrors:</h2><p><a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </p><h2>Type xmlParserInputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a><br />
 </p><h2>Type xmlParserInputBufferPtr:</h2><p><a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
@@ -489,7 +497,7 @@
 <a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
 </p><h2>Type xmlXPathContextPtr:</h2><p><a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</p><h2>Type xmlXPathFunction:</h2><p><a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+</p><h2>Type xmlXPathFunction:</h2><p><a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
 </p><h2>Type xmlXPathObjectPtr:</h2><p><a href="html/libxml-xpathInternals.html#valuePop">valuePop</a><br />
@@ -509,7 +517,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
 <a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIfiles.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIfiles.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIfiles.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>List of Symbols per Module for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of Symbols per Module for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2><a name="DOCBparser" id="DOCBparser">Module DOCBparser</a>:</h2><p><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
+</style><title>List of Symbols per Module for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of Symbols per Module for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2><a name="DOCBparser" id="DOCBparser">Module DOCBparser</a>:</h2><p><a href="html/libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a><br />
 <a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
 <a href="html/libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a><br />
 <a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
@@ -283,6 +283,7 @@
 <a href="html/libxml-chvalid.html#xmlIsPubidChar_tab">xmlIsPubidChar_tab</a><br />
 </p><h2><a name="debugXML" id="debugXML">Module debugXML</a>:</h2><p><a href="html/libxml-debugXML.html#_xmlShellCtxt">_xmlShellCtxt</a><br />
 <a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
+<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
@@ -552,6 +553,7 @@
 </p><h2><a name="nanohttp" id="nanohttp">Module nanohttp</a>:</h2><p><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
@@ -597,6 +599,7 @@
 <a href="html/libxml-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_PUSH_DOM">XML_PARSE_PUSH_DOM</a><br />
@@ -686,6 +689,7 @@
 <a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
 <a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parser.html#xmlParseMemory">xmlParseMemory</a><br />
 <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
@@ -726,6 +730,8 @@
 <a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
 <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 </p><h2><a name="parserInternals" id="parserInternals">Module parserInternals</a>:</h2><p><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
+<a href="html/libxml-parserInternals.html#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a><br />
+<a href="html/libxml-parserInternals.html#IS_ASCII_LETTER">IS_ASCII_LETTER</a><br />
 <a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
 <a href="html/libxml-parserInternals.html#IS_BLANK_CH">IS_BLANK_CH</a><br />
@@ -904,6 +910,7 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
@@ -936,13 +943,19 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a><br />
@@ -951,9 +964,18 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a><br />
@@ -978,6 +1000,7 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ID">XML_SCHEMAS_ID</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INT">XML_SCHEMAS_INT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a><br />
@@ -999,6 +1022,10 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
@@ -1008,6 +1035,7 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
@@ -1241,6 +1269,7 @@
 <a href="html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
 <a href="html/libxml-tree.html#xmlDoc">xmlDoc</a><br />
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
@@ -1299,6 +1328,7 @@
 <a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
 <a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
@@ -1404,7 +1434,9 @@
 <a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
 <a href="html/libxml-uri.html#xmlURIPtr">xmlURIPtr</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</p><h2><a name="valid" id="valid">Module valid</a>:</h2><p><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
+</p><h2><a name="valid" id="valid">Module valid</a>:</h2><p><a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
+<a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
 <a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
 <a href="html/libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a><br />
 <a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
@@ -1600,11 +1632,13 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
@@ -1623,6 +1657,46 @@
 <a href="html/libxml-xmlerror.html#XML_CATALOG_NOT_CATALOG">XML_CATALOG_NOT_CATALOG</a><br />
 <a href="html/libxml-xmlerror.html#XML_CATALOG_PREFER_VALUE">XML_CATALOG_PREFER_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_CATALOG_RECURSION">XML_CATALOG_RECURSION</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_">XML_CHECK_</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_X">XML_CHECK_X</a><br />
 <a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_DEFAULT">XML_DTD_ATTRIBUTE_DEFAULT</a><br />
 <a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_REDEFINED">XML_DTD_ATTRIBUTE_REDEFINED</a><br />
 <a href="html/libxml-xmlerror.html#XML_DTD_ATTRIBUTE_VALUE">XML_DTD_ATTRIBUTE_VALUE</a><br />
@@ -1766,6 +1840,7 @@
 <a href="html/libxml-xmlerror.html#XML_ERR_XMLDECL_NOT_STARTED">XML_ERR_XMLDECL_NOT_STARTED</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_C14N">XML_FROM_C14N</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_CATALOG">XML_FROM_CATALOG</a><br />
+<a href="html/libxml-xmlerror.html#XML_FROM_CHECK">XML_FROM_CHECK</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_DATATYPE">XML_FROM_DATATYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_DTD">XML_FROM_DTD</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_FTP">XML_FROM_FTP</a><br />
@@ -1784,6 +1859,7 @@
 <a href="html/libxml-xmlerror.html#XML_FROM_SCHEMASV">XML_FROM_SCHEMASV</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_TREE">XML_FROM_TREE</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_VALID">XML_FROM_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_FROM_WRITER">XML_FROM_WRITER</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_XINCLUDE">XML_FROM_XINCLUDE</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_XPATH">XML_FROM_XPATH</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_XPOINTER">XML_FROM_XPOINTER</a><br />
@@ -1988,7 +2064,10 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a><br />
@@ -2012,15 +2091,21 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a><br />
@@ -2030,6 +2115,11 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ELEM_DEFAULT_FIXED">XML_SCHEMAP_ELEM_DEFAULT_FIXED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ELEM_NONAME_NOREF">XML_SCHEMAP_ELEM_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_EXTENSION_NO_BASE">XML_SCHEMAP_EXTENSION_NO_BASE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_FACET_NO_VALUE">XML_SCHEMAP_FACET_NO_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_BUILD_IMPORT">XML_SCHEMAP_FAILED_BUILD_IMPORT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a><br />
@@ -2040,6 +2130,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a><br />
@@ -2053,14 +2144,22 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTATION_NO_NAME">XML_SCHEMAP_NOTATION_NO_NAME</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTYPE_NOREF">XML_SCHEMAP_NOTYPE_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_PREFIX_UNDEFINED">XML_SCHEMAP_PREFIX_UNDEFINED</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a><br />
@@ -2072,13 +2171,33 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a><br />
@@ -2126,13 +2245,41 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a><br />
@@ -2145,9 +2292,13 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_1">XML_SCHEMAV_CVC_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a><br />
@@ -2260,6 +2411,7 @@
 <a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
@@ -2331,6 +2483,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
@@ -2338,6 +2491,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a><br />
@@ -2353,6 +2507,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
@@ -2388,6 +2543,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
 </p><h2><a name="xmlregexp" id="xmlregexp">Module xmlregexp</a>:</h2><p><a href="html/libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a><br />
@@ -2441,11 +2597,14 @@
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a><br />
+<a href="html/libxml-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchema">xmlSchema</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
@@ -2456,10 +2615,14 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidError">xmlSchemaValidError</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />
@@ -2471,12 +2634,15 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaInitTypes">xmlSchemaInitTypes</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaNewFacet">xmlSchemaNewFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 </p><h2><a name="xmlstring" id="xmlstring">Module xmlstring</a>:</h2><p><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
@@ -2683,6 +2849,7 @@
 <a href="html/libxml-xmlversion.html#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
+<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a><br />
@@ -2704,6 +2871,7 @@
 <a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_VERSION">LIBXML_VERSION</a><br />
+<a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a><br />
@@ -2801,6 +2969,7 @@
 <a href="html/libxml-xpath.html#XPATH_EXPR_ERROR">XPATH_EXPR_ERROR</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a><br />
+<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_POSITION">XPATH_INVALID_CTXT_POSITION</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_SIZE">XPATH_INVALID_CTXT_SIZE</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_OPERAND">XPATH_INVALID_OPERAND</a><br />
@@ -2876,6 +3045,7 @@
 <a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFuncPtr">xmlXPathFuncPtr</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFunct">xmlXPathFunct</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
@@ -2900,6 +3070,7 @@
 <a href="html/libxml-xpath.html#xmlXPathType">xmlXPathType</a><br />
 <a href="html/libxml-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a><br />
 <a href="html/libxml-xpath.html#xmlXPathVariable">xmlXPathVariable</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 <a href="html/libxml-xpath.html#xmlXPathVariablePtr">xmlXPathVariablePtr</a><br />
 </p><h2><a name="xpathInternals" id="xpathInternals">Module xpathInternals</a>:</h2><p><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
 <a href="html/libxml-xpathInternals.html#CAST_TO_NUMBER">CAST_TO_NUMBER</a><br />
@@ -2935,7 +3106,6 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathFalseFunction">xmlXPathFalseFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a><br />
@@ -3042,7 +3212,6 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathTrueFunction">xmlXPathTrueFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIfunctions.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIfunctions.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIfunctions.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>List of function manipulating types in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of function manipulating types in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type ...:</h2><p><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
+</style><title>List of function manipulating types in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>List of function manipulating types in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type ...:</h2><p><a href="html/libxml-parser.html#errorSAXFunc">errorSAXFunc</a><br />
 <a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
 <a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a><br />
@@ -41,6 +41,7 @@
 <a href="html/libxml-catalog.html#xmlACatalogDump">xmlACatalogDump</a><br />
 <a href="html/libxml-tree.html#xmlBufferDump">xmlBufferDump</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogDump">xmlCatalogDump</a><br />
+<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
@@ -178,7 +179,9 @@
 <a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
 <a href="html/libxml-tree.html#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a><br />
@@ -258,6 +261,7 @@
 <a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
 <a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
@@ -327,7 +331,9 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
@@ -450,7 +456,7 @@
 <a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
 <a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
 <a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a><br />
@@ -464,7 +470,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
 </p><h2>Type const xmlChar **:</h2><p><a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
@@ -484,6 +490,7 @@
 </p><h2>Type const xmlNodePtr:</h2><p><a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
 <a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
 </p><h2>Type const xmlParserCtxtPtr:</h2><p><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
@@ -573,7 +580,8 @@
 <a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
 </p><h2>Type unsigned long:</h2><p><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
-</p><h2>Type unsigned long *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+</p><h2>Type unsigned long *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </p><h2>Type va_list:</h2><p><a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
@@ -667,7 +675,9 @@
 <a href="html/libxml-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a><br />
 <a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
@@ -735,6 +745,7 @@
 <a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
@@ -816,13 +827,15 @@
 <a href="html/libxml-globals.html#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a><br />
 <a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
 <a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a><br />
 </p><h2>Type void **:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a><br />
 </p><h2>Type xlinkActuate *:</h2><p><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
 </p><h2>Type xlinkHandlerPtr:</h2><p><a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
@@ -856,11 +869,13 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
@@ -868,10 +883,12 @@
 <a href="html/libxml-xmlautomata.html#xmlFreeAutomata">xmlFreeAutomata</a><br />
 </p><h2>Type xmlAutomataStatePtr:</h2><p><a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
@@ -1037,10 +1054,12 @@
 <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 <a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
 <a href="html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a><br />
+<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
@@ -1071,6 +1090,7 @@
 <a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
 <a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
@@ -1361,6 +1381,7 @@
 <a href="html/libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetName">xmlNodeSetName</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
 <a href="html/libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a><br />
@@ -1370,6 +1391,8 @@
 <a href="html/libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
 <a href="html/libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a><br />
@@ -1445,6 +1468,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 </p><h2>Type xmlNodeSetPtr:</h2><p><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
@@ -1735,10 +1759,13 @@
 <a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 </p><h2>Type xmlSchemaFacetPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </p><h2>Type xmlSchemaParserCtxtPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 </p><h2>Type xmlSchemaPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
@@ -1749,22 +1776,34 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 </p><h2>Type xmlSchemaValPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 </p><h2>Type xmlSchemaValPtr *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 </p><h2>Type xmlSchemaValType:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 </p><h2>Type xmlSchemaValidCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 </p><h2>Type xmlSchemaValidityErrorFunc:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+</p><h2>Type xmlSchemaValidityErrorFunc *:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 </p><h2>Type xmlSchemaValidityWarningFunc:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+</p><h2>Type xmlSchemaValidityWarningFunc *:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 </p><h2>Type xmlSchemaWildcardPtr:</h2><p><a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
 </p><h2>Type xmlShellCtxtPtr:</h2><p><a href="html/libxml-debugXML.html#xmlShellBase">xmlShellBase</a><br />
 <a href="html/libxml-debugXML.html#xmlShellCat">xmlShellCat</a><br />
@@ -1801,6 +1840,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
@@ -1808,6 +1848,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a><br />
@@ -1822,6 +1863,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
@@ -1852,6 +1894,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
 </p><h2>Type xmlTextWriterPtr:</h2><p><a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />

Modified: packages/libxml2/branches/unstable/doc/APIsymbols.html
===================================================================
--- packages/libxml2/branches/unstable/doc/APIsymbols.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/APIsymbols.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Alphabetic List of Symbols in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Alphabetic List of Symbols in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Letter A:</h2><p><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
+</style><title>Alphabetic List of Symbols in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Alphabetic List of Symbols in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Letter A:</h2><p><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
 </p><h2>Letter B:</h2><p><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
 <a href="html/libxml-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a><br />
 </p><h2>Letter C:</h2><p><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
@@ -36,6 +36,8 @@
 <a href="html/libxml-HTMLtree.html#HTML_TEXT_NODE">HTML_TEXT_NODE</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_VALID">HTML_VALID</a><br />
 </p><h2>Letter I:</h2><p><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
+<a href="html/libxml-parserInternals.html#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a><br />
+<a href="html/libxml-parserInternals.html#IS_ASCII_LETTER">IS_ASCII_LETTER</a><br />
 <a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
 <a href="html/libxml-parserInternals.html#IS_BLANK_CH">IS_BLANK_CH</a><br />
@@ -57,6 +59,7 @@
 <a href="html/libxml-xmlversion.html#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
+<a href="html/libxml-xmlversion.html#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a><br />
 <a href="html/libxml-xmlexports.html#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a><br />
@@ -79,6 +82,7 @@
 <a href="html/libxml-xmlversion.html#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_VERSION">LIBXML_VERSION</a><br />
+<a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a><br />
@@ -177,8 +181,50 @@
 <a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16BE">XML_CHAR_ENCODING_UTF16BE</a><br />
 <a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF16LE">XML_CHAR_ENCODING_UTF16LE</a><br />
 <a href="html/libxml-encoding.html#XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_">XML_CHECK_</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a><br />
+<a href="html/libxml-xmlerror.html#XML_CHECK_X">XML_CHECK_X</a><br />
 <a href="html/libxml-tree.html#XML_COMMENT_NODE">XML_COMMENT_NODE</a><br />
 <a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a><br />
+<a href="html/libxml-valid.html#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a><br />
 <a href="html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a><br />
 <a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
 <a href="html/libxml-tree.html#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a><br />
@@ -350,6 +396,7 @@
 <a href="html/libxml-entities.html#XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_C14N">XML_FROM_C14N</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_CATALOG">XML_FROM_CATALOG</a><br />
+<a href="html/libxml-xmlerror.html#XML_FROM_CHECK">XML_FROM_CHECK</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_DATATYPE">XML_FROM_DATATYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_DTD">XML_FROM_DTD</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_FTP">XML_FROM_FTP</a><br />
@@ -368,6 +415,7 @@
 <a href="html/libxml-xmlerror.html#XML_FROM_SCHEMASV">XML_FROM_SCHEMASV</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_TREE">XML_FROM_TREE</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_VALID">XML_FROM_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_FROM_WRITER">XML_FROM_WRITER</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_XINCLUDE">XML_FROM_XINCLUDE</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_XPATH">XML_FROM_XPATH</a><br />
 <a href="html/libxml-xmlerror.html#XML_FROM_XPOINTER">XML_FROM_XPOINTER</a><br />
@@ -488,6 +536,7 @@
 <a href="html/libxml-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_PUSH_DOM">XML_PARSE_PUSH_DOM</a><br />
@@ -692,7 +741,10 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a><br />
@@ -716,15 +768,21 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a><br />
@@ -734,6 +792,11 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ELEM_DEFAULT_FIXED">XML_SCHEMAP_ELEM_DEFAULT_FIXED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ELEM_NONAME_NOREF">XML_SCHEMAP_ELEM_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_EXTENSION_NO_BASE">XML_SCHEMAP_EXTENSION_NO_BASE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_FACET_NO_VALUE">XML_SCHEMAP_FACET_NO_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_BUILD_IMPORT">XML_SCHEMAP_FAILED_BUILD_IMPORT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a><br />
@@ -744,6 +807,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a><br />
@@ -757,14 +821,22 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTATION_NO_NAME">XML_SCHEMAP_NOTATION_NO_NAME</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOTYPE_NOREF">XML_SCHEMAP_NOTYPE_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_PREFIX_UNDEFINED">XML_SCHEMAP_PREFIX_UNDEFINED</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a><br />
@@ -776,13 +848,33 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a><br />
@@ -837,13 +929,19 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a><br />
@@ -852,9 +950,18 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a><br />
@@ -905,6 +1012,7 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ID">XML_SCHEMAS_ID</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INT">XML_SCHEMAS_INT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a><br />
@@ -926,6 +1034,10 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
@@ -935,6 +1047,7 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
@@ -950,13 +1063,41 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a><br />
@@ -969,9 +1110,13 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_1">XML_SCHEMAV_CVC_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a><br />
@@ -1032,6 +1177,7 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE_CONTENT">XML_SCHEMA_TYPE_SIMPLE_CONTENT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UNION">XML_SCHEMA_TYPE_UNION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_UR">XML_SCHEMA_TYPE_UR</a><br />
+<a href="html/libxml-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a><br />
 <a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
 <a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
 <a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a><br />
@@ -1108,6 +1254,7 @@
 <a href="html/libxml-xpath.html#XPATH_EXPR_ERROR">XPATH_EXPR_ERROR</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a><br />
+<a href="html/libxml-xpath.html#XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_POSITION">XPATH_INVALID_CTXT_POSITION</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_CTXT_SIZE">XPATH_INVALID_CTXT_SIZE</a><br />
 <a href="html/libxml-xpath.html#XPATH_INVALID_OPERAND">XPATH_INVALID_OPERAND</a><br />
@@ -1422,11 +1569,13 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a><br />
@@ -1568,6 +1717,7 @@
 <a href="html/libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a><br />
 <a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
 <a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
+<a href="html/libxml-debugXML.html#xmlDebugCheckDocument">xmlDebugCheckDocument</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
 <a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
@@ -1601,6 +1751,7 @@
 <a href="html/libxml-globals.html#xmlDoValidityCheckingDefaultValue">xmlDoValidityCheckingDefaultValue</a><br />
 <a href="html/libxml-tree.html#xmlDoc">xmlDoc</a><br />
 <a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNodeList">xmlDocCopyNodeList</a><br />
 <a href="html/libxml-tree.html#xmlDocDump">xmlDocDump</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
@@ -1875,6 +2026,7 @@
 <a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemBlocks">xmlMemBlocks</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
@@ -1919,6 +2071,7 @@
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
@@ -1944,6 +2097,7 @@
 <a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocPI">xmlNewDocPI</a><br />
 <a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
@@ -2069,6 +2223,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
 <a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
+<a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 <a href="html/libxml-parser.html#xmlParseMemory">xmlParseMemory</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
@@ -2214,6 +2369,7 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
@@ -2343,7 +2499,10 @@
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaInitTypes">xmlSchemaInitTypes</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
@@ -2359,6 +2518,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaType">xmlSchemaType</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a><br />
@@ -2366,14 +2526,19 @@
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidError">xmlSchemaValidError</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a><br />
@@ -2464,6 +2629,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a><br />
@@ -2471,6 +2637,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a><br />
@@ -2486,6 +2653,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
@@ -2521,6 +2689,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriter">xmlTextWriter</a><br />
@@ -2909,7 +3078,7 @@
 <a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFuncPtr">xmlXPathFuncPtr</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFunct">xmlXPathFunct</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a><br />
@@ -3040,7 +3209,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
 <a href="html/libxml-xpath.html#xmlXPathVariable">xmlXPathVariable</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
+<a href="html/libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
 <a href="html/libxml-xpath.html#xmlXPathVariablePtr">xmlXPathVariablePtr</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a><br />

Modified: packages/libxml2/branches/unstable/doc/ChangeLog.xsl
===================================================================
--- packages/libxml2/branches/unstable/doc/ChangeLog.xsl	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/ChangeLog.xsl	2005-02-16 19:06:11 UTC (rev 352)
@@ -32,9 +32,9 @@
              href="{$href_base}examples/index.html">Code Examples</a></li>
       <li><a style="font-weight:bold"
              href="index.html">API Menu</a></li>
-      <li><a href="libxml-parser.html">Parser API</a></li>
-      <li><a href="libxml-tree.html">Tree API</a></li>
-      <li><a href="libxml-xmlreader.html">Reader API</a></li>
+      <li><a href="html/libxml-parser.html">Parser API</a></li>
+      <li><a href="html/libxml-tree.html">Tree API</a></li>
+      <li><a href="html/libxml-xmlreader.html">Reader API</a></li>
       <li><a href="{$href_base}guidelines.html">XML Guidelines</a></li>
     </ul>
   </xsl:variable>
@@ -71,7 +71,7 @@
 	  <xsl:value-of select="$title"/>
 	</xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
 	    <xsl:with-param name="title" select="$title"/>
 	  </xsl:call-template>

Modified: packages/libxml2/branches/unstable/doc/DOM.html
===================================================================
--- packages/libxml2/branches/unstable/doc/DOM.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/DOM.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>DOM Principles</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>DOM Principles</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/DOM/">DOM</a> stands for the <em>Document
+</style><title>DOM Principles</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>DOM Principles</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/DOM/">DOM</a> stands for the <em>Document
 Object Model</em>; this is an API for accessing XML or HTML structured
 documents. Native support for DOM in Gnome is on the way (module gnome-dom),
 and will be based on gnome-xml. This will be a far cleaner interface to

Modified: packages/libxml2/branches/unstable/doc/FAQ.html
===================================================================
--- packages/libxml2/branches/unstable/doc/FAQ.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/FAQ.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Contents:</p><ul><li><a href="FAQ.html#License">License(s)</a></li>
+</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Contents:</p><ul><li><a href="FAQ.html#License">License(s)</a></li>
   <li><a href="FAQ.html#Installati">Installation</a></li>
   <li><a href="FAQ.html#Compilatio">Compilation</a></li>
   <li><a href="FAQ.html#Developer">Developer corner</a></li>

Modified: packages/libxml2/branches/unstable/doc/Makefile.am
===================================================================
--- packages/libxml2/branches/unstable/doc/Makefile.am	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/Makefile.am	2005-02-16 19:06:11 UTC (rev 352)
@@ -33,61 +33,61 @@
 web: $(PAGES)
 
 ../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the elfgcchack.h header" ; \
-	  $(bindir)/xsltproc --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
+	  $(XSLTPROC) --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
 	  if [ "`diff -q elfgcchack.h ../elfgcchack.h`" ] ; then \
 	    echo "updating ../elfgcchack.h"; \
 	    cp elfgcchack.h ../elfgcchack.h; \
 	  fi ; rm -f elfgcchack.h ;  fi );
 
 $(PAGES): xml.html site.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML Web pages from xml.html" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML Web pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout $(PAGES) ; fi );
+	  $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
 
 $(top_srcdir)/NEWS: $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
 
 libxml2.xsa: $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  echo "Rebuilding the NEWS file" ; \
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
 
 $(APIPAGES): libxml2-api.xml libxml2-refs.xml $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/api.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/api.xsl \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/api.xsl \
 	                     $(top_srcdir)/doc/xml.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML API pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout API*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout API*.html ; fi );
 
 $(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML pages from the XML API" ; \
-	  $(bindir)/xsltproc \
-	  --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the resulting XHTML pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout html/*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
 
 $(WIN32_DIR)/libxml2.def.src: libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc -o $(WIN32_DIR)/libxml2.def.src \
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) -o $(WIN32_DIR)/libxml2.def.src \
 	  --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi )
 
 libxml2-api.xml libxml2-refs.xml: apibuild.py ../include/libxml/*.h ../*.c
 	-(./apibuild.py)
 
 xmllint.1: xmllint.xml
-	-@(xsltproc --nonet xmllint.xml)
+	-@($(XSLTPROC) --nonet xmllint.xml)
 
 xmlcatalog.1: xmlcatalog_man.xml
-	-@(xsltproc --nonet xmlcatalog_man.xml)
+	-@($(XSLTPROC) --nonet xmlcatalog_man.xml)
 
 clean-local:
 	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt

Modified: packages/libxml2/branches/unstable/doc/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/doc/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -82,6 +82,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -114,6 +116,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -134,6 +137,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -190,6 +194,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -203,6 +208,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -210,6 +216,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@
@@ -639,61 +646,61 @@
 web: $(PAGES)
 
 ../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the elfgcchack.h header" ; \
-	  $(bindir)/xsltproc --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
+	  $(XSLTPROC) --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
 	  if [ "`diff -q elfgcchack.h ../elfgcchack.h`" ] ; then \
 	    echo "updating ../elfgcchack.h"; \
 	    cp elfgcchack.h ../elfgcchack.h; \
 	  fi ; rm -f elfgcchack.h ;  fi );
 
 $(PAGES): xml.html site.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML Web pages from xml.html" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/xml.html > index.html ; fi );
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML Web pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout $(PAGES) ; fi );
+	  $(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
 
 $(top_srcdir)/NEWS: $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
 
 libxml2.xsa: $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  echo "Rebuilding the NEWS file" ; \
+	  $(XSLTPROC) --nonet $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxml2.xsa ; fi );
 
 $(APIPAGES): libxml2-api.xml libxml2-refs.xml $(top_srcdir)/doc/site.xsl $(top_srcdir)/doc/api.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML API pages from libxml2-refs.xml" ; \
-	  $(bindir)/xsltproc --nonet --html $(top_srcdir)/doc/api.xsl \
+	  $(XSLTPROC) --nonet --html $(top_srcdir)/doc/api.xsl \
 	                     $(top_srcdir)/doc/xml.html ; fi );
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the HTML API pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout API*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout API*.html ; fi );
 
 $(srcdir)/html/index.html: libxml2-api.xml $(srcdir)/newapi.xsl
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	-@(if [ -x $(XSLTPROC) ] ; then \
 	  echo "Rebuilding the HTML pages from the XML API" ; \
-	  $(bindir)/xsltproc \
-	  --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
-	-@(if [ -x $(bindir)/xmllint ] ; then \
+	  $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libxml2-api.xml ; fi )
+	-@(if [ -x $(XMLLINT) ] ; then \
 	  echo "Validating the resulting XHTML pages" ; \
-	  $(bindir)/xmllint --nonet --valid --noout html/*.html ; fi );
+	  $(XMLLINT) --nonet --valid --noout html/*.html ; fi );
 
 $(WIN32_DIR)/libxml2.def.src: libxml2-api.xml
-	-@(if [ -x $(bindir)/xsltproc ] ; then \
-	  $(bindir)/xsltproc -o $(WIN32_DIR)/libxml2.def.src \
+	-@(if [ -x $(XSLTPROC) ] ; then \
+	  $(XSLTPROC) -o $(WIN32_DIR)/libxml2.def.src \
 	  --nonet $(WIN32_DIR)/defgen.xsl libxml2-api.xml ; fi )
 
 libxml2-api.xml libxml2-refs.xml: apibuild.py ../include/libxml/*.h ../*.c
 	-(./apibuild.py)
 
 xmllint.1: xmllint.xml
-	-@(xsltproc --nonet xmllint.xml)
+	-@($(XSLTPROC) --nonet xmllint.xml)
 
 xmlcatalog.1: xmlcatalog_man.xml
-	-@(xsltproc --nonet xmlcatalog_man.xml)
+	-@($(XSLTPROC) --nonet xmlcatalog_man.xml)
 
 clean-local:
 	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt

Modified: packages/libxml2/branches/unstable/doc/XMLinfo.html
===================================================================
--- packages/libxml2/branches/unstable/doc/XMLinfo.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/XMLinfo.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>XML</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XML</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/TR/REC-xml">XML is a standard</a> for
+</style><title>XML</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XML</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p><a href="http://www.w3.org/TR/REC-xml">XML is a standard</a> for
 markup-based structured documents. Here is <a name="example" id="example">an example XML
 document</a>:</p><pre>&lt;?xml version="1.0"?&gt;
 &lt;EXAMPLE prop1="gnome is great" prop2="&amp;amp; linux too"&gt;

Modified: packages/libxml2/branches/unstable/doc/XSLT.html
===================================================================
--- packages/libxml2/branches/unstable/doc/XSLT.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/XSLT.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>XSLT</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XSLT</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Check <a href="http://xmlsoft.org/XSLT">the separate libxslt page</a></p><p><a href="http://www.w3.org/TR/xslt">XSL Transformations</a>,  is a
+</style><title>XSLT</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>XSLT</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Check <a href="http://xmlsoft.org/XSLT">the separate libxslt page</a></p><p><a href="http://www.w3.org/TR/xslt">XSL Transformations</a>,  is a
 language for transforming XML documents into other XML documents (or
 HTML/textual output).</p><p>A separate library called libxslt is available implementing XSLT-1.0 for
 libxml2. This module "libxslt" too can be found in the Gnome CVS base.</p><p>You can check the <a href="http://cvs.gnome.org/lxr/source/libxslt/FEATURES">features</a>

Modified: packages/libxml2/branches/unstable/doc/api.xsl
===================================================================
--- packages/libxml2/branches/unstable/doc/api.xsl	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/api.xsl	2005-02-16 19:06:11 UTC (rev 352)
@@ -85,7 +85,7 @@
 	  <xsl:value-of select="$title"/>
 	</xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
 	    <xsl:with-param name="title" select="$title"/>
 	  </xsl:call-template>
@@ -141,7 +141,7 @@
 	  <xsl:value-of select="$title"/>
 	</xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
 	    <xsl:with-param name="title" select="$title"/>
 	  </xsl:call-template>
@@ -197,7 +197,7 @@
 	  <xsl:value-of select="$title"/>
 	</xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
 	    <xsl:with-param name="title" select="$title"/>
 	  </xsl:call-template>
@@ -253,7 +253,7 @@
 	  <xsl:value-of select="$title"/>
 	</xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
 	    <xsl:with-param name="title" select="$title"/>
 	  </xsl:call-template>
@@ -326,7 +326,7 @@
 	  <xsl:value-of select="$title"/>
 	</xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
 	    <xsl:with-param name="title" select="$title"/>
 	  </xsl:call-template>

Modified: packages/libxml2/branches/unstable/doc/apibuild.py
===================================================================
--- packages/libxml2/branches/unstable/doc/apibuild.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/apibuild.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -32,6 +32,7 @@
   "rngparser.c": "not yet integrated",
   "rngparser.h": "not yet integrated",
   "elfgcchack.h": "not a normal header",
+  "testapi.c": "generated regression tests",
 }
 
 ignored_words = {
@@ -857,7 +858,7 @@
 		self.index_add(name, self.filename, not self.is_header,
 		                "macro", info)
 		return token
-	if name == "#ifdef" and self.is_header:
+	if (name == "#ifdef" or name == "#ifndef") and self.is_header:
 	    try:
 	        self.defines.append(self.lexer.tokens[0][1])
 	        if string.find(self.lexer.tokens[0][1], 'ENABLED') != -1:

Modified: packages/libxml2/branches/unstable/doc/architecture.html
===================================================================
--- packages/libxml2/branches/unstable/doc/architecture.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/architecture.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>libxml2 architecture</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml2 architecture</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Libxml2 is made of multiple components; some of them are optional, and
+</style><title>libxml2 architecture</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>libxml2 architecture</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Libxml2 is made of multiple components; some of them are optional, and
 most of the block interfaces are public. The main components are:</p><ul><li>an Input/Output layer</li>
   <li>FTP and HTTP client layers (optional)</li>
   <li>an Internationalization layer managing the encodings support</li>

Modified: packages/libxml2/branches/unstable/doc/bugs.html
===================================================================
--- packages/libxml2/branches/unstable/doc/bugs.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/bugs.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Well, bugs or missing features are always possible, and I will make a
+</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Well, bugs or missing features are always possible, and I will make a
 point of fixing them in a timely fashion. The best way to report a bug is to
 use the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Gnome
 bug tracking database</a> (make sure to use the "libxml2" module name). I

Modified: packages/libxml2/branches/unstable/doc/catalog.html
===================================================================
--- packages/libxml2/branches/unstable/doc/catalog.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/catalog.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Catalog support</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Catalog support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="General2">General overview</a></li>
+</style><title>Catalog support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Catalog support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="General2">General overview</a></li>
   <li><a href="#definition">The definition</a></li>
   <li><a href="#Simple">Using catalogs</a></li>
   <li><a href="#Some">Some examples</a></li>

Modified: packages/libxml2/branches/unstable/doc/contribs.html
===================================================================
--- packages/libxml2/branches/unstable/doc/contribs.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/contribs.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Contributions</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Contributions</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><ul><li>Bjorn Reese, William Brack and Thomas Broyer have provided a number of
+</style><title>Contributions</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Contributions</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><ul><li>Bjorn Reese, William Brack and Thomas Broyer have provided a number of
     patches, Gary Pennington worked on the validation API, threading support
     and Solaris port.</li>
   <li>John Fleck helps maintaining the documentation and man pages.</li>

Modified: packages/libxml2/branches/unstable/doc/docs.html
===================================================================
--- packages/libxml2/branches/unstable/doc/docs.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/docs.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Developer Menu</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Developer Menu</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are several on-line resources related to using libxml:</p><ol><li>Use the <a href="search.php">search engine</a> to look up
+</style><title>Developer Menu</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Developer Menu</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are several on-line resources related to using libxml:</p><ol><li>Use the <a href="search.php">search engine</a> to look up
   information.</li>
   <li>Check the <a href="FAQ.html">FAQ.</a></li>
   <li>Check the <a href="http://xmlsoft.org/html/libxml-lib.html">extensive

Modified: packages/libxml2/branches/unstable/doc/downloads.html
===================================================================
--- packages/libxml2/branches/unstable/doc/downloads.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/downloads.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,27 +7,27 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The latest versions of libxml2 can be found on the <a href="ftp://xmlsoft.org/">xmlsoft.org</a> server ( <a href="http://xmlsoft.org/sources/">HTTP</a>, <a href="ftp://xmlsoft.org/">FTP</a> and rsync are available), there is also
-mirrors (<a href="ftp://speakeasy.rpmfind.net/pub/libxml/">Seattle</a>, <a href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as <a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">source archive</a>
+</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The latest versions of libxml2 can be found on the <a href="ftp://xmlsoft.org/">xmlsoft.org</a> server ( <a href="http://xmlsoft.org/sources/">HTTP</a>, <a href="ftp://xmlsoft.org/">FTP</a> and rsync are available), there is also
+mirrors (<a href="ftp://ftp.planetmirror.com/pub/xmlsoft/">Australia</a>( <a href="http://xmlsoft.planetmirror.com/">Web</a>), <a href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as <a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">source archive</a>
 , Antonin Sprinzl also provide <a href="ftp://gd.tuwien.ac.at/pub/libxml/">a
 mirror in Austria</a>. (NOTE that you need both the <a href="http://rpmfind.net/linux/RPM/libxml2.html">libxml(2)</a> and <a href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml(2)-devel</a>
 packages installed to compile applications using libxml.)</p><p>You can find all the history of libxml(2) and libxslt releases in the <a href="http://xmlsoft.org/sources/old/">old</a> directory. The precompiled
-Windows binaries made by Igor Zlatovic are available in the<a href="http://xmlsoft.org/sources/win32/"> win32</a> directory.</p><p>Binary ports:</p><ul><li>Red Hat RPMs for i386 are available directly on <a href="ftp://xmlsoft.org/">xmlsoft.org</a>, the source RPM will compile on
+Windows binaries made by Igor Zlatovic are available in the <a href="http://xmlsoft.org/sources/win32/">win32</a> directory.</p><p>Binary ports:</p><ul><li>Red Hat RPMs for i386 are available directly on <a href="ftp://xmlsoft.org/">xmlsoft.org</a>, the source RPM will compile on
     any architecture supported by Red Hat.</li>
-  <li><p><a href="mailto:igor at zlatkovic.com">Igor  Zlatkovic</a></p>
-    is now the maintainer of the Windows port, <a href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
+  <li><a href="mailto:igor at zlatkovic.com">Igor Zlatkovic</a> is now the
+    maintainer of the Windows port, <a href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
     binaries</a>.</li>
   <li><a href="mailto:Gary.Pennington at sun.com">Gary Pennington</a> provides
     <a href="http://garypennington.net/libxml2/">Solaris binaries</a>.</li>
   <li><a href="mailto:Steve.Ball at zveno.com">Steve Ball</a> provides <a href="http://www.zveno.com/open_source/libxml2xslt.html">Mac Os X
     binaries</a>.</li>
   <li>The HP-UX porting center provides <a href="http://hpux.connect.org.uk/hppd/hpux/Gnome/">HP-UX binaries</a></li>
-</ul><p>If you know other supported binary ports, please <a href="http://veillard.com/">contact me</a>.</p><p><a name="Snapshot" id="Snapshot">Snapshot:</a></p><ul><li>Code from the W3C cvs base gnome-xml <a href="ftp://xmlsoft.org/cvs-snapshot.tar.gz">cvs-snapshot.tar.gz</a>.</li>
+</ul><p>If you know other supported binary ports, please <a href="http://veillard.com/">contact me</a>.</p><p><a name="Snapshot" id="Snapshot">Snapshot:</a></p><ul><li>Code from the W3C cvs base libxml2 module, updated hourly <a href="ftp://xmlsoft.org/libxml2-cvs-snapshot.tar.gz">libxml2-cvs-snapshot.tar.gz</a>.</li>
   <li>Docs, content of the web site, the list archive included <a href="ftp://xmlsoft.org/libxml-docs.tar.gz">libxml-docs.tar.gz</a>.</li>
 </ul><p><a name="Contribs" id="Contribs">Contributions:</a></p><p>I do accept external contributions, especially if compiling on another
 platform,  get in touch with the list to upload the package, wrappers for
-various languages have been provided, and can be found in the <a href="python.html">bindings section</a></p><p>Libxml2 is also available from CVS:</p><ul><li><p>The <a href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&amp;dir=gnome-xml">Gnome
-    CVS base</a>. Check the <a href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
+various languages have been provided, and can be found in the <a href="python.html">bindings section</a></p><p>Libxml2 is also available from CVS:</p><ul><li><p>The <a href="http://cvs.gnome.org/viewcvs/libxml2/">Gnome CVS
+    base</a>. Check the <a href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
     page; the CVS module is <b>libxml2</b>.</p>
   </li>
   <li>The <strong>libxslt</strong> module is also present there</li>

Modified: packages/libxml2/branches/unstable/doc/encoding.html
===================================================================
--- packages/libxml2/branches/unstable/doc/encoding.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/encoding.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Encodings support</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Encodings support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="encoding.html#What">What does internationalization support
+</style><title>Encodings support</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Encodings support</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="encoding.html#What">What does internationalization support
     mean ?</a></li>
   <li><a href="encoding.html#internal">The internal encoding, how and
   why</a></li>

Modified: packages/libxml2/branches/unstable/doc/entities.html
===================================================================
--- packages/libxml2/branches/unstable/doc/entities.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/entities.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Entities or no entities</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Entities or no entities</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Entities in principle are similar to simple C macros. An entity defines an
+</style><title>Entities or no entities</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Entities or no entities</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Entities in principle are similar to simple C macros. An entity defines an
 abbreviation for a given string that you can reuse many times throughout the
 content of your document. Entities are especially useful when a given string
 may occur frequently within a document, or to confine the change needed to a

Modified: packages/libxml2/branches/unstable/doc/example.html
===================================================================
--- packages/libxml2/branches/unstable/doc/example.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/example.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>A real example</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>A real example</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Here is a real size example, where the actual content of the application
+</style><title>A real example</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>A real example</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Here is a real size example, where the actual content of the application
 data is not kept in the DOM tree but uses internal structures. It is based on
 a proposal to keep a database of jobs related to Gnome, with an XML based
 storage structure. Here is an <a href="gjobs.xml">XML encoded jobs

Modified: packages/libxml2/branches/unstable/doc/examples/Makefile.am
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/Makefile.am	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/Makefile.am	2005-02-16 19:06:11 UTC (rev 352)
@@ -15,9 +15,9 @@
 	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
 	- at INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
 
-EXTRA_DIST=examples.xsl index.py test1.xml examples.xml test2.xml writer.xml test3.xml tst.xml reader1.res reader3.res tree1.res tree2.res io1.res io2.res xpath1.res xpath2.res 
+EXTRA_DIST=examples.xsl index.py test1.xml examples.xml test2.xml writer.xml test3.xml tst.xml reader1.res reader3.res tree1.res tree2.res io1.res io2.res xpath1.res xpath2.res reader4.res 
 
-noinst_PROGRAMS=xpath1 parse1 parse2 tree1 tree2 testWriter reader1 reader2 reader3 io1 parse3 parse4 io2 xpath2 
+noinst_PROGRAMS=xpath1 parse1 parse2 tree1 tree2 testWriter reader1 reader2 reader3 io1 parse3 parse4 io2 xpath2 reader4 
 
 xpath1_SOURCES=xpath1.c
 xpath1_LDFLAGS=
@@ -89,6 +89,11 @@
 xpath2_DEPENDENCIES= $(DEPS)
 xpath2_LDADD= @RDL_LIBS@ $(LDADDS)
 
+reader4_SOURCES=reader4.c
+reader4_LDFLAGS=
+reader4_DEPENDENCIES= $(DEPS)
+reader4_LDADD= @RDL_LIBS@ $(LDADDS)
+
 valgrind: 
 	$(MAKE) CHECKER='valgrind -q' tests
 
@@ -123,5 +128,7 @@
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
 	@($(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
+	@($(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp)
+	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
 
 

Modified: packages/libxml2/branches/unstable/doc/examples/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) $(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) $(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
+SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) $(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) $(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) $(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -41,7 +41,7 @@
 	tree1$(EXEEXT) tree2$(EXEEXT) testWriter$(EXEEXT) \
 	reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \
 	io1$(EXEEXT) parse3$(EXEEXT) parse4$(EXEEXT) io2$(EXEEXT) \
-	xpath2$(EXEEXT)
+	xpath2$(EXEEXT) reader4$(EXEEXT)
 subdir = doc/examples
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -73,6 +73,8 @@
 reader2_OBJECTS = $(am_reader2_OBJECTS)
 am_reader3_OBJECTS = reader3.$(OBJEXT)
 reader3_OBJECTS = $(am_reader3_OBJECTS)
+am_reader4_OBJECTS = reader4.$(OBJEXT)
+reader4_OBJECTS = $(am_reader4_OBJECTS)
 am_testWriter_OBJECTS = testWriter.$(OBJEXT)
 testWriter_OBJECTS = $(am_testWriter_OBJECTS)
 am_tree1_OBJECTS = tree1.$(OBJEXT)
@@ -90,9 +92,10 @@
 @AMDEP_TRUE@	./$(DEPDIR)/parse1.Po ./$(DEPDIR)/parse2.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/parse3.Po ./$(DEPDIR)/parse4.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/reader1.Po ./$(DEPDIR)/reader2.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/reader3.Po ./$(DEPDIR)/testWriter.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/tree1.Po ./$(DEPDIR)/tree2.Po \
- at AMDEP_TRUE@	./$(DEPDIR)/xpath1.Po ./$(DEPDIR)/xpath2.Po
+ at AMDEP_TRUE@	./$(DEPDIR)/reader3.Po ./$(DEPDIR)/reader4.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/xpath2.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
@@ -104,13 +107,13 @@
 SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
 	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
 	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
-	$(testWriter_SOURCES) $(tree1_SOURCES) $(tree2_SOURCES) \
-	$(xpath1_SOURCES) $(xpath2_SOURCES)
+	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
+	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
 DIST_SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
 	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
 	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
-	$(testWriter_SOURCES) $(tree1_SOURCES) $(tree2_SOURCES) \
-	$(xpath1_SOURCES) $(xpath2_SOURCES)
+	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
+	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -136,6 +139,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -168,6 +173,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -188,6 +194,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -244,6 +251,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -257,6 +265,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -264,6 +273,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@
@@ -316,7 +326,7 @@
 INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I at srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@
 DEPS = $(top_builddir)/libxml2.la
 LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@
-EXTRA_DIST = examples.xsl index.py test1.xml examples.xml test2.xml writer.xml test3.xml tst.xml reader1.res reader3.res tree1.res tree2.res io1.res io2.res xpath1.res xpath2.res 
+EXTRA_DIST = examples.xsl index.py test1.xml examples.xml test2.xml writer.xml test3.xml tst.xml reader1.res reader3.res tree1.res tree2.res io1.res io2.res xpath1.res xpath2.res reader4.res 
 xpath1_SOURCES = xpath1.c
 xpath1_LDFLAGS = 
 xpath1_DEPENDENCIES = $(DEPS)
@@ -373,6 +383,10 @@
 xpath2_LDFLAGS = 
 xpath2_DEPENDENCIES = $(DEPS)
 xpath2_LDADD = @RDL_LIBS@ $(LDADDS)
+reader4_SOURCES = reader4.c
+reader4_LDFLAGS = 
+reader4_DEPENDENCIES = $(DEPS)
+reader4_LDADD = @RDL_LIBS@ $(LDADDS)
 all: all-am
 
 .SUFFIXES:
@@ -440,6 +454,9 @@
 reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) 
 	@rm -f reader3$(EXEEXT)
 	$(LINK) $(reader3_LDFLAGS) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS)
+reader4$(EXEEXT): $(reader4_OBJECTS) $(reader4_DEPENDENCIES) 
+	@rm -f reader4$(EXEEXT)
+	$(LINK) $(reader4_LDFLAGS) $(reader4_OBJECTS) $(reader4_LDADD) $(LIBS)
 testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) 
 	@rm -f testWriter$(EXEEXT)
 	$(LINK) $(testWriter_LDFLAGS) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS)
@@ -471,6 +488,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reader1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reader2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reader3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reader4.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/testWriter.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tree1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tree2.Po at am__quote@
@@ -724,6 +742,8 @@
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
 	@($(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
+	@($(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp)
+	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:

Modified: packages/libxml2/branches/unstable/doc/examples/examples.xml
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/examples.xml	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/examples.xml	2005-02-16 19:06:11 UTC (rev 352)
@@ -100,7 +100,7 @@
       <macro line='67' file='xmlversion' name='LIBXML_TEST_VERSION'/>
       <enum line='36' file='tree' name='XML_ELEMENT_NODE'/>
       <function line='79' file='tree' name='xmlFreeDoc'/>
-      <function line='67' file='parser' name='xmlParseFile'/>
+      <function line='67' file='parser' name='xmlReadFile'/>
       <function line='74' file='tree' name='xmlDocGetRootElement'/>
     </uses>
   </example>
@@ -364,6 +364,26 @@
       <function line='94' file='parser' name='xmlParseFile'/>
     </uses>
   </example>
+  <example filename='reader4.c'>
+    <synopsis>Parse multiple XML files reusing an xmlReader</synopsis>
+    <purpose>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
+    <usage>reader4 &lt;filename&gt; [ filename ... ]</usage>
+    <test>reader4 test1.xml test2.xml test3.xml &gt; reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp</test>
+    <author>Graham Bennett</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>xmlReader</section>
+    <includes>
+      <include>&lt;libxml/xmlreader.h&gt;</include>
+    </includes>
+    <uses>
+      <function line='104' file='xmlreader' name='xmlFreeTextReader'/>
+      <typedef line='54' file='xmlreader' name='xmlTextReaderPtr'/>
+      <function line='83' file='xmlreader' name='xmlReaderNewFile'/>
+      <function line='26' file='xmlreader' name='xmlTextReaderRead'/>
+      <function line='97' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
+      <function line='72' file='xmlreader' name='xmlReaderForFile'/>
+    </uses>
+  </example>
   <symbols>
     <symbol name='LIBXML_TEST_VERSION'>
       <ref filename='xpath1.c'/>
@@ -474,6 +494,7 @@
       <ref filename='reader1.c'/>
       <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
+      <ref filename='reader4.c'/>
     </symbol>
     <symbol name='xmlFreeTextWriter'>
       <ref filename='testWriter.c'/>
@@ -546,7 +567,6 @@
     </symbol>
     <symbol name='xmlParseFile'>
       <ref filename='xpath1.c'/>
-      <ref filename='tree1.c'/>
       <ref filename='xpath2.c'/>
     </symbol>
     <symbol name='xmlParserCtxtPtr'>
@@ -555,6 +575,7 @@
     </symbol>
     <symbol name='xmlReadFile'>
       <ref filename='parse1.c'/>
+      <ref filename='tree1.c'/>
     </symbol>
     <symbol name='xmlReadMemory'>
       <ref filename='io1.c'/>
@@ -564,7 +585,11 @@
       <ref filename='reader1.c'/>
       <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
+      <ref filename='reader4.c'/>
     </symbol>
+    <symbol name='xmlReaderNewFile'>
+      <ref filename='reader4.c'/>
+    </symbol>
     <symbol name='xmlRealloc'>
       <ref filename='testWriter.c'/>
     </symbol>
@@ -597,6 +622,7 @@
     </symbol>
     <symbol name='xmlTextReaderCurrentDoc'>
       <ref filename='reader3.c'/>
+      <ref filename='reader4.c'/>
     </symbol>
     <symbol name='xmlTextReaderDepth'>
       <ref filename='reader1.c'/>
@@ -624,11 +650,13 @@
       <ref filename='reader1.c'/>
       <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
+      <ref filename='reader4.c'/>
     </symbol>
     <symbol name='xmlTextReaderRead'>
       <ref filename='reader1.c'/>
       <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
+      <ref filename='reader4.c'/>
     </symbol>
     <symbol name='xmlTextWriterEndDocument'>
       <ref filename='testWriter.c'/>
@@ -714,6 +742,7 @@
       <example filename='reader1.c'/>
       <example filename='reader2.c'/>
       <example filename='reader3.c'/>
+      <example filename='reader4.c'/>
     </section>
     <section name='xmlWriter'>
       <example filename='testWriter.c'/>

Deleted: packages/libxml2/branches/unstable/doc/examples/index.html
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/index.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/index.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
-TD {font-family: Verdana,Arial,Helvetica}
-BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
-H1 {font-family: Verdana,Arial,Helvetica}
-H2 {font-family: Verdana,Arial,Helvetica}
-H3 {font-family: Verdana,Arial,Helvetica}
-A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Libxml2 set of examples</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Libxml2 set of examples</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Examples Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="#InputOutput">InputOutput Examples</a></li><li><a href="#Parsing">Parsing Examples</a></li><li><a href="#Tree">Tree Examples</a></li><li><a href="#XPath">XPath Examples</a></li><li><a href="#xmlReader">xmlReader Examples</a></li><li><a href="#xmlWriter">xmlWriter Examples</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p> The examples are stored per section depending on the main focus
-    of the example:</p><ul><li><p><a href="#xmlWriter">xmlWriter</a> :</p><ul><li><a href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li></ul></li><li><p><a href="#InputOutput">InputOutput</a> :</p><ul><li><a href="#io1.c">io1.c</a>: Example of custom Input/Output</li><li><a href="#io2.c">io2.c</a>: Output to char buffer</li></ul></li><li><p><a href="#Tree">Tree</a> :</p><ul><li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</li><li><a href="#tree2.c">tree2.c</a>: Creates a tree</li></ul></li><li><p><a href="#XPath">XPath</a> :</p><ul><li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</li><li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</li></ul></li><li><p><a href="#xmlReader">xmlReader</a> :</p><ul><li><a href="#reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</li><li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</li><li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</li></ul></li><li><p><a href="#Parsing">Parsing</a> :</p><ul><li><a href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li><li><a href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li><li><a href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li><li><a href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</li></ul></li></ul><p> Getting the compilation options and libraries dependancies needed
-to generate binaries from the examples is best done on Linux/Unix by using
-the xml2-config script which should have been installed as part of <i>make
-install</i> step or when installing the libxml2 development package:</p><pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre><h2><a name="InputOutput" id="InputOutput"></a>InputOutput Examples</h2><h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom Input/Output</h3><p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a href="../html/libxml-xinclude.html">&lt;libxml/xinclude.h&gt;</a></li><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-xmlIO.html">&lt;libxml/xmlIO.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 105: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 117: Function <a href="../html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li><li> line 124: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 134: Function <a href="../html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li><li> line 143: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li></ul><p>Usage:</p><p>io1</p><p>Author: Daniel Veillard</p><h3><a name="io2.c" href="io2.c" id="io2.c">io2.c</a>: Output to char buffer</h3><p>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 19: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 27: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 28: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li><li> line 30: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 36: Function <a href="../html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li></ul><p>Usage:</p><p>io2</p><p>Author: John Fleck</p><h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2><h3><a name="parse1.c" href="parse1.c" id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3><p>Demonstrate the use of xmlReadFile() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 24: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 26: Function <a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 31: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 45: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 50: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 54: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse1 test1.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse2.c" href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</h3><p>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 25: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 26: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 29: Function <a href="../html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from parser.h</li><li> line 35: Function <a href="../html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> from parser.h</li><li> line 44: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 47: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 61: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 66: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 70: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>parse2 test2.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse3.c" href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</h3><p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 33: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li></ul><p>Usage:</p><p>parse3</p><p>Author: Daniel Veillard</p><h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</h3><p>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and and xmlFreeDoc() to free the resulting tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 45: Type <a href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 67: Function <a href="../html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li><li> line 86: Function <a href="../html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li></ul><p>Usage:</p><p>parse4 test3.xml</p><p>Author: Daniel Veillard</p><h2><a name="Tree" id="Tree"></a>Tree Examples</h2><h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: Navigates a tree to print element names</h3><p>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 67: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 67: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from tree.h</li><li> line 79: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 85: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li></ul><p>Usage:</p><p>tree1 filename_or_URL</p><p>Author: Dodji Seketeli</p><h3><a name="tree2.c" href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3><p>Shows how to create document, nodes and dump it to stdout or file.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 34: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 39: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 41: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 46: Function <a href="../html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li><li> line 74: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 75: Function <a href="../html/libxml-tree.html#xmlNewText">xmlNewText</a> from tree.h</li><li> line 78: Function <a href="../html/libxml-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li><li> line 88: Function <a href="../html/libxml-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li><li> line 89: Function <a href="../html/libxml-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li><li> line 96: Function <a href="../html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li><li> line 99: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 105: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 110: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>tree2 &lt;filename&gt;  -Default output: stdout</p><p>Author: Lucas Brasilino &lt;brasilino at recife.pe.gov.br&gt;</p><h2><a name="XPath" id="XPath"></a>XPath Examples</h2><h3><a name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</h3><p>Shows how to evaluate XPath expression and register known namespaces in XPath context.</p><p>Includes:</p><ul><li><a href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 39: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 43: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 49: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 54: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li><li> line 86: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 101: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 117: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 129: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 130: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 131: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 156: Function <a href="../html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li><li> line 180: Function <a href="../html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li><li> line 186: Function <a href="../html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from xpathInternals.h</li><li> line 206: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 218: Type <a href="../html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a> from tree.h</li></ul><p>Usage:</p><p>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</p><p>Author: Aleksey Sanin</p><h3><a name="xpath2.c" href="xpath2.c" id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</h3><p>Shows how to make a full round-trip from a load/edit/save</p><p>Includes:</p><ul><li><a href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 40: Function <a href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 86: Type <a href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 87: Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 94: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 101: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li><li> line 109: Function <a href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 122: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li><li> line 123: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 126: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 161: Function <a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li></ul><p>Usage:</p><p>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</p><p>Author: Aleksey Sanin and Daniel Veillard</p><h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2><h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 29: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 33: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 36: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 39: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 44: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 59: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 62: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 67: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 69: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 98: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li></ul><p>Usage:</p><p>reader1 &lt;filename&gt;</p><p>Author: Daniel Veillard</p><h3><a name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 30: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li><li> line 34: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 38: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li><li> line 40: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li><li> line 41: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li><li> line 45: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li><li> line 60: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 68: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 76: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 81: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li><li> line 84: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader2 &lt;valid_xml_filename&gt;</p><p>Author: Daniel Veillard</p><h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</h3><p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 31: Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 37: Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 42: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from xmlreader.h</li><li> line 51: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 61: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li><li> line 65: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 76: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 95: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li></ul><p>Usage:</p><p>reader3</p><p>Author: Daniel Veillard</p><h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2><h3><a name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</h3><p>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</p><p>Includes:</p><ul><li><a href="../html/libxml-encoding.html">&lt;libxml/encoding.h&gt;</a></li><li><a href="../html/libxml-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 40: Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 54: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 58: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li><li> line 76: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li><li> line 341: Type <a href="../html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li><li> line 347: Function <a href="../html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li><li> line 355: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li><li> line 613: Function <a href="../html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li><li> line 632: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li><li> line 878: Type <a href="../html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li><li> line 879: Type <a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 880: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 885: Macro <a href="../html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li><li> line 885: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 894: Function <a href="../html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li><li> line 901: Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 904: Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li><li> line 913: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li><li> line 925: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li><li> line 949: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li><li> line 959: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li><li> line 1073: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li><li> line 1096: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li><li> line 1103: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li><li> line 1111: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li><li> line 1121: Function <a href="../html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li><li> line 1127: Function <a href="../html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li><li> line 1129: Function <a href="../html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li><li> line 1131: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 1151: Type <a href="../html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li><li> line 1156: Function <a href="../html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li></ul><p>Usage:</p><p>testWriter</p><p>Author: Alfred Mickautsch</p><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

Copied: packages/libxml2/branches/unstable/doc/examples/index.html (from rev 351, packages/libxml2/tags/2.6.16-2/doc/examples/index.html)

Modified: packages/libxml2/branches/unstable/doc/examples/index.py
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/index.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/index.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -9,7 +9,7 @@
     import libxml2
 except:
     sys.exit(1)
-sys.path.append("..")
+sys.path.insert(0, "..")
 from apibuild import CParser, escape
 
 examples = []

Modified: packages/libxml2/branches/unstable/doc/examples/reader3.c
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/reader3.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/reader3.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -15,7 +15,7 @@
 #include <stdio.h>
 #include <libxml/xmlreader.h>
 
-#ifdef LIBXML_READER_ENABLED
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED)
 
 /**
  * streamFile:
@@ -113,7 +113,7 @@
 
 #else
 int main(void) {
-    fprintf(stderr, "XInclude support not compiled in\n");
+    fprintf(stderr, "Reader or Pattern support not compiled in\n");
     exit(1);
 }
 #endif

Copied: packages/libxml2/branches/unstable/doc/examples/reader4.c (from rev 351, packages/libxml2/tags/2.6.16-2/doc/examples/reader4.c)

Copied: packages/libxml2/branches/unstable/doc/examples/reader4.res (from rev 351, packages/libxml2/tags/2.6.16-2/doc/examples/reader4.res)

Modified: packages/libxml2/branches/unstable/doc/examples/testWriter.c
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/testWriter.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/testWriter.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -1168,8 +1168,8 @@
     if (out != 0) {
         temp = size - 1;
         ret = handler->input(out, &out_size, (const xmlChar *) in, &temp);
-        if (ret || temp - size + 1) {
-            if (ret) {
+        if ((ret < 0) || (temp - size + 1)) {
+            if (ret < 0) {
                 printf("ConvertInput: conversion wasn't successful.\n");
             } else {
                 printf

Modified: packages/libxml2/branches/unstable/doc/examples/tree1.c
===================================================================
--- packages/libxml2/branches/unstable/doc/examples/tree1.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/examples/tree1.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -64,10 +64,10 @@
     LIBXML_TEST_VERSION
 
     /*parse the file and get the DOM */
-    doc = xmlParseFile(argv[1]);
+    doc = xmlReadFile(argv[1], NULL, 0);
 
     if (doc == NULL) {
-        printf("error: could not parse file file.xml\n");
+        printf("error: could not parse file %s\n", argv[1]);
     }
 
     /*Get the root element node */

Modified: packages/libxml2/branches/unstable/doc/help.html
===================================================================
--- packages/libxml2/branches/unstable/doc/help.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/help.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>How to help</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>How to help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>You can help the project in various ways, the best thing to do first is to
+</style><title>How to help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>How to help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>You can help the project in various ways, the best thing to do first is to
 subscribe to the mailing-list as explained before, check the <a href="http://mail.gnome.org/archives/xml/">archives </a>and the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Gnome bug
 database</a>:</p><ol><li>Provide patches when you find problems.</li>
   <li>Provide the diffs when you port libxml2 to a new platform. They may not

Modified: packages/libxml2/branches/unstable/doc/html/book1.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/book1.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/book1.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,4 +10,4 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

Modified: packages/libxml2/branches/unstable/doc/html/index.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/index.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/index.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,4 +10,4 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-DOCBparser.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-DOCBparser.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-DOCBparser.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module DOCBparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module DOCBparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="n" href="libxml-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInput">xmlParserInput</a> <a name="docbParserInput" id="docbParserInput">docbParserInput</a>
+    </style><title>Module DOCBparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module DOCBparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="n" href="libxml-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>interface for a DocBook SGML non-verifying parser This code is DEPRECATED, and should not be used anymore. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInput">xmlParserInput</a> <a name="docbParserInput" id="docbParserInput">docbParserInput</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a name="docbParserInputPtr" id="docbParserInputPtr">docbParserInputPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a name="docbParserCtxt" id="docbParserCtxt">docbParserCtxt</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a name="docbParserCtxtPtr" id="docbParserCtxtPtr">docbParserCtxtPtr</a>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-HTMLparser.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-HTMLparser.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-HTMLparser.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module HTMLparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-DOCBparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-DOCBparser.html">DOCBparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="n" href="libxml-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a></pre><pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a></pre><pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a></pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a name="htmlDocPtr" id="htmlDocPtr">htmlDocPtr</a>
+    </style><title>Module HTMLparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-DOCBparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-DOCBparser.html">DOCBparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="n" href="libxml-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a></pre><pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a></pre><pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a></pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a name="htmlDocPtr" id="htmlDocPtr">htmlDocPtr</a>
 </pre><pre class="programlisting">Structure <a href="#htmlElemDesc">htmlElemDesc</a><br />struct _htmlElemDesc
 </pre><pre class="programlisting">Typedef <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a name="htmlElemDescPtr" id="htmlElemDescPtr">htmlElemDescPtr</a>
 </pre><pre class="programlisting">Structure <a href="#htmlEntityDesc">htmlEntityDesc</a><br />struct _htmlEntityDesc

Modified: packages/libxml2/branches/unstable/doc/html/libxml-HTMLtree.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-HTMLtree.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-HTMLtree.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module HTMLtree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLtree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="n" href="libxml-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements a few function needed to process tree in an HTML specific way. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a></pre><pre class="programlisting">void	<a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
+    </style><title>Module HTMLtree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLtree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLparser.html">HTMLparser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="n" href="libxml-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implements a few function needed to process tree in an HTML specific way. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a></pre><pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a></pre><pre class="programlisting">void	<a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)</pre>
 <pre class="programlisting">void	<a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)</pre>
 <pre class="programlisting">int	<a href="#htmlDocDump">htmlDocDump</a>			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre>
 <pre class="programlisting">void	<a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-SAX.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-SAX.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-SAX.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module SAX from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="n" href="libxml-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">void	<a href="#cdataBlock">cdataBlock</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)</pre>
+    </style><title>Module SAX from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-HTMLtree.html">HTMLtree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="n" href="libxml-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2><p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p><div class="deprecated"><h2>Table of Contents</h2><pre class="programlisting">void	<a href="#cdataBlock">cdataBlock</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 int len)</pre>
 <pre class="programlisting">void	<a href="#comment">comment</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
 <pre class="programlisting">int	<a href="#checkNamespace">checkNamespace</a>			(void * ctx, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespace)</pre>
 <pre class="programlisting">void	<a href="#startElement">startElement</a>			(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-SAX2.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-SAX2.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-SAX2.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module SAX2 from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX2 from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="n" href="libxml-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>those are the default SAX2 interfaces used by the library when building DOM tree. </p><h2>Table of Contents</h2><pre class="programlisting">void	<a href="#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a>	(void)</pre>
+    </style><title>Module SAX2 from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module SAX2 from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX.html">SAX</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="n" href="libxml-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>those are the default SAX2 interfaces used by the library when building DOM tree. </p><h2>Table of Contents</h2><pre class="programlisting">void	<a href="#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a>	(void)</pre>
 <pre class="programlisting">void	<a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>	(void)</pre>
 <pre class="programlisting">void	<a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a>	(void)</pre>
 <pre class="programlisting">void	<a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>		(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />					 int type, <br />					 int def, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />					 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-c14n.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-c14n.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-c14n.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module c14n from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module c14n from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the c14n modules provides a  "Canonical XML" implementation</p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int exclusive, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)</pre>
+    </style><title>Module c14n from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module c14n from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-SAX2.html">SAX2</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the c14n modules provides a  "Canonical XML" implementation</p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int exclusive, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)</pre>
 <pre class="programlisting">int	<a href="#xmlC14NDocSave">xmlC14NDocSave</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int exclusive, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 const char * filename, <br />					 int compression)</pre>
 <pre class="programlisting">int	<a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br />					 int exclusive, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)</pre>
 <pre class="programlisting">int	<a href="#xmlC14NExecute">xmlC14NExecute</a>			(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br />					 void * user_data, <br />					 int exclusive, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br />					 int with_comments, <br />					 <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-catalog.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-catalog.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-catalog.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module catalog from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module catalog from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="n" href="libxml-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the catalog module implements the support for XML Catalogs and SGML catalogs </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a></pre><pre class="programlisting">Structure <a href="#xmlCatalog">xmlCatalog</a><br />struct _xmlCatalog
+    </style><title>Module catalog from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module catalog from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-c14n.html">c14n</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="n" href="libxml-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the catalog module implements the support for XML Catalogs and SGML catalogs </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a></pre><pre class="programlisting">Structure <a href="#xmlCatalog">xmlCatalog</a><br />struct _xmlCatalog
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a>
 </pre><pre class="programlisting">Enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-chvalid.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-chvalid.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-chvalid.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module chvalid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module chvalid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a></pre><pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a></pre><pre class="programlisting">Structure <a href="#xmlChLRange">xmlChLRange</a><br />struct _xmlChLRange
+    </style><title>Module chvalid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module chvalid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-catalog.html">catalog</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a></pre><pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a></pre><pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a></pre><pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a></pre><pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a></pre><pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a></pre><pre class="programlisting">Structure <a href="#xmlChLRange">xmlChLRange</a><br />struct _xmlChLRange
 </pre><pre class="programlisting">Typedef <a href="libxml-chvalid.html#xmlChLRange">xmlChLRange</a> * <a name="xmlChLRangePtr" id="xmlChLRangePtr">xmlChLRangePtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlChRangeGroup">xmlChRangeGroup</a><br />struct _xmlChRangeGroup
 </pre><pre class="programlisting">Typedef <a href="libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * <a name="xmlChRangeGroupPtr" id="xmlChRangeGroupPtr">xmlChRangeGroupPtr</a>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-debugXML.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-debugXML.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-debugXML.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,9 +10,10 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module debugXML from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module debugXML from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-dict.html">dict</a></th><td><a accesskey="n" href="libxml-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlShellCtxt">xmlShellCtxt</a><br />struct _xmlShellCtxt
+    </style><title>Module debugXML from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module debugXML from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-chvalid.html">chvalid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-dict.html">dict</a></th><td><a accesskey="n" href="libxml-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlShellCtxt">xmlShellCtxt</a><br />struct _xmlShellCtxt
 </pre><pre class="programlisting">Typedef <a href="libxml-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a name="xmlShellCtxtPtr" id="xmlShellCtxtPtr">xmlShellCtxtPtr</a>
 </pre><pre class="programlisting">const char *	<a href="#xmlBoolToText">xmlBoolToText</a>		(int boolval)</pre>
+<pre class="programlisting">int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
 <pre class="programlisting">void	<a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)</pre>
 <pre class="programlisting">void	<a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)</pre>
 <pre class="programlisting">void	<a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>			(FILE * output, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)</pre>
@@ -56,7 +57,9 @@
     <a href="libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>	input
 }</pre><h3><a name="xmlBoolToText" id="xmlBoolToText"></a>Function: xmlBoolToText</h3><pre class="programlisting">const char *	xmlBoolToText		(int boolval)<br />
 </pre><p>Convenient way to turn bool into text</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>boolval</tt></i>:</span></td><td>a bool to turn into text</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to either "True" or "False"</td></tr></tbody></table></div><h3><a name="xmlDebugDumpAttr" id="xmlDebugDumpAttr"></a>Function: xmlDebugDumpAttr</h3><pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>boolval</tt></i>:</span></td><td>a bool to turn into text</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to either "True" or "False"</td></tr></tbody></table></div><h3><a name="xmlDebugCheckDocument" id="xmlDebugCheckDocument"></a>Function: xmlDebugCheckDocument</h3><pre class="programlisting">int	xmlDebugCheckDocument		(FILE * output, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
+</pre><p>Check the document for potential content problems, and output the errors to @output</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of errors found</td></tr></tbody></table></div><h3><a name="xmlDebugDumpAttr" id="xmlDebugDumpAttr"></a>Function: xmlDebugDumpAttr</h3><pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)<br />
 </pre><p>Dumps debug information for the <a href="libxml-SAX.html#attribute">attribute</a></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation level.</td></tr></tbody></table></div><h3><a name="xmlDebugDumpAttrList" id="xmlDebugDumpAttrList"></a>Function: xmlDebugDumpAttrList</h3><pre class="programlisting">void	xmlDebugDumpAttrList		(FILE * output, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 int depth)<br />
 </pre><p>Dumps debug information for the <a href="libxml-SAX.html#attribute">attribute</a> list</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-dict.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-dict.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-dict.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module dict from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module dict from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="n" href="libxml-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlDict">xmlDict</a><br />struct _xmlDict
+    </style><title>Module dict from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module dict from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-debugXML.html">debugXML</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="n" href="libxml-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlDict">xmlDict</a><br />struct _xmlDict
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-dict.html#xmlDict">xmlDict</a> * <a name="xmlDictPtr" id="xmlDictPtr">xmlDictPtr</a>
 </pre><pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreate">xmlDictCreate</a>		(void)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-encoding.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-encoding.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-encoding.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module encoding from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module encoding from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-dict.html">dict</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-entities.html">entities</a></th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlCharEncoding">xmlCharEncoding</a>
+    </style><title>Module encoding from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module encoding from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-dict.html">dict</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-entities.html">entities</a></th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlCharEncoding">xmlCharEncoding</a>
 </pre><pre class="programlisting">Structure <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a><br />struct _xmlCharEncodingHandler
 </pre><pre class="programlisting">Typedef <a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a name="xmlCharEncodingHandlerPtr" id="xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>
 </pre><pre class="programlisting">int	<a href="#UTF8Toisolat1">UTF8Toisolat1</a>			(unsigned char * out, <br />					 int * outlen, <br />					 const unsigned char * in, <br />					 int * inlen)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-entities.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-entities.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-entities.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module entities from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module entities from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-globals.html">globals</a></th><td><a accesskey="n" href="libxml-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module provides some of the entity API needed for the parser and applications. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlEntitiesTable">xmlEntitiesTable</a><br />struct _xmlHashTable
+    </style><title>Module entities from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module entities from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-encoding.html">encoding</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-globals.html">globals</a></th><td><a accesskey="n" href="libxml-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module provides some of the entity API needed for the parser and applications. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlEntitiesTable">xmlEntitiesTable</a><br />struct _xmlHashTable
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * <a name="xmlEntitiesTablePtr" id="xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>
 </pre><pre class="programlisting">Enum <a href="#xmlEntityType">xmlEntityType</a>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-globals.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-globals.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-globals.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module globals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module globals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-entities.html">entities</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-hash.html">hash</a></th><td><a accesskey="n" href="libxml-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlGlobalState">xmlGlobalState</a><br />struct _xmlGlobalState
+    </style><title>Module globals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module globals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-entities.html">entities</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-hash.html">hash</a></th><td><a accesskey="n" href="libxml-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlGlobalState">xmlGlobalState</a><br />struct _xmlGlobalState
 </pre><pre class="programlisting">Typedef <a href="libxml-globals.html#xmlGlobalState">xmlGlobalState</a> * <a name="xmlGlobalStatePtr" id="xmlGlobalStatePtr">xmlGlobalStatePtr</a>
 </pre><pre class="programlisting">void	<a href="#xmlCleanupGlobals">xmlCleanupGlobals</a>		(void)</pre>
 <pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a>	(<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-hash.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-hash.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-hash.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module hash from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module hash from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-globals.html">globals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-list.html">list</a></th><td><a accesskey="n" href="libxml-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlHashTable">xmlHashTable</a><br />struct _xmlHashTable
+    </style><title>Module hash from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module hash from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-globals.html">globals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-list.html">list</a></th><td><a accesskey="n" href="libxml-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlHashTable">xmlHashTable</a><br />struct _xmlHashTable
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-hash.html#xmlHashTable">xmlHashTable</a> * <a name="xmlHashTablePtr" id="xmlHashTablePtr">xmlHashTablePtr</a>
 </pre><pre class="programlisting">int	<a href="#xmlHashAddEntry">xmlHashAddEntry</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 void * userdata)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-lib.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-lib.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-lib.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,4 +10,4 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href="libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: string dictionnary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the library</li><li><a href="libxml-hash.html">hash</a>: chained hash tables</li><li><a href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP implementation</li><li><a href="libxml-parser.html">parser</a>: the core parser module</li><li><a href="libxml-parserInternals.html">parserInternals</a>: internals routines exported by the parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a href="libxml-xlink.html">xlink</a>: unfinished XLink detection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Datatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-list.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-list.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-list.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module list from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module list from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-hash.html">hash</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="n" href="libxml-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implement the list support used in various place in the library. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLink">xmlLink</a><br />struct _xmlLink
+    </style><title>Module list from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module list from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-hash.html">hash</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="n" href="libxml-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module implement the list support used in various place in the library. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLink">xmlLink</a><br />struct _xmlLink
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-list.html#xmlLink">xmlLink</a> * <a name="xmlLinkPtr" id="xmlLinkPtr">xmlLinkPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlList">xmlList</a><br />struct _xmlList
@@ -78,7 +78,7 @@
 </pre><p>Duplicate the list</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new copy of the list or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListEmpty" id="xmlListEmpty"></a>Function: xmlListEmpty</h3><pre class="programlisting">int	xmlListEmpty			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
 </pre><p>Is the list empty ?</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the list is empty, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlListEnd" id="xmlListEnd"></a>Function: xmlListEnd</h3><pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the list is empty, 0 if not empty and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlListEnd" id="xmlListEnd"></a>Function: xmlListEnd</h3><pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
 </pre><p>Get the last element in the list</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element in the list, or NULL</td></tr></tbody></table></div><h3><a name="xmlListFront" id="xmlListFront"></a>Function: xmlListFront</h3><pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListFront		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
 </pre><p>Get the first element in the list</p>
@@ -110,7 +110,7 @@
 </pre><p>Search the list for an existing value of @data</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListSize" id="xmlListSize"></a>Function: xmlListSize</h3><pre class="programlisting">int	xmlListSize			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
 </pre><p>Get the number of elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the list</td></tr></tbody></table></div><h3><a name="xmlListSort" id="xmlListSort"></a>Function: xmlListSort</h3><pre class="programlisting">void	xmlListSort			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the list or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlListSort" id="xmlListSort"></a>Function: xmlListSort</h3><pre class="programlisting">void	xmlListSort			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
 </pre><p>Sort all the elements in the list</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListWalk" id="xmlListWalk"></a>Function: xmlListWalk</h3><pre class="programlisting">void	xmlListWalk			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 const void * user)<br />
 </pre><p>Walk all the element of the first from first to last and apply the walker function to it</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-nanoftp.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-nanoftp.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-nanoftp.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module nanoftp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanoftp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-list.html">list</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="n" href="libxml-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal FTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">Function type: <a href="#ftpDataCallback">ftpDataCallback</a>
+    </style><title>Module nanoftp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanoftp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-list.html">list</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="n" href="libxml-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal FTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">Function type: <a href="#ftpDataCallback">ftpDataCallback</a>
 void	<a href="#ftpDataCallback">ftpDataCallback</a>			(void * userData, <br />					 const char * data, <br />					 int len)
 </pre>
 <pre class="programlisting">Function type: <a href="#ftpListCallback">ftpListCallback</a>
@@ -22,15 +22,15 @@
 <pre class="programlisting">int	<a href="#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>	(void * ctx)</pre>
 <pre class="programlisting">int	<a href="#xmlNanoFTPConnect">xmlNanoFTPConnect</a>		(void * ctx)</pre>
 <pre class="programlisting">void *	<a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>		(const char * server, <br />					 int port)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>			(void * ctx, <br />					 char * directory)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>			(void * ctx, <br />					 char * file)</pre>
+<pre class="programlisting">int	<a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>			(void * ctx, <br />					 const char * directory)</pre>
+<pre class="programlisting">int	<a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>			(void * ctx, <br />					 const char * file)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>		(void * ctx)</pre>
 <pre class="programlisting">int	<a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br />					 void * userData, <br />					 const char * filename)</pre>
 <pre class="programlisting">int	<a href="#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>		(void * ctx)</pre>
 <pre class="programlisting">int	<a href="#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>		(void * ctx)</pre>
 <pre class="programlisting">int	<a href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>		(void * ctx, <br />					 const char * filename)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoFTPInit">xmlNanoFTPInit</a>			(void)</pre>
-<pre class="programlisting">int	<a href="#xmlNanoFTPList">xmlNanoFTPList</a>			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br />					 void * userData, <br />					 char * filename)</pre>
+<pre class="programlisting">int	<a href="#xmlNanoFTPList">xmlNanoFTPList</a>			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br />					 void * userData, <br />					 const char * filename)</pre>
 <pre class="programlisting">void *	<a href="#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>		(const char * URL)</pre>
 <pre class="programlisting">void *	<a href="#xmlNanoFTPOpen">xmlNanoFTPOpen</a>			(const char * URL)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>			(const char * host, <br />					 int port, <br />					 const char * user, <br />					 const char * passwd, <br />					 int type)</pre>
@@ -57,9 +57,9 @@
 </pre><p>Tries to open a control connection</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPConnectTo" id="xmlNanoFTPConnectTo"></a>Function: xmlNanoFTPConnectTo</h3><pre class="programlisting">void *	xmlNanoFTPConnectTo		(const char * server, <br />					 int port)<br />
 </pre><p>Tries to open a control connection to the given server/port</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>server</tt></i>:</span></td><td>an FTP server name</td></tr><tr><td><span class="term"><i><tt>port</tt></i>:</span></td><td>the port (use 21 if 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an fTP context or NULL if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCwd" id="xmlNanoFTPCwd"></a>Function: xmlNanoFTPCwd</h3><pre class="programlisting">int	xmlNanoFTPCwd			(void * ctx, <br />					 char * directory)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>server</tt></i>:</span></td><td>an FTP server name</td></tr><tr><td><span class="term"><i><tt>port</tt></i>:</span></td><td>the port (use 21 if 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an fTP context or NULL if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCwd" id="xmlNanoFTPCwd"></a>Function: xmlNanoFTPCwd</h3><pre class="programlisting">int	xmlNanoFTPCwd			(void * ctx, <br />					 const char * directory)<br />
 </pre><p>Tries to change the remote directory</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 1 if CWD worked, 0 if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPDele" id="xmlNanoFTPDele"></a>Function: xmlNanoFTPDele</h3><pre class="programlisting">int	xmlNanoFTPDele			(void * ctx, <br />					 char * file)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 1 if CWD worked, 0 if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPDele" id="xmlNanoFTPDele"></a>Function: xmlNanoFTPDele</h3><pre class="programlisting">int	xmlNanoFTPDele			(void * ctx, <br />					 const char * file)<br />
 </pre><p>Tries to delete an item (file or directory) from server</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 1 if DELE worked, 0 if it failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPFreeCtxt" id="xmlNanoFTPFreeCtxt"></a>Function: xmlNanoFTPFreeCtxt</h3><pre class="programlisting">void	xmlNanoFTPFreeCtxt		(void * ctx)<br />
 </pre><p>Frees the context after closing the connection.</p>
@@ -73,7 +73,7 @@
 </pre><p>Initiate fetch of the given file from the server.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve (or NULL if path is in context).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the socket for the data connection, or &lt;0 in case of error</td></tr></tbody></table></div><h3><a name="xmlNanoFTPInit" id="xmlNanoFTPInit"></a>Function: xmlNanoFTPInit</h3><pre class="programlisting">void	xmlNanoFTPInit			(void)<br />
 </pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the hostname</p>
-<h3><a name="xmlNanoFTPList" id="xmlNanoFTPList"></a>Function: xmlNanoFTPList</h3><pre class="programlisting">int	xmlNanoFTPList			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br />					 void * userData, <br />					 char * filename)<br />
+<h3><a name="xmlNanoFTPList" id="xmlNanoFTPList"></a>Function: xmlNanoFTPList</h3><pre class="programlisting">int	xmlNanoFTPList			(void * ctx, <br />					 <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br />					 void * userData, <br />					 const char * filename)<br />
 </pre><p>Do a listing on the server. All files info are passed back in the callbacks.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPNewCtxt" id="xmlNanoFTPNewCtxt"></a>Function: xmlNanoFTPNewCtxt</h3><pre class="programlisting">void *	xmlNanoFTPNewCtxt		(const char * URL)<br />
 </pre><p>Allocate and initialize a new FTP context.</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-nanohttp.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-nanohttp.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-nanohttp.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,9 +10,10 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module nanohttp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanohttp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parser.html">parser</a></th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal HTTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx)</pre>
+    </style><title>Module nanohttp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module nanohttp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanoftp.html">nanoftp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parser.html">parser</a></th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>minimal HTTP implementation allowing to fetch resources like external subset. </p><h2>Table of Contents</h2><pre class="programlisting">const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a>		(void)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>		(void * ctx)</pre>
+<pre class="programlisting">int	<a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>	(void * ctx)</pre>
 <pre class="programlisting">const char *	<a href="#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>	(void * ctx)</pre>
 <pre class="programlisting">int	<a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>		(const char * URL, <br />					 const char * filename, <br />					 char ** contentType)</pre>
 <pre class="programlisting">void	<a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>			(void)</pre>
@@ -33,7 +34,9 @@
 </pre><p>Cleanup the HTTP protocol layer.</p>
 <h3><a name="xmlNanoHTTPClose" id="xmlNanoHTTPClose"></a>Function: xmlNanoHTTPClose</h3><pre class="programlisting">void	xmlNanoHTTPClose		(void * ctx)<br />
 </pre><p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPEncoding" id="xmlNanoHTTPEncoding"></a>Function: xmlNanoHTTPEncoding</h3><pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPContentLength" id="xmlNanoHTTPContentLength"></a>Function: xmlNanoHTTPContentLength</h3><pre class="programlisting">int	xmlNanoHTTPContentLength	(void * ctx)<br />
+</pre><p>Provides the specified content length from the HTTP header.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPEncoding" id="xmlNanoHTTPEncoding"></a>Function: xmlNanoHTTPEncoding</h3><pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br />
 </pre><p>Provides the specified encoding if specified in the HTTP headers.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified encoding or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPFetch" id="xmlNanoHTTPFetch"></a>Function: xmlNanoHTTPFetch</h3><pre class="programlisting">int	xmlNanoHTTPFetch		(const char * URL, <br />					 const char * filename, <br />					 char ** contentType)<br />
 </pre><p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-parser.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-parser.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-parser.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module parser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="n" href="libxml-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces, constants and types related to the XML parser </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a></pre><pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a></pre><pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a></pre><pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a></pre><pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a></pre><pre class="programlisting">Enum <a href="#xmlParserInputState">xmlParserInputState</a>
+    </style><title>Module parser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-nanohttp.html">nanohttp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="n" href="libxml-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Interfaces, constants and types related to the XML parser </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a></pre><pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a></pre><pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a></pre><pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a></pre><pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a></pre><pre class="programlisting">Enum <a href="#xmlParserInputState">xmlParserInputState</a>
 </pre><pre class="programlisting">Enum <a href="#xmlParserMode">xmlParserMode</a>
 </pre><pre class="programlisting">Structure <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a><br />struct _xmlParserNodeInfo
 </pre><pre class="programlisting">Typedef <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * <a name="xmlParserNodeInfoPtr" id="xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>
@@ -151,6 +151,7 @@
 <pre class="programlisting">int	<a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#xmlParseExternalEntity">xmlParseExternalEntity</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data, <br />					 int depth, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseFile">xmlParseFile</a>		(const char * filename)</pre>
+<pre class="programlisting"><a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const char * data, <br />					 int datalen, <br />					 int options, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseMemory">xmlParseMemory</a>		(const char * buffer, <br />					 int size)</pre>
 <pre class="programlisting">void	<a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)</pre>
 <pre class="programlisting">const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	<a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>	(const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br />							 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
@@ -243,6 +244,7 @@
     <a name="XML_PARSE_NODICT" id="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 : Do not reuse the context dictionnary
     <a name="XML_PARSE_NSCLEAN" id="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 : remove redundant namespaces declarations
     <a name="XML_PARSE_NOCDATA" id="XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> = 16384 : merge CDATA as text nodes
+    <a name="XML_PARSE_NOXINCNODE" id="XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a> = 32768 : do not generate XINCLUDE START/END nodes
 }
 </pre><h3><a name="xmlSAXHandlerV1" id="xmlSAXHandlerV1">Structure xmlSAXHandlerV1</a></h3><pre class="programlisting">Structure xmlSAXHandlerV1<br />struct _xmlSAXHandlerV1 {
     <a href="libxml-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
@@ -444,7 +446,9 @@
 </pre><p>Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler bloc (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseFile" id="xmlParseFile"></a>Function: xmlParseFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseFile		(const char * filename)<br />
 </pre><p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree if the file was wellformed, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlParseMemory" id="xmlParseMemory"></a>Function: xmlParseMemory</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseMemory		(const char * buffer, <br />					 int size)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree if the file was wellformed, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlParseInNodeContext" id="xmlParseInNodeContext"></a>Function: xmlParseInNodeContext</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const char * data, <br />					 int datalen, <br />					 int options, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
+</pre><p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the context node</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the input string</td></tr><tr><td><span class="term"><i><tt>datalen</tt></i>:</span></td><td>the input string length in bytes</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td><a href="libxml-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseMemory" id="xmlParseMemory"></a>Function: xmlParseMemory</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseMemory		(const char * buffer, <br />					 int size)<br />
 </pre><p>parse an XML in-memory block and build a tree.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="xmlParserAddNodeInfo" id="xmlParserAddNodeInfo"></a>Function: xmlParserAddNodeInfo</h3><pre class="programlisting">void	xmlParserAddNodeInfo		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br />
 </pre><p>Insert node info record into the sorted sequence</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-parserInternals.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-parserInternals.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-parserInternals.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module parserInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parserInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parser.html">parser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="n" href="libxml-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a></pre><pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a></pre><pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a></pre><pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a></pre><pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a></pre><pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a></pre><pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a></pre><pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a></pre><pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a></pre><pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a></pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br />							 const char * encoding)</pre>
+    </style><title>Module parserInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module parserInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parser.html">parser</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="n" href="libxml-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a></pre><pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a></pre><pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a></pre><pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a></pre><pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a></pre><pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a></pre><pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a></pre><pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a></pre><pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a></pre><pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a></pre><pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a></pre><pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a></pre><pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a></pre><pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a></pre><pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a></pre><pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a></pre><pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a></pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br />							 const char * encoding)</pre>
 <pre class="programlisting">void	<a href="#htmlInitAutoClose">htmlInitAutoClose</a>		(void)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#inputPop">inputPop</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#inputPush">inputPush</a>			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)</pre>
@@ -105,6 +105,8 @@
 <pre class="programlisting">int	<a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)</pre>
 <h2>Description</h2>
 <h3><a name="INPUT_CHUNK" id="INPUT_CHUNK"></a>Macro: INPUT_CHUNK</h3><pre>#define INPUT_CHUNK</pre><p>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</p>
+<h3><a name="IS_ASCII_DIGIT" id="IS_ASCII_DIGIT"></a>Macro: IS_ASCII_DIGIT</h3><pre>#define IS_ASCII_DIGIT</pre><p></p>
+<h3><a name="IS_ASCII_LETTER" id="IS_ASCII_LETTER"></a>Macro: IS_ASCII_LETTER</h3><pre>#define IS_ASCII_LETTER</pre><p></p>
 <h3><a name="IS_BASECHAR" id="IS_BASECHAR"></a>Macro: IS_BASECHAR</h3><pre>#define IS_BASECHAR</pre><p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...</p>
 <h3><a name="IS_BLANK" id="IS_BLANK"></a>Macro: IS_BLANK</h3><pre>#define IS_BLANK</pre><p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+</p>
 <h3><a name="IS_BLANK_CH" id="IS_BLANK_CH"></a>Macro: IS_BLANK_CH</h3><pre>#define IS_BLANK_CH</pre><p>Behaviour same as <a href="libxml-parserInternals.html#IS_BLANK">IS_BLANK</a></p>
@@ -248,11 +250,11 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseMisc" id="xmlParseMisc"></a>Function: xmlParseMisc</h3><pre class="programlisting">void	xmlParseMisc			(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseName" id="xmlParseName"></a>Function: xmlParseName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseName		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*</p>
+</pre><p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Name parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlParseNamespace" id="xmlParseNamespace"></a>Function: xmlParseNamespace</h3><pre class="programlisting">void	xmlParseNamespace		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseNmtoken" id="xmlParseNmtoken"></a>Function: xmlParseNmtoken</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (S Nmtoken)*</p>
+</pre><p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the Nmtoken parsed or NULL</td></tr></tbody></table></div><h3><a name="xmlParseNotationDecl" id="xmlParseNotationDecl"></a>Function: xmlParseNotationDecl</h3><pre class="programlisting">void	xmlParseNotationDecl		(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlParseNotationType" id="xmlParseNotationType"></a>Function: xmlParseNotationType</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />

Modified: packages/libxml2/branches/unstable/doc/html/libxml-pattern.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-pattern.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-pattern.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module pattern from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module pattern from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="n" href="libxml-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlPattern">xmlPattern</a><br />struct _xmlPattern
+    </style><title>Module pattern from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module pattern from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-parserInternals.html">parserInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="n" href="libxml-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlPattern">xmlPattern</a><br />struct _xmlPattern
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-pattern.html#xmlPattern">xmlPattern</a> * <a name="xmlPatternPtr" id="xmlPatternPtr">xmlPatternPtr</a>
 </pre><pre class="programlisting">void	<a href="#xmlFreePattern">xmlFreePattern</a>			(<a href="libxml-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-relaxng.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-relaxng.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-relaxng.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module relaxng from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module relaxng from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>implementation of the Relax-NG validation </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlRelaxNG">xmlRelaxNG</a><br />struct _xmlRelaxNG
+    </style><title>Module relaxng from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module relaxng from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-pattern.html">pattern</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>implementation of the Relax-NG validation </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlRelaxNG">xmlRelaxNG</a><br />struct _xmlRelaxNG
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Structure <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a><br />struct _xmlRelaxNGParserCtxt
 The content of this structure is not made public by the API.
@@ -29,6 +29,7 @@
 <pre class="programlisting">void	<a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>		(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
 <pre class="programlisting">int	<a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
+<pre class="programlisting">int	<a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>		(void)</pre>
 <pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
 <pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>	(const char * buffer, <br />							 int size)</pre>
 <pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>	(const char * URL)</pre>
@@ -118,7 +119,9 @@
 </pre><p>Get the callback information used to handle errors for a validation context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGGetValidErrors" id="xmlRelaxNGGetValidErrors"></a>Function: xmlRelaxNGGetValidErrors</h3><pre class="programlisting">int	xmlRelaxNGGetValidErrors	(<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br />					 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
 </pre><p>Get the error and warning callback informations</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewDocParserCtxt" id="xmlRelaxNGNewDocParserCtxt"></a>Function: xmlRelaxNGNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlRelaxNGInitTypes" id="xmlRelaxNGInitTypes"></a>Function: xmlRelaxNGInitTypes</h3><pre class="programlisting">int	xmlRelaxNGInitTypes		(void)<br />
+</pre><p>Initilize the default type libraries.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewDocParserCtxt" id="xmlRelaxNGNewDocParserCtxt"></a>Function: xmlRelaxNGNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewMemParserCtxt" id="xmlRelaxNGNewMemParserCtxt"></a>Function: xmlRelaxNGNewMemParserCtxt</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewMemParserCtxt	(const char * buffer, <br />							 int size)<br />
 </pre><p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-schemasInternals.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-schemasInternals.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-schemasInternals.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
+    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a name="xmlSchemaAnnotPtr" id="xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a><br />struct _xmlSchemaAttribute
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a><br />struct _xmlSchemaAttributeGroup
@@ -50,16 +50,31 @@
 <h3><a name="XML_SCHEMAS_ANY_SKIP" id="XML_SCHEMAS_ANY_SKIP"></a>Macro: XML_SCHEMAS_ANY_SKIP</h3><pre>#define XML_SCHEMAS_ANY_SKIP</pre><p>Skip unknown <a href="libxml-SAX.html#attribute">attribute</a> from validation</p>
 <h3><a name="XML_SCHEMAS_ANY_STRICT" id="XML_SCHEMAS_ANY_STRICT"></a>Macro: XML_SCHEMAS_ANY_STRICT</h3><pre>#define XML_SCHEMAS_ANY_STRICT</pre><p>Used by wildcards. Apply strict validation rules</p>
 <h3><a name="XML_SCHEMAS_ATTRGROUP_GLOBAL" id="XML_SCHEMAS_ATTRGROUP_GLOBAL"></a>Macro: XML_SCHEMAS_ATTRGROUP_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTRGROUP_GLOBAL</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> wildcard has been already builded.</p>
+<h3><a name="XML_SCHEMAS_ATTRGROUP_MARKED" id="XML_SCHEMAS_ATTRGROUP_MARKED"></a>Macro: XML_SCHEMAS_ATTRGROUP_MARKED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_MARKED</pre><p>Marks the attr group as marked; used for circular checks.</p>
 <h3><a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED" id="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED"></a>Macro: XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> wildcard has been already builded.</p>
+<h3><a name="XML_SCHEMAS_ATTR_FIXED" id="XML_SCHEMAS_ATTR_FIXED"></a>Macro: XML_SCHEMAS_ATTR_FIXED</h3><pre>#define XML_SCHEMAS_ATTR_FIXED</pre><p>the <a href="libxml-SAX.html#attribute">attribute</a> has a fixed value</p>
 <h3><a name="XML_SCHEMAS_ATTR_GLOBAL" id="XML_SCHEMAS_ATTR_GLOBAL"></a>Macro: XML_SCHEMAS_ATTR_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTR_GLOBAL</pre><p></p>
+<h3><a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED" id="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</pre><p>this is set when the "type" and "ref" references have been resolved.</p>
 <h3><a name="XML_SCHEMAS_ATTR_NSDEFAULT" id="XML_SCHEMAS_ATTR_NSDEFAULT"></a>Macro: XML_SCHEMAS_ATTR_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ATTR_NSDEFAULT</pre><p>allow elements in no namespace</p>
 <h3><a name="XML_SCHEMAS_ATTR_USE_OPTIONAL" id="XML_SCHEMAS_ATTR_USE_OPTIONAL"></a>Macro: XML_SCHEMAS_ATTR_USE_OPTIONAL</h3><pre>#define XML_SCHEMAS_ATTR_USE_OPTIONAL</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> is optional.</p>
 <h3><a name="XML_SCHEMAS_ATTR_USE_PROHIBITED" id="XML_SCHEMAS_ATTR_USE_PROHIBITED"></a>Macro: XML_SCHEMAS_ATTR_USE_PROHIBITED</h3><pre>#define XML_SCHEMAS_ATTR_USE_PROHIBITED</pre><p>Used by wildcards. The <a href="libxml-SAX.html#attribute">attribute</a> is prohibited.</p>
 <h3><a name="XML_SCHEMAS_ATTR_USE_REQUIRED" id="XML_SCHEMAS_ATTR_USE_REQUIRED"></a>Macro: XML_SCHEMAS_ATTR_USE_REQUIRED</h3><pre>#define XML_SCHEMAS_ATTR_USE_REQUIRED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> is required.</p>
+<h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION" id="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION"></a>Macro: XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3><pre>#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</pre><p>the schema has "extension" in the set of blockDefault.</p>
+<h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION" id="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION"></a>Macro: XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3><pre>#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</pre><p>the schema has "restriction" in the set of blockDefault.</p>
+<h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION" id="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION"></a>Macro: XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3><pre>#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</pre><p>the schema has "substitution" in the set of blockDefault.</p>
 <h3><a name="XML_SCHEMAS_ELEM_ABSTRACT" id="XML_SCHEMAS_ELEM_ABSTRACT"></a>Macro: XML_SCHEMAS_ELEM_ABSTRACT</h3><pre>#define XML_SCHEMAS_ELEM_ABSTRACT</pre><p>the element is abstract</p>
+<h3><a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT" id="XML_SCHEMAS_ELEM_BLOCK_ABSENT"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_ABSENT</pre><p>the "block" <a href="libxml-SAX.html#attribute">attribute</a> is absent</p>
+<h3><a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION" id="XML_SCHEMAS_ELEM_BLOCK_EXTENSION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION</pre><p>disallowed substitutions are absent</p>
+<h3><a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION" id="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</pre><p>disallowed substitutions: "restriction"</p>
+<h3><a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION" id="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION"></a>Macro: XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3><pre>#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</pre><p>disallowed substitutions: "substituion"</p>
+<h3><a name="XML_SCHEMAS_ELEM_CIRCULAR" id="XML_SCHEMAS_ELEM_CIRCULAR"></a>Macro: XML_SCHEMAS_ELEM_CIRCULAR</h3><pre>#define XML_SCHEMAS_ELEM_CIRCULAR</pre><p></p>
 <h3><a name="XML_SCHEMAS_ELEM_DEFAULT" id="XML_SCHEMAS_ELEM_DEFAULT"></a>Macro: XML_SCHEMAS_ELEM_DEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_DEFAULT</pre><p>the element has a default value</p>
+<h3><a name="XML_SCHEMAS_ELEM_FINAL_ABSENT" id="XML_SCHEMAS_ELEM_FINAL_ABSENT"></a>Macro: XML_SCHEMAS_ELEM_FINAL_ABSENT</h3><pre>#define XML_SCHEMAS_ELEM_FINAL_ABSENT</pre><p>substitution group exclusions are absent</p>
+<h3><a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION" id="XML_SCHEMAS_ELEM_FINAL_EXTENSION"></a>Macro: XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3><pre>#define XML_SCHEMAS_ELEM_FINAL_EXTENSION</pre><p></p>
+<h3><a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION" id="XML_SCHEMAS_ELEM_FINAL_RESTRICTION"></a>Macro: XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3><pre>#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION</pre><p></p>
 <h3><a name="XML_SCHEMAS_ELEM_FIXED" id="XML_SCHEMAS_ELEM_FIXED"></a>Macro: XML_SCHEMAS_ELEM_FIXED</h3><pre>#define XML_SCHEMAS_ELEM_FIXED</pre><p>the element has a fixed value</p>
 <h3><a name="XML_SCHEMAS_ELEM_GLOBAL" id="XML_SCHEMAS_ELEM_GLOBAL"></a>Macro: XML_SCHEMAS_ELEM_GLOBAL</h3><pre>#define XML_SCHEMAS_ELEM_GLOBAL</pre><p>the element is global</p>
+<h3><a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED" id="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED"></a>Macro: XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3><pre>#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</pre><p></p>
 <h3><a name="XML_SCHEMAS_ELEM_NILLABLE" id="XML_SCHEMAS_ELEM_NILLABLE"></a>Macro: XML_SCHEMAS_ELEM_NILLABLE</h3><pre>#define XML_SCHEMAS_ELEM_NILLABLE</pre><p>the element is nillable</p>
 <h3><a name="XML_SCHEMAS_ELEM_NSDEFAULT" id="XML_SCHEMAS_ELEM_NSDEFAULT"></a>Macro: XML_SCHEMAS_ELEM_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_NSDEFAULT</pre><p>allow elements in no namespace Obsolete, not used anymore.</p>
 <h3><a name="XML_SCHEMAS_ELEM_REF" id="XML_SCHEMAS_ELEM_REF"></a>Macro: XML_SCHEMAS_ELEM_REF</h3><pre>#define XML_SCHEMAS_ELEM_REF</pre><p>the element is a <a href="libxml-SAX.html#reference">reference</a> to a type</p>
@@ -68,12 +83,17 @@
 <h3><a name="XML_SCHEMAS_FACET_PRESERVE" id="XML_SCHEMAS_FACET_PRESERVE"></a>Macro: XML_SCHEMAS_FACET_PRESERVE</h3><pre>#define XML_SCHEMAS_FACET_PRESERVE</pre><p>preserve the type of the facet</p>
 <h3><a name="XML_SCHEMAS_FACET_REPLACE" id="XML_SCHEMAS_FACET_REPLACE"></a>Macro: XML_SCHEMAS_FACET_REPLACE</h3><pre>#define XML_SCHEMAS_FACET_REPLACE</pre><p>replace the type of the facet</p>
 <h3><a name="XML_SCHEMAS_FACET_UNKNOWN" id="XML_SCHEMAS_FACET_UNKNOWN"></a>Macro: XML_SCHEMAS_FACET_UNKNOWN</h3><pre>#define XML_SCHEMAS_FACET_UNKNOWN</pre><p>unknown facet handling</p>
-<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION" id="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</pre><p>the shema has "extension" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST" id="XML_SCHEMAS_FINAL_DEFAULT_LIST"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_LIST</pre><p>the shema has "list" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION" id="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</pre><p>the shema has "restriction" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_UNION" id="XML_SCHEMAS_FINAL_DEFAULT_UNION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_UNION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_UNION</pre><p>the shema has "union" in the set of finalDefault.</p>
-<h3><a name="XML_SCHEMAS_QUALIF_ATTR" id="XML_SCHEMAS_QUALIF_ATTR"></a>Macro: XML_SCHEMAS_QUALIF_ATTR</h3><pre>#define XML_SCHEMAS_QUALIF_ATTR</pre><p>the shemas requires qualified attributes</p>
-<h3><a name="XML_SCHEMAS_QUALIF_ELEM" id="XML_SCHEMAS_QUALIF_ELEM"></a>Macro: XML_SCHEMAS_QUALIF_ELEM</h3><pre>#define XML_SCHEMAS_QUALIF_ELEM</pre><p>the shemas requires qualified elements</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION" id="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</pre><p>the schema has "extension" in the set of finalDefault.</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST" id="XML_SCHEMAS_FINAL_DEFAULT_LIST"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_LIST</pre><p>the cshema has "list" in the set of finalDefault.</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION" id="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</pre><p>the schema has "restriction" in the set of finalDefault.</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_UNION" id="XML_SCHEMAS_FINAL_DEFAULT_UNION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_UNION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_UNION</pre><p>the schema has "union" in the set of finalDefault.</p>
+<h3><a name="XML_SCHEMAS_INCLUDING_CONVERT_NS" id="XML_SCHEMAS_INCLUDING_CONVERT_NS"></a>Macro: XML_SCHEMAS_INCLUDING_CONVERT_NS</h3><pre>#define XML_SCHEMAS_INCLUDING_CONVERT_NS</pre><p>the schema is currently including an other schema with no target namespace.</p>
+<h3><a name="XML_SCHEMAS_QUALIF_ATTR" id="XML_SCHEMAS_QUALIF_ATTR"></a>Macro: XML_SCHEMAS_QUALIF_ATTR</h3><pre>#define XML_SCHEMAS_QUALIF_ATTR</pre><p>the schema requires qualified attributes</p>
+<h3><a name="XML_SCHEMAS_QUALIF_ELEM" id="XML_SCHEMAS_QUALIF_ELEM"></a>Macro: XML_SCHEMAS_QUALIF_ELEM</h3><pre>#define XML_SCHEMAS_QUALIF_ELEM</pre><p>the schema requires qualified elements</p>
+<h3><a name="XML_SCHEMAS_TYPE_ABSTRACT" id="XML_SCHEMAS_TYPE_ABSTRACT"></a>Macro: XML_SCHEMAS_TYPE_ABSTRACT</h3><pre>#define XML_SCHEMAS_TYPE_ABSTRACT</pre><p>the simple/complexType is abstract.</p>
+<h3><a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT" id="XML_SCHEMAS_TYPE_BLOCK_DEFAULT"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT</pre><p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
+<h3><a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION" id="XML_SCHEMAS_TYPE_BLOCK_EXTENSION"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION</pre><p>the complexType has a 'block' of "extension".</p>
+<h3><a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION" id="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION"></a>Macro: XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3><pre>#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</pre><p></p>
 <h3><a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE" id="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE"></a>Macro: XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3><pre>#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</pre><p></p>
 <h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION" id="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION"></a>Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3><pre>#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</pre><p>the simple or complex type has a derivation method of "extension".</p>
 <h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION" id="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION"></a>Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3><pre>#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</pre><p>the simple or complex type has a derivation method of "restriction".</p>
@@ -83,6 +103,7 @@
 <h3><a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION" id="XML_SCHEMAS_TYPE_FINAL_RESTRICTION"></a>Macro: XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION</pre><p>the simpleType/complexType has a final of "restriction".</p>
 <h3><a name="XML_SCHEMAS_TYPE_FINAL_UNION" id="XML_SCHEMAS_TYPE_FINAL_UNION"></a>Macro: XML_SCHEMAS_TYPE_FINAL_UNION</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_UNION</pre><p>the simpleType has a final of "union".</p>
 <h3><a name="XML_SCHEMAS_TYPE_GLOBAL" id="XML_SCHEMAS_TYPE_GLOBAL"></a>Macro: XML_SCHEMAS_TYPE_GLOBAL</h3><pre>#define XML_SCHEMAS_TYPE_GLOBAL</pre><p>the type is global</p>
+<h3><a name="XML_SCHEMAS_TYPE_MARKED" id="XML_SCHEMAS_TYPE_MARKED"></a>Macro: XML_SCHEMAS_TYPE_MARKED</h3><pre>#define XML_SCHEMAS_TYPE_MARKED</pre><p></p>
 <h3><a name="XML_SCHEMAS_TYPE_MIXED" id="XML_SCHEMAS_TYPE_MIXED"></a>Macro: XML_SCHEMAS_TYPE_MIXED</h3><pre>#define XML_SCHEMAS_TYPE_MIXED</pre><p>the element content type is mixed</p>
 <h3><a name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD" id="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD"></a>Macro: XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</h3><pre>#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</pre><p>the complexType owns an <a href="libxml-SAX.html#attribute">attribute</a> wildcard, i.e. it can be freed by the complexType</p>
 <h3><a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT" id="XML_SCHEMAS_TYPE_VARIETY_ABSENT"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_ABSENT</pre><p>the simpleType has a variety of "absent".</p>
@@ -96,20 +117,23 @@
 }</pre><h3><a name="xmlSchemaAttribute" id="xmlSchemaAttribute">Structure xmlSchemaAttribute</a></h3><pre class="programlisting">Structure xmlSchemaAttribute<br />struct _xmlSchemaAttribute {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaAttribute *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> if in a group ...
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: name of the declaration or empty if par
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	typeName
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	typeNs
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref	: the local name of the <a href="libxml-SAX.html#attribute">attribute</a> decl. i
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: the ns URI of the <a href="libxml-SAX.html#attribute">attribute</a> decl. if a
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	typeName	: the local name of the type definition
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	typeNs	: the ns URI of the type definition
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base
+    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base	: obsolete, not used
     int	occurs
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	defValue
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
+    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     int	flags
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal
+    <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl
 }</pre><h3><a name="xmlSchemaAttributeGroup" id="xmlSchemaAttributeGroup">Structure xmlSchemaAttributeGroup</a></h3><pre class="programlisting">Structure xmlSchemaAttributeGroup<br />struct _xmlSchemaAttributeGroup {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaAttribute *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> if in a group ...
@@ -122,6 +146,8 @@
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
     int	flags
     <a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>	refItem	: The referenced <a href="libxml-SAX.html#attribute">attribute</a> group
 }</pre><h3><a name="xmlSchemaAttributeLink" id="xmlSchemaAttributeLink">Structure xmlSchemaAttributeLink</a></h3><pre class="programlisting">Structure xmlSchemaAttributeLink<br />struct _xmlSchemaAttributeLink {
     struct _xmlSchemaAttributeLink *	next	: the next <a href="libxml-SAX.html#attribute">attribute</a> link ...
     struct _xmlSchemaAttribute *	attr	: the linked <a href="libxml-SAX.html#attribute">attribute</a>
@@ -140,10 +166,10 @@
     struct _xmlSchemaType *	next	: the next type if in a sequence ...
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref
-    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	ref	: the local name of the element declarati
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: the ns URI of the element declaration i
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
+    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
     <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
     int	minOccurs
@@ -156,9 +182,11 @@
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	substGroupNs
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	scope
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	value
-    struct _xmlSchemaElement *	refDecl
+    struct _xmlSchemaElement *	refDecl	: the element declaration if a particle
     <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
     <a href="libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal
 }</pre><h3><a name="xmlSchemaFacet" id="xmlSchemaFacet">Structure xmlSchemaFacet</a></h3><pre class="programlisting">Structure xmlSchemaFacet<br />struct _xmlSchemaFacet {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
@@ -204,6 +232,9 @@
     int	builtInType
     <a href="libxml-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes
     <a href="libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	contentTypeDef
+    <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
 }</pre><h3><a name="xmlSchemaTypeLink" id="xmlSchemaTypeLink">Structure xmlSchemaTypeLink</a></h3><pre class="programlisting">Structure xmlSchemaTypeLink<br />struct _xmlSchemaTypeLink {
     struct _xmlSchemaTypeLink *	next	: the next type link ...
     <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	type	: the linked typ

Modified: packages/libxml2/branches/unstable/doc/html/libxml-threads.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-threads.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-threads.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module threads from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module threads from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-tree.html">tree</a></th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlMutex">xmlMutex</a><br />struct _xmlMutex
+    </style><title>Module threads from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module threads from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-schemasInternals.html">schemasInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-tree.html">tree</a></th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlMutex">xmlMutex</a><br />struct _xmlMutex
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-threads.html#xmlMutex">xmlMutex</a> * <a name="xmlMutexPtr" id="xmlMutexPtr">xmlMutexPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlRMutex">xmlRMutex</a><br />struct _xmlRMutex

Modified: packages/libxml2/branches/unstable/doc/html/libxml-tree.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-tree.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-tree.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module tree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module tree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-threads.html">threads</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-uri.html">uri</a></th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></pre><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a></pre><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a></pre><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a></pre><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a></pre><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a></pre><pre class="programlisting">Structure <a href="#xmlAttr">xmlAttr</a><br />struct _xmlAttr
+    </style><title>Module tree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module tree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-threads.html">threads</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-uri.html">uri</a></th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></pre><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a></pre><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a></pre><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a></pre><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a></pre><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a></pre><pre class="programlisting">Structure <a href="#xmlAttr">xmlAttr</a><br />struct _xmlAttr
 </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlAttr">xmlAttr</a> * <a name="xmlAttrPtr" id="xmlAttrPtr">xmlAttrPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlAttribute">xmlAttribute</a><br />struct _xmlAttribute
 </pre><pre class="programlisting">Enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a>
@@ -64,10 +64,10 @@
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddSibling">xmlAddSibling</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
 <pre class="programlisting">void	<a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferAdd">xmlBufferAdd</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferAddHead">xmlBufferAddHead</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferCCat">xmlBufferCCat</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * str)</pre>
-<pre class="programlisting">void	<a href="#xmlBufferCat">xmlBufferCat</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
+<pre class="programlisting">int	<a href="#xmlBufferAdd">xmlBufferAdd</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)</pre>
+<pre class="programlisting">int	<a href="#xmlBufferAddHead">xmlBufferAddHead</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)</pre>
+<pre class="programlisting">int	<a href="#xmlBufferCCat">xmlBufferCCat</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * str)</pre>
+<pre class="programlisting">int	<a href="#xmlBufferCat">xmlBufferCat</a>			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferContent">xmlBufferContent</a>	(const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreate">xmlBufferCreate</a>		(void)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateSize">xmlBufferCreateSize</a>	(size_t size)</pre>
@@ -94,6 +94,7 @@
 <pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyPropList">xmlCopyPropList</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCreateIntSubset">xmlCreateIntSubset</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNode">xmlDocCopyNode</a>		(const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int extended)</pre>
+<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
 <pre class="programlisting">int	<a href="#xmlDocDump">xmlDocDump</a>			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)</pre>
 <pre class="programlisting">void	<a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size, <br />					 int format)</pre>
 <pre class="programlisting">void	<a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br />					 int * doc_txt_len, <br />					 const char * txt_encoding, <br />					 int format)</pre>
@@ -135,6 +136,7 @@
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocFragment">xmlNewDocFragment</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNode">xmlNewDocNode</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
+<pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocPI">xmlNewDocPI</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewDocProp">xmlNewDocProp</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocText">xmlNewDocText</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)</pre>
@@ -604,15 +606,15 @@
 </pre><p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new element or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlAttrSerializeTxtContent" id="xmlAttrSerializeTxtContent"></a>Function: xmlAttrSerializeTxtContent</h3><pre class="programlisting">void	xmlAttrSerializeTxtContent	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string)<br />
 </pre><p>Serialize text <a href="libxml-SAX.html#attribute">attribute</a> values to an xml simple buffer</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> node</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the text content</td></tr></tbody></table></div><h3><a name="xmlBufferAdd" id="xmlBufferAdd"></a>Function: xmlBufferAdd</h3><pre class="programlisting">void	xmlBufferAdd			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> node</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the text content</td></tr></tbody></table></div><h3><a name="xmlBufferAdd" id="xmlBufferAdd"></a>Function: xmlBufferAdd</h3><pre class="programlisting">int	xmlBufferAdd			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)<br />
 </pre><p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr></tbody></table></div><h3><a name="xmlBufferAddHead" id="xmlBufferAddHead"></a>Function: xmlBufferAddHead</h3><pre class="programlisting">void	xmlBufferAddHead		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferAddHead" id="xmlBufferAddHead"></a>Function: xmlBufferAddHead</h3><pre class="programlisting">int	xmlBufferAddHead		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 int len)<br />
 </pre><p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr></tbody></table></div><h3><a name="xmlBufferCCat" id="xmlBufferCCat"></a>Function: xmlBufferCCat</h3><pre class="programlisting">void	xmlBufferCCat			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * str)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferCCat" id="xmlBufferCCat"></a>Function: xmlBufferCCat</h3><pre class="programlisting">int	xmlBufferCCat			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const char * str)<br />
 </pre><p>Append a zero terminated C string to an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the C char string</td></tr></tbody></table></div><h3><a name="xmlBufferCat" id="xmlBufferCat"></a>Function: xmlBufferCat</h3><pre class="programlisting">void	xmlBufferCat			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the C char string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferCat" id="xmlBufferCat"></a>Function: xmlBufferCat</h3><pre class="programlisting">int	xmlBufferCat			(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
 </pre><p>Append a zero terminated string to an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr></tbody></table></div><h3><a name="xmlBufferContent" id="xmlBufferContent"></a>Function: xmlBufferContent</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferContent	(const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to add to</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlBufferContent" id="xmlBufferContent"></a>Function: xmlBufferContent</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferContent	(const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br />
 </pre><p>Function to extract the content of a buffer</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal content</td></tr></tbody></table></div><h3><a name="xmlBufferCreate" id="xmlBufferCreate"></a>Function: xmlBufferCreate</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreate		(void)<br />
 </pre><p>routine to create an XML buffer.</p>
@@ -655,7 +657,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the first namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNsPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyNode" id="xmlCopyNode"></a>Function: xmlCopyNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNode		(const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 int extended)<br />
 </pre><p>Do a copy of the node.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyNodeList" id="xmlCopyNodeList"></a>Function: xmlCopyNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNodeList		(const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
-</pre><p>Do a recursive copy of the node list.</p>
+</pre><p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the first node in the list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyProp" id="xmlCopyProp"></a>Function: xmlCopyProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br />
 </pre><p>Do a copy of the attribute.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>the element where the <a href="libxml-SAX.html#attribute">attribute</a> will be grafted</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlAttrPtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCopyPropList" id="xmlCopyPropList"></a>Function: xmlCopyPropList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyPropList		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br />					 <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br />
@@ -664,7 +666,9 @@
 </pre><p>Create the internal subset of a document</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document pointer</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the DTD name</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external (PUBLIC) ID</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system ID</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new DTD structure</td></tr></tbody></table></div><h3><a name="xmlDocCopyNode" id="xmlDocCopyNode"></a>Function: xmlDocCopyNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNode		(const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int extended)<br />
 </pre><p>Do a copy of the node to a given document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlDocDump" id="xmlDocDump"></a>Function: xmlDocDump</h3><pre class="programlisting">int	xmlDocDump			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlDocCopyNodeList" id="xmlDocCopyNodeList"></a>Function: xmlDocCopyNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNodeList	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
+</pre><p>Do a recursive copy of the node list.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the first node in the list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlDocDump" id="xmlDocDump"></a>Function: xmlDocDump</h3><pre class="programlisting">int	xmlDocDump			(FILE * f, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
 </pre><p>Dump an XML document to an open FILE.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlDocDumpFormatMemory" id="xmlDocDumpFormatMemory"></a>Function: xmlDocDumpFormatMemory</h3><pre class="programlisting">void	xmlDocDumpFormatMemory		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />					 int * size, <br />					 int format)<br />
 </pre><p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
@@ -721,7 +725,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlGetProp" id="xmlGetProp"></a>Function: xmlGetProp</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>Search and get the value of an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlHasNsProp" id="xmlHasNsProp"></a>Function: xmlHasNsProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasNsProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br />
-</pre><p>Search for an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
+</pre><p>Search for an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the namespace</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> or the <a href="libxml-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td></tr></tbody></table></div><h3><a name="xmlHasProp" id="xmlHasProp"></a>Function: xmlHasProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>Search an <a href="libxml-SAX.html#attribute">attribute</a> associated to a node This function also looks in DTD <a href="libxml-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> or the <a href="libxml-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td></tr></tbody></table></div><h3><a name="xmlIsBlankNode" id="xmlIsBlankNode"></a>Function: xmlIsBlankNode</h3><pre class="programlisting">int	xmlIsBlankNode			(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
@@ -746,7 +750,9 @@
 </pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocNodeEatName" id="xmlNewDocNodeEatName"></a>Function: xmlNewDocNodeEatName</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNodeEatName	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
 </pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocProp" id="xmlNewDocProp"></a>Function: xmlNewDocProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocPI" id="xmlNewDocPI"></a>Function: xmlNewDocPI</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocPI		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
+</pre><p>Creation of a processing instruction element.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewDocProp" id="xmlNewDocProp"></a>Function: xmlNewDocProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
 </pre><p>Create a new property carried by a document.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewDocRawNode" id="xmlNewDocRawNode"></a>Function: xmlNewDocRawNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocRawNode	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
 </pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL).</p>
@@ -769,7 +775,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewNsPropEatName" id="xmlNewNsPropEatName"></a>Function: xmlNewNsPropEatName</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsPropEatName	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
 </pre><p>Create a new property tagged with a namespace and carried by a node.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewPI" id="xmlNewPI"></a>Function: xmlNewPI</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewPI		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
-</pre><p>Creation of a processing instruction element.</p>
+</pre><p>Creation of a processing instruction element. Use xmlDocNewPI preferably to get string interning</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object.</td></tr></tbody></table></div><h3><a name="xmlNewProp" id="xmlNewProp"></a>Function: xmlNewProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewProp		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
 </pre><p>Create a new property carried by a node.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the holding node</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewReference" id="xmlNewReference"></a>Function: xmlNewReference</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewReference		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
@@ -827,13 +833,13 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFileEnc" id="xmlSaveFileEnc"></a>Function: xmlSaveFileEnc</h3><pre class="programlisting">int	xmlSaveFileEnc			(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)<br />
 </pre><p>Dump an XML document, converting it to the given encoding</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of an encoding (or NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFileTo" id="xmlSaveFileTo"></a>Function: xmlSaveFileTo</h3><pre class="programlisting">int	xmlSaveFileTo			(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding)<br />
-</pre><p>Dump an XML document to an I/O buffer.</p>
+</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the trancoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFile" id="xmlSaveFormatFile"></a>Function: xmlSaveFormatFile</h3><pre class="programlisting">int	xmlSaveFormatFile		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 int format)<br />
 </pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFileEnc" id="xmlSaveFormatFileEnc"></a>Function: xmlSaveFormatFileEnc</h3><pre class="programlisting">int	xmlSaveFormatFileEnc		(const char * filename, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
 </pre><p>Dump an XML document to a file or an URL.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename or URL to output</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document being saved</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of the encoding to use or NULL.</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces be added.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td></tr></tbody></table></div><h3><a name="xmlSaveFormatFileTo" id="xmlSaveFormatFileTo"></a>Function: xmlSaveFormatFileTo</h3><pre class="programlisting">int	xmlSaveFormatFileTo		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />					 const char * encoding, <br />					 int format)<br />
-</pre><p>Dump an XML document to an I/O buffer. NOTE: the I/O buffer is closed as part of the call.</p>
+</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the trancoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="xmlSearchNs" id="xmlSearchNs"></a>Function: xmlSearchNs</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNs		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br />
 </pre><p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or NULL.</td></tr></tbody></table></div><h3><a name="xmlSearchNsByHref" id="xmlSearchNsByHref"></a>Function: xmlSearchNsByHref</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNsByHref	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * href)<br />

Modified: packages/libxml2/branches/unstable/doc/html/libxml-uri.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-uri.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-uri.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module uri from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module uri from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-tree.html">tree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-valid.html">valid</a></th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>library of generic URI related routines Implements RFC 2396 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlURI">xmlURI</a><br />struct _xmlURI
+    </style><title>Module uri from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module uri from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-tree.html">tree</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-valid.html">valid</a></th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>library of generic URI related routines Implements RFC 2396 </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlURI">xmlURI</a><br />struct _xmlURI
 </pre><pre class="programlisting">Typedef <a href="libxml-uri.html#xmlURI">xmlURI</a> * <a name="xmlURIPtr" id="xmlURIPtr">xmlURIPtr</a>
 </pre><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildURI">xmlBuildURI</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-valid.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-valid.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-valid.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module valid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module valid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-uri.html">uri</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="n" href="libxml-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the DTD handling and the validity checking </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlAttributeTable">xmlAttributeTable</a><br />struct _xmlHashTable
+    </style><title>Module valid from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module valid from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-uri.html">uri</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="n" href="libxml-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the DTD handling and the validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_0">XML_CTXT_FINISH_DTD_0</a></pre><pre class="programlisting">#define <a href="#XML_CTXT_FINISH_DTD_1">XML_CTXT_FINISH_DTD_1</a></pre><pre class="programlisting">Structure <a href="#xmlAttributeTable">xmlAttributeTable</a><br />struct _xmlHashTable
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-valid.html#xmlAttributeTable">xmlAttributeTable</a> * <a name="xmlAttributeTablePtr" id="xmlAttributeTablePtr">xmlAttributeTablePtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlElementTable">xmlElementTable</a><br />struct _xmlHashTable
@@ -104,6 +104,8 @@
 void	<a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
 </pre>
 <h2>Description</h2>
+<h3><a name="XML_CTXT_FINISH_DTD_0" id="XML_CTXT_FINISH_DTD_0"></a>Macro: XML_CTXT_FINISH_DTD_0</h3><pre>#define XML_CTXT_FINISH_DTD_0</pre><p>Special value for finishDtd field when embedded in an <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a></p>
+<h3><a name="XML_CTXT_FINISH_DTD_1" id="XML_CTXT_FINISH_DTD_1"></a>Macro: XML_CTXT_FINISH_DTD_1</h3><pre>#define XML_CTXT_FINISH_DTD_1</pre><p>Special value for finishDtd field when embedded in an <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a></p>
 <h3><a name="xmlAttributeTable" id="xmlAttributeTable">Structure xmlAttributeTable</a></h3><pre class="programlisting">Structure xmlAttributeTable<br />struct _xmlHashTable {
 The content of this structure is not made public by the API.
 }</pre><h3><a name="xmlElementTable" id="xmlElementTable">Structure xmlElementTable</a></h3><pre class="programlisting">Structure xmlElementTable<br />struct _xmlHashTable {
@@ -122,7 +124,7 @@
     int	nodeNr	: Depth of the parsing stack
     int	nodeMax	: Max depth of the parsing stack
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
-    int	finishDtd	: finished validating the Dtd ?
+    unsigned int	finishDtd	: finished validating the Dtd ?
     <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: the document
     int	valid	: temporary validity check result state s
     <a href="libxml-valid.html#xmlValidState">xmlValidState</a> *	vstate	: current state
@@ -236,7 +238,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateDocumentFinal" id="xmlValidateDocumentFinal"></a>Function: xmlValidateDocumentFinal</h3><pre class="programlisting">int	xmlValidateDocumentFinal	(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateDtd" id="xmlValidateDtd"></a>Function: xmlValidateDtd</h3><pre class="programlisting">int	xmlValidateDtd			(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br />
-</pre><p>Try to validate the document against the dtd instance basically it does check all the definitions in the DtD.</p>
+</pre><p>Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>dtd</tt></i>:</span></td><td>a dtd instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidateDtdFinal" id="xmlValidateDtdFinal"></a>Function: xmlValidateDtdFinal</h3><pre class="programlisting">int	xmlValidateDtdFinal		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 if invalid and -1 if not well-formed</td></tr></tbody></table></div><h3><a name="xmlValidateElement" id="xmlValidateElement"></a>Function: xmlValidateElement</h3><pre class="programlisting">int	xmlValidateElement		(<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
@@ -271,8 +273,8 @@
 </pre><p>Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid or 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlValidityErrorFunc" id="xmlValidityErrorFunc"></a>Function type: xmlValidityErrorFunc</h3><pre class="programlisting">Function type: xmlValidityErrorFunc
 void	xmlValidityErrorFunc		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> validity error context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div><br />
+</pre><p>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div><br />
 <h3><a name="xmlValidityWarningFunc" id="xmlValidityWarningFunc"></a>Function type: xmlValidityWarningFunc</h3><pre class="programlisting">Function type: xmlValidityWarningFunc
 void	xmlValidityWarningFunc		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
-</pre><p>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> validity error context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div><br />
+</pre><p>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to the format</td></tr></tbody></table></div><br />
 <p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xinclude.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xinclude.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xinclude.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xinclude from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xinclude from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-valid.html">valid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="n" href="libxml-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a></pre><pre class="programlisting">Structure <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a><br />struct _xmlXIncludeCtxt
+    </style><title>Module xinclude from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xinclude from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-valid.html">valid</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="n" href="libxml-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a></pre><pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a></pre><pre class="programlisting">Structure <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a><br />struct _xmlXIncludeCtxt
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a name="xmlXIncludeCtxtPtr" id="xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>
 </pre><pre class="programlisting">void	<a href="#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a>		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xlink.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xlink.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xlink.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xlink from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xlink from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="n" href="libxml-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>unfinished XLink detection module </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xlinkActuate">xlinkActuate</a>
+    </style><title>Module xlink from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xlink from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xinclude.html">xinclude</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="n" href="libxml-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>unfinished XLink detection module </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xlinkActuate">xlinkActuate</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a name="xlinkHRef" id="xlinkHRef">xlinkHRef</a>
 </pre><pre class="programlisting">Structure <a href="#xlinkHandler">xlinkHandler</a><br />struct _xlinkHandler
 </pre><pre class="programlisting">Typedef <a href="libxml-xlink.html#xlinkHandler">xlinkHandler</a> * <a name="xlinkHandlerPtr" id="xlinkHandlerPtr">xlinkHandlerPtr</a>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlIO.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlIO.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlIO.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlIO from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlIO from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the I/O interfaces used by the parser </p><h2>Table of Contents</h2><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
+    </style><title>Module xmlIO from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlIO from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xlink.html">xlink</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the I/O interfaces used by the parser </p><h2>Table of Contents</h2><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>	(<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
 <pre class="programlisting">int	<a href="#xmlCheckFilename">xmlCheckFilename</a>		(const char * path)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />						 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)</pre>
@@ -102,7 +102,7 @@
 </pre><p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the URI for matching</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a handler or NULL in case or failure</td></tr></tbody></table></div><h3><a name="xmlFileRead" id="xmlFileRead"></a>Function: xmlFileRead</h3><pre class="programlisting">int	xmlFileRead			(void * context, <br />					 char * buffer, <br />					 int len)<br />
 </pre><p>Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written</td></tr></tbody></table></div><h3><a name="xmlFreeParserInputBuffer" id="xmlFreeParserInputBuffer"></a>Function: xmlFreeParserInputBuffer</h3><pre class="programlisting">void	xmlFreeParserInputBuffer	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the I/O context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>where to drop data</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>number of bytes to write</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or &lt; 0 in case of failure</td></tr></tbody></table></div><h3><a name="xmlFreeParserInputBuffer" id="xmlFreeParserInputBuffer"></a>Function: xmlFreeParserInputBuffer</h3><pre class="programlisting">void	xmlFreeParserInputBuffer	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br />
 </pre><p>Free up the memory used by a buffered parser input</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr></tbody></table></div><h3><a name="xmlIOFTPClose" id="xmlIOFTPClose"></a>Function: xmlIOFTPClose</h3><pre class="programlisting">int	xmlIOFTPClose			(void * context)<br />
 </pre><p>Close an FTP I/O channel</p>
@@ -189,8 +189,8 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferRead" id="xmlParserInputBufferRead"></a>Function: xmlParserInputBufferRead</h3><pre class="programlisting">int	xmlParserInputBufferRead	(<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />					 int len)<br />
 </pre><p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlPopInputCallbacks" id="xmlPopInputCallbacks"></a>Function: xmlPopInputCallbacks</h3><pre class="programlisting">int	xmlPopInputCallbacks		(void)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlRegisterDefaultInputCallbacks" id="xmlRegisterDefaultInputCallbacks"></a>Function: xmlRegisterDefaultInputCallbacks</h3><pre class="programlisting">void	xmlRegisterDefaultInputCallbacks	(void)<br />
+</pre><p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of input callback registered or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlRegisterDefaultInputCallbacks" id="xmlRegisterDefaultInputCallbacks"></a>Function: xmlRegisterDefaultInputCallbacks</h3><pre class="programlisting">void	xmlRegisterDefaultInputCallbacks	(void)<br />
 </pre><p>Registers the default compiled-in I/O handlers.</p>
 <h3><a name="xmlRegisterDefaultOutputCallbacks" id="xmlRegisterDefaultOutputCallbacks"></a>Function: xmlRegisterDefaultOutputCallbacks</h3><pre class="programlisting">void	xmlRegisterDefaultOutputCallbacks	(void)<br />
 </pre><p>Registers the default compiled-in I/O handlers.</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlautomata.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlautomata.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlautomata.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlautomata from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlautomata from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="n" href="libxml-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API to build regexp automata </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlAutomata">xmlAutomata</a><br />struct _xmlAutomata
+    </style><title>Module xmlautomata from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlautomata from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlIO.html">xmlIO</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="n" href="libxml-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API to build regexp automata </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlAutomata">xmlAutomata</a><br />struct _xmlAutomata
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlautomata.html#xmlAutomata">xmlAutomata</a> * <a name="xmlAutomataPtr" id="xmlAutomataPtr">xmlAutomataPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlAutomataState">xmlAutomataState</a><br />struct _xmlAutomataState
@@ -21,11 +21,13 @@
 <pre class="programlisting">int	<a href="#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 int lax)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
+<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)</pre>
 <pre class="programlisting">int	<a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>		(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 int min, <br />					 int max)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 int min, <br />						 int max, <br />						 void * data)</pre>
+<pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewState">xmlAutomataNewState</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 void * data)</pre>
 <pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 void * data)</pre>
@@ -47,7 +49,9 @@
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>lax</tt></i>:</span></td><td>allow to transition if not all all transitions have been activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans" id="xmlAutomataNewCountTrans"></a>Function: xmlAutomataNewCountTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountedTrans" id="xmlAutomataNewCountedTrans"></a>Function: xmlAutomataNewCountedTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountTrans2" id="xmlAutomataNewCountTrans2"></a>Function: xmlAutomataNewCountTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans2	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
+</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCountedTrans" id="xmlAutomataNewCountedTrans"></a>Function: xmlAutomataNewCountedTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 int counter)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewCounter" id="xmlAutomataNewCounter"></a>Function: xmlAutomataNewCounter</h3><pre class="programlisting">int	xmlAutomataNewCounter		(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />					 int min, <br />					 int max)<br />
 </pre><p>Create a new counter</p>
@@ -57,7 +61,9 @@
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans" id="xmlAutomataNewOnceTrans"></a>Function: xmlAutomataNewOnceTrans</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />						 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />						 int min, <br />						 int max, <br />						 void * data)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewState" id="xmlAutomataNewState"></a>Function: xmlAutomataNewState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewOnceTrans2" id="xmlAutomataNewOnceTrans2"></a>Function: xmlAutomataNewOnceTrans2</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans2	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token2, <br />							 int min, <br />							 int max, <br />							 void * data)<br />
+</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input string associated to that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive occurences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewState" id="xmlAutomataNewState"></a>Function: xmlAutomataNewState</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br />
 </pre><p>Create a new disconnected state in the automata</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new state or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlAutomataNewTransition" id="xmlAutomataNewTransition"></a>Function: xmlAutomataNewTransition</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition	(<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br />							 <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />							 void * data)<br />
 </pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlerror.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlerror.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlerror.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlerror from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlerror from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="n" href="libxml-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API used to report errors </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlError">xmlError</a><br />struct _xmlError
+    </style><title>Module xmlerror from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlerror from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlautomata.html">xmlautomata</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="n" href="libxml-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>the API used to report errors </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlError">xmlError</a><br />struct _xmlError
 </pre><pre class="programlisting">Enum <a href="#xmlErrorDomain">xmlErrorDomain</a>
 </pre><pre class="programlisting">Enum <a href="#xmlErrorLevel">xmlErrorLevel</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlerror.html#xmlError">xmlError</a> * <a name="xmlErrorPtr" id="xmlErrorPtr">xmlErrorPtr</a>
@@ -76,6 +76,8 @@
     <a name="XML_FROM_C14N" id="XML_FROM_C14N">XML_FROM_C14N</a> = 21 : The Canonicalization module
     <a name="XML_FROM_XSLT" id="XML_FROM_XSLT">XML_FROM_XSLT</a> = 22 : The XSLT engine from libxslt
     <a name="XML_FROM_VALID" id="XML_FROM_VALID">XML_FROM_VALID</a> = 23 : The XML DTD validation with valid context
+    <a name="XML_FROM_CHECK" id="XML_FROM_CHECK">XML_FROM_CHECK</a> = 24 : The error checking module
+    <a name="XML_FROM_WRITER" id="XML_FROM_WRITER">XML_FROM_WRITER</a> = 25 : The xmlwriter module
 }
 </pre><h3>Enum <a name="xmlErrorLevel" id="xmlErrorLevel">xmlErrorLevel</a></h3><pre class="programlisting">Enum xmlErrorLevel {
     <a name="XML_ERR_NONE" id="XML_ERR_NONE">XML_ERR_NONE</a> = 0
@@ -524,94 +526,126 @@
     <a name="XML_SCHEMAP_UNKNOWN_UNION_CHILD" id="XML_SCHEMAP_UNKNOWN_UNION_CHILD">XML_SCHEMAP_UNKNOWN_UNION_CHILD</a> = 1754 : 1754
     <a name="XML_SCHEMAP_ELEM_DEFAULT_FIXED" id="XML_SCHEMAP_ELEM_DEFAULT_FIXED">XML_SCHEMAP_ELEM_DEFAULT_FIXED</a> = 1755 : 1755
     <a name="XML_SCHEMAP_REGEXP_INVALID" id="XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a> = 1756 : 1756
-    <a name="XML_SCHEMAP_FAILED_LOAD" id="XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a> = 1757 : 1756
-    <a name="XML_SCHEMAP_NOTHING_TO_PARSE" id="XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a> = 1758 : 1757
-    <a name="XML_SCHEMAP_NOROOT" id="XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a> = 1759 : 1758
-    <a name="XML_SCHEMAP_REDEFINED_GROUP" id="XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a> = 1760 : 1759
-    <a name="XML_SCHEMAP_REDEFINED_TYPE" id="XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a> = 1761 : 1760
-    <a name="XML_SCHEMAP_REDEFINED_ELEMENT" id="XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a> = 1762 : 1761
-    <a name="XML_SCHEMAP_REDEFINED_ATTRGROUP" id="XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a> = 1763 : 1762
-    <a name="XML_SCHEMAP_REDEFINED_ATTR" id="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 : 1763
-    <a name="XML_SCHEMAP_REDEFINED_NOTATION" id="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 : 1764
-    <a name="XML_SCHEMAP_FAILED_PARSE" id="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 : 1765
-    <a name="XML_SCHEMAP_UNKNOWN_PREFIX" id="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 : 1766
-    <a name="XML_SCHEMAP_DEF_AND_PREFIX" id="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 : 1767
-    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" id="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 : 1768
-    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 : 1769
-    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 : 1770
-    <a name="XML_SCHEMAP_NOT_SCHEMA" id="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 : 1771
-    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" id="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 : 1772
-    <a name="XML_SCHEMAP_INVALID_ATTR_USE" id="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 : 1773
-    <a name="XML_SCHEMAP_RECURSIVE" id="XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a> = 1775 : 1774
-    <a name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE" id="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a> = 1776 : 1775
-    <a name="XML_SCHEMAP_INVALID_ATTR_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a> = 1777 : 1776
-    <a name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a> = 1778 : 1777
-    <a name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD" id="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a> = 1779 : 1778
-    <a name="XML_SCHEMAP_INVALID_ATTR_NAME" id="XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a> = 1780 : 1779
-    <a name="XML_SCHEMAP_REF_AND_CONTENT" id="XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a> = 1781 : 1780
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_1" id="XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a> = 1782 : 1781
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_2" id="XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a> = 1783 : 1782
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_3" id="XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a> = 1784 : 1783
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_4" id="XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a> = 1785 : 1784
-    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_5" id="XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a> = 1786 : 1785
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a> = 1787 : 1786
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a> = 1788 : 1787
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a> = 1789 : 1788
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a> = 1790 : 1789
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a> = 1791 : 1790
-    <a name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER" id="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a> = 1792 : 1791
-    <a name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a> = 1793 : 1792
-    <a name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a> = 1794 : 1793
-    <a name="XML_SCHEMAP_SRC_IMPORT_3_1" id="XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a> = 1795 : 1794
-    <a name="XML_SCHEMAP_SRC_IMPORT_3_2" id="XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a> = 1796 : 1795
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a> = 1797 : 1796
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a> = 1798 : 1797
-    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a> = 1799 : 1798
-    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_3" id="XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a> = 1800 : 1799
-    <a name="XML_SCHEMAV_NOROOT" id="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1800
-    <a name="XML_SCHEMAV_UNDECLAREDELEM" id="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1801 : 1801
-    <a name="XML_SCHEMAV_NOTTOPLEVEL" id="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1802 : 1802
-    <a name="XML_SCHEMAV_MISSING" id="XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a> = 1803 : 1803
-    <a name="XML_SCHEMAV_WRONGELEM" id="XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a> = 1804 : 1804
-    <a name="XML_SCHEMAV_NOTYPE" id="XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a> = 1805 : 1805
-    <a name="XML_SCHEMAV_NOROLLBACK" id="XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a> = 1806 : 1806
-    <a name="XML_SCHEMAV_ISABSTRACT" id="XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a> = 1807 : 1807
-    <a name="XML_SCHEMAV_NOTEMPTY" id="XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a> = 1808 : 1808
-    <a name="XML_SCHEMAV_ELEMCONT" id="XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a> = 1809 : 1809
-    <a name="XML_SCHEMAV_HAVEDEFAULT" id="XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a> = 1810 : 1810
-    <a name="XML_SCHEMAV_NOTNILLABLE" id="XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a> = 1811 : 1811
-    <a name="XML_SCHEMAV_EXTRACONTENT" id="XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a> = 1812 : 1812
-    <a name="XML_SCHEMAV_INVALIDATTR" id="XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a> = 1813 : 1813
-    <a name="XML_SCHEMAV_INVALIDELEM" id="XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a> = 1814 : 1814
-    <a name="XML_SCHEMAV_NOTDETERMINIST" id="XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a> = 1815 : 1815
-    <a name="XML_SCHEMAV_CONSTRUCT" id="XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a> = 1816 : 1816
-    <a name="XML_SCHEMAV_INTERNAL" id="XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a> = 1817 : 1817
-    <a name="XML_SCHEMAV_NOTSIMPLE" id="XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a> = 1818 : 1818
-    <a name="XML_SCHEMAV_ATTRUNKNOWN" id="XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a> = 1819 : 1819
-    <a name="XML_SCHEMAV_ATTRINVALID" id="XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a> = 1820 : 1820
-    <a name="XML_SCHEMAV_VALUE" id="XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a> = 1821 : 1821
-    <a name="XML_SCHEMAV_FACET" id="XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a> = 1822 : 1822
-    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a> = 1823 : 1823
-    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a> = 1824 : 1824
-    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a> = 1825 : 1825
-    <a name="XML_SCHEMAV_CVC_TYPE_3_1_1" id="XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a> = 1826 : 1826
-    <a name="XML_SCHEMAV_CVC_TYPE_3_1_2" id="XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a> = 1827 : 1827
-    <a name="XML_SCHEMAV_CVC_FACET_VALID" id="XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a> = 1828 : 1828
-    <a name="XML_SCHEMAV_CVC_LENGTH_VALID" id="XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a> = 1829 : 1829
-    <a name="XML_SCHEMAV_CVC_MINLENGTH_VALID" id="XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a> = 1830 : 1830
-    <a name="XML_SCHEMAV_CVC_MAXLENGTH_VALID" id="XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a> = 1831 : 1831
-    <a name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a> = 1832 : 1832
-    <a name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a> = 1833 : 1833
-    <a name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a> = 1834 : 1834
-    <a name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a> = 1835 : 1835
-    <a name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID" id="XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a> = 1836 : 1836
-    <a name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID" id="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a> = 1837 : 1837
-    <a name="XML_SCHEMAV_CVC_PATTERN_VALID" id="XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a> = 1838 : 1838
-    <a name="XML_SCHEMAV_CVC_ENUMERATION_VALID" id="XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a> = 1839 : 1839
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a> = 1840 : 1840
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a> = 1841 : 1841
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a> = 1842 : 1842
-    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a> = 1843 : 1843
+    <a name="XML_SCHEMAP_FAILED_LOAD" id="XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a> = 1757 : 1757
+    <a name="XML_SCHEMAP_NOTHING_TO_PARSE" id="XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a> = 1758 : 1758
+    <a name="XML_SCHEMAP_NOROOT" id="XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a> = 1759 : 1759
+    <a name="XML_SCHEMAP_REDEFINED_GROUP" id="XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a> = 1760 : 1760
+    <a name="XML_SCHEMAP_REDEFINED_TYPE" id="XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a> = 1761 : 1761
+    <a name="XML_SCHEMAP_REDEFINED_ELEMENT" id="XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a> = 1762 : 1762
+    <a name="XML_SCHEMAP_REDEFINED_ATTRGROUP" id="XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a> = 1763 : 1763
+    <a name="XML_SCHEMAP_REDEFINED_ATTR" id="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 : 1764
+    <a name="XML_SCHEMAP_REDEFINED_NOTATION" id="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 : 1765
+    <a name="XML_SCHEMAP_FAILED_PARSE" id="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 : 1766
+    <a name="XML_SCHEMAP_UNKNOWN_PREFIX" id="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 : 1767
+    <a name="XML_SCHEMAP_DEF_AND_PREFIX" id="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 : 1768
+    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" id="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 : 1769
+    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 : 1770
+    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 : 1771
+    <a name="XML_SCHEMAP_NOT_SCHEMA" id="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 : 1772
+    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" id="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 : 1773
+    <a name="XML_SCHEMAP_INVALID_ATTR_USE" id="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 : 1774
+    <a name="XML_SCHEMAP_RECURSIVE" id="XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a> = 1775 : 1775
+    <a name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE" id="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a> = 1776 : 1776
+    <a name="XML_SCHEMAP_INVALID_ATTR_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a> = 1777 : 1777
+    <a name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION" id="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a> = 1778 : 1778
+    <a name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD" id="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a> = 1779 : 1779
+    <a name="XML_SCHEMAP_INVALID_ATTR_NAME" id="XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a> = 1780 : 1780
+    <a name="XML_SCHEMAP_REF_AND_CONTENT" id="XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a> = 1781 : 1781
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_1" id="XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a> = 1782 : 1782
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_2" id="XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a> = 1783 : 1783
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_3" id="XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a> = 1784 : 1784
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_4" id="XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a> = 1785 : 1785
+    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_5" id="XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a> = 1786 : 1786
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a> = 1787 : 1787
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a> = 1788 : 1788
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a> = 1789 : 1789
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a> = 1790 : 1790
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a> = 1791 : 1791
+    <a name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER" id="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a> = 1792 : 1792
+    <a name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a> = 1793 : 1793
+    <a name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE" id="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a> = 1794 : 1794
+    <a name="XML_SCHEMAP_SRC_IMPORT_3_1" id="XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a> = 1795 : 1795
+    <a name="XML_SCHEMAP_SRC_IMPORT_3_2" id="XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a> = 1796 : 1796
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a> = 1797 : 1797
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a> = 1798 : 1798
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a> = 1799 : 1799
+    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_3" id="XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a> = 1800 : 1800
+    <a name="XML_SCHEMAV_NOROOT" id="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1801
+    <a name="XML_SCHEMAV_UNDECLAREDELEM" id="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1802 : 1802
+    <a name="XML_SCHEMAV_NOTTOPLEVEL" id="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1803 : 1803
+    <a name="XML_SCHEMAV_MISSING" id="XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a> = 1804 : 1804
+    <a name="XML_SCHEMAV_WRONGELEM" id="XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a> = 1805 : 1805
+    <a name="XML_SCHEMAV_NOTYPE" id="XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a> = 1806 : 1806
+    <a name="XML_SCHEMAV_NOROLLBACK" id="XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a> = 1807 : 1807
+    <a name="XML_SCHEMAV_ISABSTRACT" id="XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a> = 1808 : 1808
+    <a name="XML_SCHEMAV_NOTEMPTY" id="XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a> = 1809 : 1809
+    <a name="XML_SCHEMAV_ELEMCONT" id="XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a> = 1810 : 1810
+    <a name="XML_SCHEMAV_HAVEDEFAULT" id="XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a> = 1811 : 1811
+    <a name="XML_SCHEMAV_NOTNILLABLE" id="XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a> = 1812 : 1812
+    <a name="XML_SCHEMAV_EXTRACONTENT" id="XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a> = 1813 : 1813
+    <a name="XML_SCHEMAV_INVALIDATTR" id="XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a> = 1814 : 1814
+    <a name="XML_SCHEMAV_INVALIDELEM" id="XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a> = 1815 : 1815
+    <a name="XML_SCHEMAV_NOTDETERMINIST" id="XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a> = 1816 : 1816
+    <a name="XML_SCHEMAV_CONSTRUCT" id="XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a> = 1817 : 1817
+    <a name="XML_SCHEMAV_INTERNAL" id="XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a> = 1818 : 1818
+    <a name="XML_SCHEMAV_NOTSIMPLE" id="XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a> = 1819 : 1819
+    <a name="XML_SCHEMAV_ATTRUNKNOWN" id="XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a> = 1820 : 1820
+    <a name="XML_SCHEMAV_ATTRINVALID" id="XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a> = 1821 : 1821
+    <a name="XML_SCHEMAV_VALUE" id="XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a> = 1822 : 1822
+    <a name="XML_SCHEMAV_FACET" id="XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a> = 1823 : 1823
+    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a> = 1824 : 1824
+    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a> = 1825 : 1825
+    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a> = 1826 : 1826
+    <a name="XML_SCHEMAV_CVC_TYPE_3_1_1" id="XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a> = 1827 : 1827
+    <a name="XML_SCHEMAV_CVC_TYPE_3_1_2" id="XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a> = 1828 : 1828
+    <a name="XML_SCHEMAV_CVC_FACET_VALID" id="XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a> = 1829 : 1829
+    <a name="XML_SCHEMAV_CVC_LENGTH_VALID" id="XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a> = 1830 : 1830
+    <a name="XML_SCHEMAV_CVC_MINLENGTH_VALID" id="XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a> = 1831 : 1831
+    <a name="XML_SCHEMAV_CVC_MAXLENGTH_VALID" id="XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a> = 1832 : 1832
+    <a name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a> = 1833 : 1833
+    <a name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a> = 1834 : 1834
+    <a name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a> = 1835 : 1835
+    <a name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a> = 1836 : 1836
+    <a name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID" id="XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a> = 1837 : 1837
+    <a name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID" id="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a> = 1838 : 1838
+    <a name="XML_SCHEMAV_CVC_PATTERN_VALID" id="XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a> = 1839 : 1839
+    <a name="XML_SCHEMAV_CVC_ENUMERATION_VALID" id="XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a> = 1840 : 1840
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a> = 1841 : 1841
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a> = 1842 : 1842
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a> = 1843 : 1843
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a> = 1844 : 1844
+    <a name="XML_SCHEMAV_CVC_ELT_1" id="XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a> = 1845 : 1845
+    <a name="XML_SCHEMAV_CVC_ELT_2" id="XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a> = 1846 : 1846
+    <a name="XML_SCHEMAV_CVC_ELT_3_1" id="XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a> = 1847 : 1847
+    <a name="XML_SCHEMAV_CVC_ELT_3_2_1" id="XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a> = 1848 : 1848
+    <a name="XML_SCHEMAV_CVC_ELT_3_2_2" id="XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a> = 1849 : 1849
+    <a name="XML_SCHEMAV_CVC_ELT_4_1" id="XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a> = 1850 : 1850
+    <a name="XML_SCHEMAV_CVC_ELT_4_2" id="XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a> = 1851 : 1851
+    <a name="XML_SCHEMAV_CVC_ELT_4_3" id="XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a> = 1852 : 1852
+    <a name="XML_SCHEMAV_CVC_ELT_5_1_1" id="XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a> = 1853 : 1853
+    <a name="XML_SCHEMAV_CVC_ELT_5_1_2" id="XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a> = 1854 : 1854
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a> = 1855 : 1855
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a> = 1856 : 1856
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a> = 1857 : 1857
+    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2" id="XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a> = 1858 : 1858
+    <a name="XML_SCHEMAV_CVC_ELT_6" id="XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a> = 1859 : 1859
+    <a name="XML_SCHEMAV_CVC_ELT_7" id="XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a> = 1860 : 1860
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_1" id="XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a> = 1861 : 1861
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_2" id="XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a> = 1862 : 1862
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_3" id="XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a> = 1863 : 1863
+    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_4" id="XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a> = 1864 : 1864
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a> = 1865 : 1865
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a> = 1866 : 1866
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a> = 1867 : 1867
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a> = 1868 : 1868
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a> = 1869 : 1869
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a> = 1870 : 1870
+    <a name="XML_SCHEMAV_ELEMENT_CONTENT" id="XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a> = 1871 : 1871
+    <a name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING" id="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a> = 1872 : 1872
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a> = 1873 : 1873
+    <a name="XML_SCHEMAV_CVC_AU" id="XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a> = 1874 : 1874
+    <a name="XML_SCHEMAV_CVC_TYPE_1" id="XML_SCHEMAV_CVC_TYPE_1">XML_SCHEMAV_CVC_TYPE_1</a> = 1875 : 1875
+    <a name="XML_SCHEMAV_CVC_TYPE_2" id="XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a> = 1876 : 1876
     <a name="XML_XPTR_UNKNOWN_SCHEME" id="XML_XPTR_UNKNOWN_SCHEME">XML_XPTR_UNKNOWN_SCHEME</a> = 1900
     <a name="XML_XPTR_CHILDSEQ_START" id="XML_XPTR_CHILDSEQ_START">XML_XPTR_CHILDSEQ_START</a> = 1901 : 1901
     <a name="XML_XPTR_EVAL_FAILED" id="XML_XPTR_EVAL_FAILED">XML_XPTR_EVAL_FAILED</a> = 1902 : 1902
@@ -631,22 +665,22 @@
     <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_3" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a> = 3002 : 3002
     <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_4" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a> = 3003 : 3003
     <a name="XML_SCHEMAP_SRC_RESOLVE" id="XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a> = 3004 : 3004
-    <a name="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE" id="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a> = 3005 : 3004
-    <a name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE" id="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a> = 3006 : 3005
-    <a name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES" id="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a> = 3007 : 3006
-    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_1" id="XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a> = 3008 : 3007
-    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_2" id="XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a> = 3009 : 3008
-    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_3" id="XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a> = 3010 : 3009
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a> = 3011 : 3010
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a> = 3012 : 3011
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a> = 3013 : 3012
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a> = 3014 : 3013
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a> = 3015 : 3014
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a> = 3016 : 3015
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a> = 3017 : 3016
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a> = 3018 : 3017
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a> = 3019 : 3018
-    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a> = 3020 : 3019
+    <a name="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE" id="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a> = 3005 : 3005
+    <a name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE" id="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a> = 3006 : 3006
+    <a name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES" id="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a> = 3007 : 3007
+    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_1" id="XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a> = 3008 : 3008
+    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_2" id="XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a> = 3009 : 3009
+    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_3" id="XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a> = 3010 : 3010
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a> = 3011 : 3011
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a> = 3012 : 3012
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a> = 3013 : 3013
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a> = 3014 : 3014
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a> = 3015 : 3015
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a> = 3016 : 3016
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a> = 3017 : 3017
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a> = 3018 : 3018
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a> = 3019 : 3019
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a> = 3020 : 3020
     <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a> = 3021 : 3021
     <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a> = 3022 : 3022
     <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a> = 3023 : 3023
@@ -663,6 +697,89 @@
     <a name="XML_SCHEMAP_S4S_ELEM_MISSING" id="XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a> = 3034 : 3034
     <a name="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED" id="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a> = 3035 : 3035
     <a name="XML_SCHEMAP_S4S_ATTR_MISSING" id="XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a> = 3036 : 3036
+    <a name="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE" id="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a> = 3037 : 3037
+    <a name="XML_SCHEMAP_SRC_ELEMENT_1" id="XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a> = 3038 : 3038
+    <a name="XML_SCHEMAP_SRC_ELEMENT_2_1" id="XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a> = 3039 : 3039
+    <a name="XML_SCHEMAP_SRC_ELEMENT_2_2" id="XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a> = 3040 : 3040
+    <a name="XML_SCHEMAP_SRC_ELEMENT_3" id="XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a> = 3041 : 3041
+    <a name="XML_SCHEMAP_P_PROPS_CORRECT_1" id="XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a> = 3042 : 3042
+    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_1" id="XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a> = 3043 : 3043
+    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_2" id="XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a> = 3044 : 3044
+    <a name="XML_SCHEMAP_E_PROPS_CORRECT_2" id="XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a> = 3045 : 3045
+    <a name="XML_SCHEMAP_E_PROPS_CORRECT_3" id="XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a> = 3046 : 3046
+    <a name="XML_SCHEMAP_E_PROPS_CORRECT_4" id="XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a> = 3047 : 3047
+    <a name="XML_SCHEMAP_E_PROPS_CORRECT_5" id="XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a> = 3048 : 3048
+    <a name="XML_SCHEMAP_E_PROPS_CORRECT_6" id="XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a> = 3049 : 3049
+    <a name="XML_SCHEMAP_SRC_INCLUDE" id="XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a> = 3050 : 3050
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_1" id="XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a> = 3051 : 3051
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_2" id="XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a> = 3052 : 3052
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_1" id="XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a> = 3053 : 3053
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_2" id="XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a> = 3054 : 3054
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_4" id="XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a> = 3055 : 3055
+    <a name="XML_SCHEMAP_NO_XMLNS" id="XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a> = 3056 : 3056
+    <a name="XML_SCHEMAP_NO_XSI" id="XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a> = 3057 : 3057
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a> = 3058 : 3058
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a> = 3059 : 3059
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a> = 3060 : 3060
+    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2" id="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a> = 3061 : 3061
+    <a name="XML_SCHEMAP_CVC_SIMPLE_TYPE" id="XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a> = 3062 : 3062
+    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_1" id="XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a> = 3063 : 3063
+    <a name="XML_SCHEMAP_SRC_IMPORT_1_1" id="XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a> = 3064 : 3064
+    <a name="XML_SCHEMAP_SRC_IMPORT_1_2" id="XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a> = 3065 : 3065
+    <a name="XML_SCHEMAP_SRC_IMPORT_2" id="XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a> = 3066 : 3066
+    <a name="XML_SCHEMAP_SRC_IMPORT_2_1" id="XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a> = 3067 : 3067
+    <a name="XML_SCHEMAP_SRC_IMPORT_2_2" id="XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a> = 3068 : 3068
+    <a name="XML_SCHEMAP_INTERNAL" id="XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a> = 3069 : 3069 non-W3C
+    <a name="XML_SCHEMAP_NOT_DETERMINISTIC" id="XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a> = 3070 : 3070 non-W3C
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a> = 3071 : 3071
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a> = 3072 : 3072
+    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3" id="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a> = 3073 : 3073
+    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_1" id="XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a> = 3074 : 3074
+    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_2" id="XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a> = 3075 : 3075
+    <a name="XML_SCHEMAP_SRC_CT_1" id="XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a> = 3076 : 3076
+    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3" id="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a> = 3077 : 3077
+    <a name="XML_SCHEMAP_AU_PROPS_CORRECT_2" id="XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a> = 3078 : 3078
+    <a name="XML_SCHEMAP_A_PROPS_CORRECT_2" id="XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a> = 3079 : 3079
+    <a name="XML_CHECK_FOUND_ELEMENT" id="XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a> = 5000
+    <a name="XML_CHECK_FOUND_ATTRIBUTE" id="XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a> = 5001 : 5001
+    <a name="XML_CHECK_FOUND_TEXT" id="XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a> = 5002 : 5002
+    <a name="XML_CHECK_FOUND_CDATA" id="XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a> = 5003 : 5003
+    <a name="XML_CHECK_FOUND_ENTITYREF" id="XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a> = 5004 : 5004
+    <a name="XML_CHECK_FOUND_ENTITY" id="XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a> = 5005 : 5005
+    <a name="XML_CHECK_FOUND_PI" id="XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a> = 5006 : 5006
+    <a name="XML_CHECK_FOUND_COMMENT" id="XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a> = 5007 : 5007
+    <a name="XML_CHECK_FOUND_DOCTYPE" id="XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a> = 5008 : 5008
+    <a name="XML_CHECK_FOUND_FRAGMENT" id="XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a> = 5009 : 5009
+    <a name="XML_CHECK_FOUND_NOTATION" id="XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a> = 5010 : 5010
+    <a name="XML_CHECK_UNKNOWN_NODE" id="XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a> = 5011 : 5011
+    <a name="XML_CHECK_ENTITY_TYPE" id="XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a> = 5012 : 5012
+    <a name="XML_CHECK_NO_PARENT" id="XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a> = 5013 : 5013
+    <a name="XML_CHECK_NO_DOC" id="XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a> = 5014 : 5014
+    <a name="XML_CHECK_NO_NAME" id="XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a> = 5015 : 5015
+    <a name="XML_CHECK_NO_ELEM" id="XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a> = 5016 : 5016
+    <a name="XML_CHECK_WRONG_DOC" id="XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a> = 5017 : 5017
+    <a name="XML_CHECK_NO_PREV" id="XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a> = 5018 : 5018
+    <a name="XML_CHECK_WRONG_PREV" id="XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a> = 5019 : 5019
+    <a name="XML_CHECK_NO_NEXT" id="XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a> = 5020 : 5020
+    <a name="XML_CHECK_WRONG_NEXT" id="XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a> = 5021 : 5021
+    <a name="XML_CHECK_NOT_DTD" id="XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a> = 5022 : 5022
+    <a name="XML_CHECK_NOT_ATTR" id="XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a> = 5023 : 5023
+    <a name="XML_CHECK_NOT_ATTR_DECL" id="XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a> = 5024 : 5024
+    <a name="XML_CHECK_NOT_ELEM_DECL" id="XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a> = 5025 : 5025
+    <a name="XML_CHECK_NOT_ENTITY_DECL" id="XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a> = 5026 : 5026
+    <a name="XML_CHECK_NOT_NS_DECL" id="XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a> = 5027 : 5027
+    <a name="XML_CHECK_NO_HREF" id="XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a> = 5028 : 5028
+    <a name="XML_CHECK_WRONG_PARENT" id="XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a> = 5029 : 5029
+    <a name="XML_CHECK_NS_SCOPE" id="XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a> = 5030 : 5030
+    <a name="XML_CHECK_NS_ANCESTOR" id="XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a> = 5031 : 5031
+    <a name="XML_CHECK_NOT_UTF8" id="XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a> = 5032 : 5032
+    <a name="XML_CHECK_NO_DICT" id="XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a> = 5033 : 5033
+    <a name="XML_CHECK_NOT_NCNAME" id="XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a> = 5034 : 5034
+    <a name="XML_CHECK_OUTSIDE_DICT" id="XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a> = 5035 : 5035
+    <a name="XML_CHECK_WRONG_NAME" id="XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a> = 5036 : 5036
+    <a name="XML_CHECK_NAME_NOT_NULL" id="XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a> = 5037 : 5037
+    <a name="XML_CHECK_" id="XML_CHECK_">XML_CHECK_</a> = 5038 : 5033
+    <a name="XML_CHECK_X" id="XML_CHECK_X">XML_CHECK_X</a> = 5039 : 503
 }
 </pre><h3><a name="initGenericErrorDefaultFunc" id="initGenericErrorDefaultFunc"></a>Function: initGenericErrorDefaultFunc</h3><pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler)<br />
 </pre><p>Set or reset (if NULL) the default handler for generic errors to the builtin error function.</p>
@@ -694,9 +811,9 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the error.</td></tr></tbody></table></div><h3><a name="xmlResetLastError" id="xmlResetLastError"></a>Function: xmlResetLastError</h3><pre class="programlisting">void	xmlResetLastError		(void)<br />
 </pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
 <h3><a name="xmlSetGenericErrorFunc" id="xmlSetGenericErrorFunc"></a>Function: xmlSetGenericErrorFunc</h3><pre class="programlisting">void	xmlSetGenericErrorFunc		(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br />
-</pre><p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.</p>
+</pre><p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div><h3><a name="xmlSetStructuredErrorFunc" id="xmlSetStructuredErrorFunc"></a>Function: xmlSetStructuredErrorFunc</h3><pre class="programlisting">void	xmlSetStructuredErrorFunc	(void * ctx, <br />					 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br />
-</pre><p>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler</p>
+</pre><p>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler function</td></tr></tbody></table></div><h3><a name="xmlStructuredErrorFunc" id="xmlStructuredErrorFunc"></a>Function type: xmlStructuredErrorFunc</h3><pre class="programlisting">Function type: xmlStructuredErrorFunc
 void	xmlStructuredErrorFunc		(void * userData, <br />					 <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)
 </pre><p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the error callback</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error being raised.</td></tr></tbody></table></div><br />

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlexports.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlexports.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlexports.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlexports from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlexports from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="n" href="libxml-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>macros for marking symbols as exportable/importable. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a></pre><pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a></pre><pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a></pre><pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a></pre><pre class="programlisting">#define <a href="#_REENTRANT">_REENTRANT</a></pre><h2>Description</h2>
+    </style><title>Module xmlexports from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlexports from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="n" href="libxml-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>macros for marking symbols as exportable/importable. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a></pre><pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a></pre><pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a></pre><pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a></pre><pre class="programlisting">#define <a href="#_REENTRANT">_REENTRANT</a></pre><h2>Description</h2>
 <h3><a name="LIBXML_DLL_IMPORT" id="LIBXML_DLL_IMPORT"></a>Macro: LIBXML_DLL_IMPORT</h3><pre>#define LIBXML_DLL_IMPORT</pre><p></p>
 <h3><a name="XMLCALL" id="XMLCALL"></a>Macro: XMLCALL</h3><pre>#define XMLCALL</pre><p></p>
 <h3><a name="XMLPUBFUN" id="XMLPUBFUN"></a>Macro: XMLPUBFUN</h3><pre>#define XMLPUBFUN</pre><p></p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlmemory.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlmemory.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlmemory.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlmemory from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmemory from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>provides interfaces for the memory allocator, including debugging capabilities. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a></pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMalloc" id="xmlMalloc"></a>xmlMalloc
+    </style><title>Module xmlmemory from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlmemory from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlexports.html">xmlexports</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>provides interfaces for the memory allocator, including debugging capabilities. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a></pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMalloc" id="xmlMalloc"></a>xmlMalloc
 
 </pre><pre class="programlisting">Variable <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> <a name="xmlMallocAtomic" id="xmlMallocAtomic"></a>xmlMallocAtomic
 
@@ -30,6 +30,7 @@
 void *	<a href="#xmlMallocFunc">xmlMallocFunc</a>			(size_t size)
 </pre>
 <pre class="programlisting">void *	<a href="#xmlMallocLoc">xmlMallocLoc</a>			(size_t size, <br />					 const char * file, <br />					 int line)</pre>
+<pre class="programlisting">int	<a href="#xmlMemBlocks">xmlMemBlocks</a>			(void)</pre>
 <pre class="programlisting">void	<a href="#xmlMemDisplay">xmlMemDisplay</a>			(FILE * fp)</pre>
 <pre class="programlisting">void	<a href="#xmlMemFree">xmlMemFree</a>			(void * ptr)</pre>
 <pre class="programlisting">int	<a href="#xmlMemGet">xmlMemGet</a>			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)</pre>
@@ -68,7 +69,9 @@
 </pre><p>Signature for a malloc() implementation.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size requested in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the newly allocated block or NULL in case of error.</td></tr></tbody></table></div><br />
 <h3><a name="xmlMallocLoc" id="xmlMallocLoc"></a>Function: xmlMallocLoc</h3><pre class="programlisting">void *	xmlMallocLoc			(size_t size, <br />					 const char * file, <br />					 int line)<br />
 </pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div><h3><a name="xmlMemDisplay" id="xmlMemDisplay"></a>Function: xmlMemDisplay</h3><pre class="programlisting">void	xmlMemDisplay			(FILE * fp)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div><h3><a name="xmlMemBlocks" id="xmlMemBlocks"></a>Function: xmlMemBlocks</h3><pre class="programlisting">int	xmlMemBlocks			(void)<br />
+</pre><p>Provides the number of memory areas currently allocated</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the number of blocks</td></tr></tbody></table></div><h3><a name="xmlMemDisplay" id="xmlMemDisplay"></a>Function: xmlMemDisplay</h3><pre class="programlisting">void	xmlMemDisplay			(FILE * fp)<br />
 </pre><p>show in-extenso the memory blocks allocated</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fp</tt></i>:</span></td><td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td></tr></tbody></table></div><h3><a name="xmlMemFree" id="xmlMemFree"></a>Function: xmlMemFree</h3><pre class="programlisting">void	xmlMemFree			(void * ptr)<br />
 </pre><p></p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlreader.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlreader.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlreader.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlreader from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlreader from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="n" href="libxml-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API of the XML streaming API based on C# interfaces. </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlParserProperties">xmlParserProperties</a>
+    </style><title>Module xmlreader from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlreader from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlmemory.html">xmlmemory</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="n" href="libxml-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API of the XML streaming API based on C# interfaces. </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlParserProperties">xmlParserProperties</a>
 </pre><pre class="programlisting">Enum <a href="#xmlParserSeverities">xmlParserSeverities</a>
 </pre><pre class="programlisting">Enum <a href="#xmlReaderTypes">xmlReaderTypes</a>
 </pre><pre class="programlisting">Structure <a href="#xmlTextReader">xmlTextReader</a><br />struct _xmlTextReader
@@ -37,6 +37,7 @@
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">int	<a href="#xmlTextReaderClose">xmlTextReaderClose</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
+<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstName">xmlTextReaderConstName</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
@@ -44,6 +45,7 @@
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstString">xmlTextReaderConstString</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstValue">xmlTextReaderConstValue</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
+<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">int	<a href="#xmlTextReaderDepth">xmlTextReaderDepth</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
@@ -61,6 +63,7 @@
 <pre class="programlisting">int	<a href="#xmlTextReaderHasValue">xmlTextReaderHasValue</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">int	<a href="#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">int	<a href="#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
+<pre class="programlisting">int	<a href="#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting">int	<a href="#xmlTextReaderIsValid">xmlTextReaderIsValid</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocalName">xmlTextReaderLocalName</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a>	(<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)</pre>
@@ -93,6 +96,7 @@
 <pre class="programlisting">void	<a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br />					 void * arg)</pre>
 <pre class="programlisting">int	<a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 int prop, <br />					 int value)</pre>
 <pre class="programlisting">void	<a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br />						 void * arg)</pre>
+<pre class="programlisting">int	<a href="#xmlTextReaderStandalone">xmlTextReaderStandalone</a>		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderValue">xmlTextReaderValue</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)</pre>
 <h2>Description</h2>
@@ -176,7 +180,9 @@
 </pre><p>This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstBaseUri" id="xmlTextReaderConstBaseUri"></a>Function: xmlTextReaderConstBaseUri</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstBaseUri	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>The base URI of the node.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, the string will be deallocated with the reader</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstLocalName" id="xmlTextReaderConstLocalName"></a>Function: xmlTextReaderConstLocalName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstLocalName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, the string will be deallocated with the reader</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstEncoding" id="xmlTextReaderConstEncoding"></a>Function: xmlTextReaderConstEncoding</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstEncoding	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+</pre><p>Determine the encoding of the document being read.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstLocalName" id="xmlTextReaderConstLocalName"></a>Function: xmlTextReaderConstLocalName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstLocalName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>The local name of the node.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, the string will be deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstName" id="xmlTextReaderConstName"></a>Function: xmlTextReaderConstName</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>The qualified name of the node, equal to Prefix :LocalName.</p>
@@ -190,7 +196,9 @@
 </pre><p>Provides the text value of the node if present</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result will be deallocated on the next Read() operation.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstXmlLang" id="xmlTextReaderConstXmlLang"></a>Function: xmlTextReaderConstXmlLang</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlLang	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>The xml:lang scope within which the node resides.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists.</td></tr></tbody></table></div><h3><a name="xmlTextReaderCurrentDoc" id="xmlTextReaderCurrentDoc"></a>Function: xmlTextReaderCurrentDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlTextReaderCurrentDoc	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists.</td></tr></tbody></table></div><h3><a name="xmlTextReaderConstXmlVersion" id="xmlTextReaderConstXmlVersion"></a>Function: xmlTextReaderConstXmlVersion</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlVersion	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+</pre><p>Determine the XML version of the document being read.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div><h3><a name="xmlTextReaderCurrentDoc" id="xmlTextReaderCurrentDoc"></a>Function: xmlTextReaderCurrentDoc</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlTextReaderCurrentDoc	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderCurrentNode" id="xmlTextReaderCurrentNode"></a>Function: xmlTextReaderCurrentNode</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderCurrentNode	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>Hacking interface allowing to get the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p>
@@ -221,7 +229,9 @@
 </pre><p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if not defaulted, 1 if defaulted, and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsEmptyElement" id="xmlTextReaderIsEmptyElement"></a>Function: xmlTextReaderIsEmptyElement</h3><pre class="programlisting">int	xmlTextReaderIsEmptyElement	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>Check if the current node is empty</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if empty, 0 if not and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsValid" id="xmlTextReaderIsValid"></a>Function: xmlTextReaderIsValid</h3><pre class="programlisting">int	xmlTextReaderIsValid		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if empty, 0 if not and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsNamespaceDecl" id="xmlTextReaderIsNamespaceDecl"></a>Function: xmlTextReaderIsNamespaceDecl</h3><pre class="programlisting">int	xmlTextReaderIsNamespaceDecl	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+</pre><p>Determine whether the current node is a namespace declaration rather than a regular attribute.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the current node is a namespace declaration, 0 if it is a regular <a href="libxml-SAX.html#attribute">attribute</a> or other type of node, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderIsValid" id="xmlTextReaderIsValid"></a>Function: xmlTextReaderIsValid</h3><pre class="programlisting">int	xmlTextReaderIsValid		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>Retrieve the validity status from the parser context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the flag value 1 if valid, 0 if no, and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderLocalName" id="xmlTextReaderLocalName"></a>Function: xmlTextReaderLocalName</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocalName	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>The local name of the node.</p>
@@ -285,7 +295,9 @@
 </pre><p>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>usually 0 or 1 to (de)activate it</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the call was successful, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderSetStructuredErrorHandler" id="xmlTextReaderSetStructuredErrorHandler"></a>Function: xmlTextReaderSetStructuredErrorHandler</h3><pre class="programlisting">void	xmlTextReaderSetStructuredErrorHandler	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br />						 void * arg)<br />
 </pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div><h3><a name="xmlTextReaderValue" id="xmlTextReaderValue"></a>Function: xmlTextReaderValue</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderValue	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to the callback function</td></tr></tbody></table></div><h3><a name="xmlTextReaderStandalone" id="xmlTextReaderStandalone"></a>Function: xmlTextReaderStandalone</h3><pre class="programlisting">int	xmlTextReaderStandalone		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+</pre><p>Determine the standalone status of the document being read.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderValue" id="xmlTextReaderValue"></a>Function: xmlTextReaderValue</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderValue	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>Provides the text value of the node if present</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result must be deallocated with xmlFree()</td></tr></tbody></table></div><h3><a name="xmlTextReaderXmlLang" id="xmlTextReaderXmlLang"></a>Function: xmlTextReaderXmlLang</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderXmlLang	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>The xml:lang scope within which the node resides.</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlregexp.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlregexp.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlregexp.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlregexp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlregexp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="n" href="libxml-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a><br />struct _xmlRegExecCtxt
+    </style><title>Module xmlregexp from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlregexp from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlreader.html">xmlreader</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="n" href="libxml-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a><br />struct _xmlRegExecCtxt
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a name="xmlRegExecCtxtPtr" id="xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlRegexp">xmlRegexp</a><br />struct _xmlRegexp

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlsave.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlsave.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlsave.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlsave from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlsave from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to save document or subtree of document </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSaveCtxt">xmlSaveCtxt</a><br />struct _xmlSaveCtxt
+    </style><title>Module xmlsave from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlsave from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlregexp.html">xmlregexp</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API to save document or subtree of document </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSaveCtxt">xmlSaveCtxt</a><br />struct _xmlSaveCtxt
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * <a name="xmlSaveCtxtPtr" id="xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>
 </pre><pre class="programlisting">int	<a href="#xmlSaveClose">xmlSaveClose</a>			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlschemas.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlschemas.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlschemas.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlschemas from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemas from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="n" href="libxml-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchema">xmlSchema</a><br />struct _xmlSchema
+    </style><title>Module xmlschemas from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemas from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlsave.html">xmlsave</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="n" href="libxml-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlSchema">xmlSchema</a><br />struct _xmlSchema
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a><br />struct _xmlSchemaParserCtxt
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a name="xmlSchemaParserCtxtPtr" id="xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>
@@ -19,10 +19,13 @@
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a name="xmlSchemaValidCtxtPtr" id="xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>
 </pre><pre class="programlisting">Enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>
+</pre><pre class="programlisting">Enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>
 </pre><pre class="programlisting">void	<a href="#xmlSchemaDump">xmlSchemaDump</a>			(FILE * output, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaFree">xmlSchemaFree</a>			(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a>	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)</pre>
 <pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
 <pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>	(const char * buffer, <br />							 int size)</pre>
 <pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>	(const char * URL)</pre>
@@ -30,7 +33,10 @@
 <pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	<a href="#xmlSchemaParse">xmlSchemaParse</a>		(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)</pre>
 <pre class="programlisting">Function type: <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>
 void	<a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br />					 const char * msg, <br />					 ... ...)
@@ -58,6 +64,7 @@
     <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
     void *	includes	: the includes, this is opaque for now
     int	preserve	: whether to free the document
+    int	counter	: used to give ononymous components uniqu
 }</pre><h3><a name="xmlSchemaParserCtxt" id="xmlSchemaParserCtxt">Structure xmlSchemaParserCtxt</a></h3><pre class="programlisting">Structure xmlSchemaParserCtxt<br />struct _xmlSchemaParserCtxt {
 The content of this structure is not made public by the API.
 }</pre><h3><a name="xmlSchemaValidCtxt" id="xmlSchemaValidCtxt">Structure xmlSchemaValidCtxt</a></h3><pre class="programlisting">Structure xmlSchemaValidCtxt<br />struct _xmlSchemaValidCtxt {
@@ -90,6 +97,9 @@
     <a name="XML_SCHEMAS_ERR_" id="XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a> = 24
     <a name="XML_SCHEMAS_ERR_XXX" id="XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a> = 25
 }
+</pre><h3>Enum <a name="xmlSchemaValidOption" id="xmlSchemaValidOption">xmlSchemaValidOption</a></h3><pre class="programlisting">Enum xmlSchemaValidOption {
+    <a name="XML_SCHEMA_VAL_VC_I_CREATE" id="XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a> = 1 : Default/fixed: create an <a href="libxml-SAX.html#attribute">attribute</a> node * or an element's text node on the instance. *
+}
 </pre><h3><a name="xmlSchemaDump" id="xmlSchemaDump"></a>Function: xmlSchemaDump</h3><pre class="programlisting">void	xmlSchemaDump			(FILE * output, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
 </pre><p>Dump a Schema structure.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the file output</td></tr><tr><td><span class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFree" id="xmlSchemaFree"></a>Function: xmlSchemaFree</h3><pre class="programlisting">void	xmlSchemaFree			(<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br />
@@ -98,7 +108,11 @@
 </pre><p>Free the resources associated to the schema parser context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeValidCtxt" id="xmlSchemaFreeValidCtxt"></a>Function: xmlSchemaFreeValidCtxt</h3><pre class="programlisting">void	xmlSchemaFreeValidCtxt		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
 </pre><p>Free the resources associated to the schema validation context</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div><h3><a name="xmlSchemaNewDocParserCtxt" id="xmlSchemaNewDocParserCtxt"></a>Function: xmlSchemaNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr></tbody></table></div><h3><a name="xmlSchemaGetParserErrors" id="xmlSchemaGetParserErrors"></a>Function: xmlSchemaGetParserErrors</h3><pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
+</pre><p>Get the callback information used to handle errors for a parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XMl-Schema parser context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaGetValidErrors" id="xmlSchemaGetValidErrors"></a>Function: xmlSchemaGetValidErrors</h3><pre class="programlisting">int	xmlSchemaGetValidErrors		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />					 void ** ctx)<br />
+</pre><p>Get the error and warning callback informations</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XML-Schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaNewDocParserCtxt" id="xmlSchemaNewDocParserCtxt"></a>Function: xmlSchemaNewDocParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewMemParserCtxt" id="xmlSchemaNewMemParserCtxt"></a>Function: xmlSchemaNewMemParserCtxt</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewMemParserCtxt	(const char * buffer, <br />							 int size)<br />
 </pre><p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
@@ -112,9 +126,15 @@
 </pre><p>Set the callback functions used to handle errors for a validation context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidErrors" id="xmlSchemaSetValidErrors"></a>Function: xmlSchemaSetValidErrors</h3><pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />					 void * ctx)<br />
 </pre><p>Set the error and warning callback informations</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateDoc" id="xmlSchemaValidateDoc"></a>Function: xmlSchemaValidateDoc</h3><pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidOptions" id="xmlSchemaSetValidOptions"></a>Function: xmlSchemaSetValidOptions</h3><pre class="programlisting">int	xmlSchemaSetValidOptions	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 int options)<br />
+</pre><p>Sets the options to be used during the validation.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a href="libxml-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of an API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidCtxtGetOptions" id="xmlSchemaValidCtxtGetOptions"></a>Function: xmlSchemaValidCtxtGetOptions</h3><pre class="programlisting">int	xmlSchemaValidCtxtGetOptions	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the option combination of the validation context.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateDoc" id="xmlSchemaValidateDoc"></a>Function: xmlSchemaValidateDoc</h3><pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Validate a document tree in memory.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateStream" id="xmlSchemaValidateStream"></a>Function: xmlSchemaValidateStream</h3><pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateOneElement" id="xmlSchemaValidateOneElement"></a>Function: xmlSchemaValidateOneElement</h3><pre class="programlisting">int	xmlSchemaValidateOneElement	(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br />
+</pre><p>Validate a branch of a tree, starting with the given @elem.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>an element node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateStream" id="xmlSchemaValidateStream"></a>Function: xmlSchemaValidateStream</h3><pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br />					 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br />					 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />					 void * user_data)<br />
 </pre><p>Validate a document tree in memory.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the input to use for reading the data</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding information</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler for the resulting events</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the context to provide to the SAX handler.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidityErrorFunc" id="xmlSchemaValidityErrorFunc"></a>Function type: xmlSchemaValidityErrorFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityErrorFunc
 void	xmlSchemaValidityErrorFunc	(void * ctx, <br />					 const char * msg, <br />					 ... ...)

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlschemastypes.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlschemastypes.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlschemastypes.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlschemastypes from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemastypes from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="n" href="libxml-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>module providing the XML Schema Datatypes implementation both definition and validity checking </p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
+    </style><title>Module xmlschemastypes from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemastypes from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="n" href="libxml-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>module providing the XML Schema Datatypes implementation both definition and validity checking </p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a>		(void)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)</pre>
@@ -18,12 +18,15 @@
 <pre class="programlisting">void	<a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a>		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)</pre>
 <pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)</pre>
 <pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)</pre>
+<pre class="programlisting">unsigned long	<a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a>	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)</pre>
 <pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaInitTypes">xmlSchemaInitTypes</a>		(void)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 int facetType)</pre>
 <pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	<a href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a>	(void)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 unsigned long * length)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 unsigned long actualLen, <br />						 unsigned long * expectedLen)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)</pre>
 <h2>Description</h2>
@@ -40,22 +43,28 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>a schema facet structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeValue" id="xmlSchemaFreeValue"></a>Function: xmlSchemaFreeValue</h3><pre class="programlisting">void	xmlSchemaFreeValue		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)<br />
 </pre><p>Cleanup the default XML Schemas type library</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to free</td></tr></tbody></table></div><h3><a name="xmlSchemaGetBuiltInListSimpleTypeItemType" id="xmlSchemaGetBuiltInListSimpleTypeItemType"></a>Function: xmlSchemaGetBuiltInListSimpleTypeItemType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInListSimpleTypeItemType	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br />
-</pre><p></p>
+</pre><p>Lookup function</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in simple type.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetBuiltInType" id="xmlSchemaGetBuiltInType"></a>Function: xmlSchemaGetBuiltInType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInType	(<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)<br />
 </pre><p>Gives you the type struct for a built-in type by its type id.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of the built in type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetPredefinedType" id="xmlSchemaGetPredefinedType"></a>Function: xmlSchemaGetPredefinedType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of the built in type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetFacetValueAsULong" id="xmlSchemaGetFacetValueAsULong"></a>Function: xmlSchemaGetFacetValueAsULong</h3><pre class="programlisting">unsigned long	xmlSchemaGetFacetValueAsULong	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br />
+</pre><p>Extract the value of a facet</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>an schemas type facet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value as a long</td></tr></tbody></table></div><h3><a name="xmlSchemaGetPredefinedType" id="xmlSchemaGetPredefinedType"></a>Function: xmlSchemaGetPredefinedType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
 </pre><p>Lookup a type in the default XML Schemas type library</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the type name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaInitTypes" id="xmlSchemaInitTypes"></a>Function: xmlSchemaInitTypes</h3><pre class="programlisting">void	xmlSchemaInitTypes		(void)<br />
 </pre><p>Initialize the default XML Schemas type library</p>
 <h3><a name="xmlSchemaIsBuiltInTypeFacet" id="xmlSchemaIsBuiltInTypeFacet"></a>Function: xmlSchemaIsBuiltInTypeFacet</h3><pre class="programlisting">int	xmlSchemaIsBuiltInTypeFacet	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 int facetType)<br />
-</pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>facetType</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlSchemaNewFacet" id="xmlSchemaNewFacet"></a>Function: xmlSchemaNewFacet</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br />
+</pre><p>Evaluates if a specific facet can be used in conjunction with a type.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facetType</tt></i>:</span></td><td>the facet type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.</td></tr></tbody></table></div><h3><a name="xmlSchemaNewFacet" id="xmlSchemaNewFacet"></a>Function: xmlSchemaNewFacet</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br />
 </pre><p>Allocate a new Facet structure.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly allocated structure or NULL in case or error</td></tr></tbody></table></div><h3><a name="xmlSchemaValPredefTypeNode" id="xmlSchemaValPredefTypeNode"></a>Function: xmlSchemaValPredefTypeNode</h3><pre class="programlisting">int	xmlSchemaValPredefTypeNode	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
 </pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValPredefTypeNodeNoNorm" id="xmlSchemaValPredefTypeNodeNoNorm"></a>Function: xmlSchemaValPredefTypeNodeNoNorm</h3><pre class="programlisting">int	xmlSchemaValPredefTypeNodeNoNorm	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
+</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateFacet" id="xmlSchemaValidateFacet"></a>Function: xmlSchemaValidateFacet</h3><pre class="programlisting">int	xmlSchemaValidateFacet		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br />
 </pre><p>Check a value against a facet condition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateListSimpleTypeFacet" id="xmlSchemaValidateListSimpleTypeFacet"></a>Function: xmlSchemaValidateListSimpleTypeFacet</h3><pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 unsigned long actualLen, <br />						 unsigned long * expectedLen)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateLengthFacet" id="xmlSchemaValidateLengthFacet"></a>Function: xmlSchemaValidateLengthFacet</h3><pre class="programlisting">int	xmlSchemaValidateLengthFacet	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br />					 unsigned long * length)<br />
+</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateListSimpleTypeFacet" id="xmlSchemaValidateListSimpleTypeFacet"></a>Function: xmlSchemaValidateListSimpleTypeFacet</h3><pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 unsigned long actualLen, <br />						 unsigned long * expectedLen)<br />
 </pre><p>Checks the value of a list simple type against a facet.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>actualLen</tt></i>:</span></td><td>the number of list items</td></tr><tr><td><span class="term"><i><tt>expectedLen</tt></i>:</span></td><td>the resulting expected number of list items</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidatePredefinedType" id="xmlSchemaValidatePredefinedType"></a>Function: xmlSchemaValidatePredefinedType</h3><pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br />
 </pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlstring.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlstring.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlstring.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlstring from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlstring from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="n" href="libxml-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a></pre><pre class="programlisting">Typedef unsigned char <a name="xmlChar" id="xmlChar">xmlChar</a>
+    </style><title>Module xmlstring from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlstring from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemastypes.html">xmlschemastypes</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="n" href="libxml-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a></pre><pre class="programlisting">Typedef unsigned char <a name="xmlChar" id="xmlChar">xmlChar</a>
 </pre><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrdup">xmlCharStrdup</a>		(const char * cur)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrndup">xmlCharStrndup</a>		(const char * cur, <br />					 int len)</pre>
 <pre class="programlisting">int	<a href="#xmlCheckUTF8">xmlCheckUTF8</a>			(const unsigned char * utf)</pre>
@@ -38,7 +38,7 @@
 <pre class="programlisting">int	<a href="#xmlUTF8Strlen">xmlUTF8Strlen</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf)</pre>
 <pre class="programlisting">int	<a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utfchar)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)</pre>
-<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)</pre>
+<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)</pre>
 <pre class="programlisting">int	<a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int start, <br />					 int len)</pre>
 <h2>Description</h2>
@@ -50,8 +50,8 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the input char *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlCheckUTF8" id="xmlCheckUTF8"></a>Function: xmlCheckUTF8</h3><pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br />
 </pre><p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>Pointer to putative UTF-8 encoded string.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>value: true if @utf is valid.</td></tr></tbody></table></div><h3><a name="xmlGetUTF8Char" id="xmlGetUTF8Char"></a>Function: xmlGetUTF8Char</h3><pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br />					 int * len)<br />
-</pre><p>Read one UTF8 Char from @utf</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to @bytes len</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error, and updates *len with the number of bytes consumed</td></tr></tbody></table></div><h3><a name="xmlStrEqual" id="xmlStrEqual"></a>Function: xmlStrEqual</h3><pre class="programlisting">int	xmlStrEqual			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
+</pre><p>Read the first UTF8 character from @utf</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)</td></tr></tbody></table></div><h3><a name="xmlStrEqual" id="xmlStrEqual"></a>Function: xmlStrEqual</h3><pre class="programlisting">int	xmlStrEqual			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
 </pre><p>Check if both string are equal of have same content Should be a bit more readable and faster than xmlStrEqual()</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are different</td></tr></tbody></table></div><h3><a name="xmlStrPrintf" id="xmlStrPrintf"></a>Function: xmlStrPrintf</h3><pre class="programlisting">int	xmlStrPrintf			(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * buf, <br />					 int len, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * msg, <br />					 ... ...)<br />
 </pre><p>Formats @msg and places result into @buf.</p>
@@ -97,10 +97,10 @@
 </pre><p>a function to provide the relative location of a UTF8 char</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>utfchar</tt></i>:</span></td><td>the UTF8 character to be found</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the relative character position of the desired char or -1 if not found</td></tr></tbody></table></div><h3><a name="xmlUTF8Strndup" id="xmlUTF8Strndup"></a>Function: xmlUTF8Strndup</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strndup		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)<br />
 </pre><p>a strndup for array of UTF8's</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @utf (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new UTF8 * or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strpos" id="xmlUTF8Strpos"></a>Function: xmlUTF8Strpos</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @utf (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new UTF8 * or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strpos" id="xmlUTF8Strpos"></a>Function: xmlUTF8Strpos</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)<br />
 </pre><p>a function to provide the equivalent of fetching a character from a string array</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>pos</tt></i>:</span></td><td>the position of the desired UTF8 char (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the UTF8 character or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsize" id="xmlUTF8Strsize"></a>Function: xmlUTF8Strsize</h3><pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)<br />
-</pre><p>storage size of an UTF8 string</p>
+</pre><p>storage size of an UTF8 string the behaviour is not garanteed if the input string is not UTF-8</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> in the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the storage size of the first 'len' <a href="libxml-SAX.html#characters">characters</a> of ARRAY</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsub" id="xmlUTF8Strsub"></a>Function: xmlUTF8Strsub</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int start, <br />					 int len)<br />
 </pre><p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>relative pos of first char</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>total number to copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a newly created string or NULL if any problem</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlunicode.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlunicode.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlunicode.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlunicode from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlunicode from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="n" href="libxml-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>		(int code)</pre>
+    </style><title>Module xmlunicode from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlunicode from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="n" href="libxml-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>		(int code)</pre>
 <pre class="programlisting">int	<a href="#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a>	(int code)</pre>
 <pre class="programlisting">int	<a href="#xmlUCSIsArabic">xmlUCSIsArabic</a>			(int code)</pre>
 <pre class="programlisting">int	<a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a>	(int code)</pre>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlversion.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlversion.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlversion.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlversion from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlversion from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="n" href="libxml-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>compile-time version informations for the XML library </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a></pre><pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></pre><pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a></pre><pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a></pre><pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a></pre><pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a></pre><pre class="programlisting">void	<a href="#xmlCheckVersion">xmlCheckVersion</a>			(int version)</pre>
+    </style><title>Module xmlversion from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlversion from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="n" href="libxml-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>compile-time version informations for the XML library </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a></pre><pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></pre><pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a></pre><pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a></pre><pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a></pre><pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a></pre><pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a></pre><pre class="programlisting">void	<a href="#xmlCheckVersion">xmlCheckVersion</a>			(int version)</pre>
 <h2>Description</h2>
 <h3><a name="ATTRIBUTE_UNUSED" id="ATTRIBUTE_UNUSED"></a>Macro: ATTRIBUTE_UNUSED</h3><pre>#define ATTRIBUTE_UNUSED</pre><p>Macro used to signal to GCC unused function parameters</p>
 <h3><a name="DEBUG_MEMORY_LOCATION" id="DEBUG_MEMORY_LOCATION"></a>Macro: DEBUG_MEMORY_LOCATION</h3><pre>#define DEBUG_MEMORY_LOCATION</pre><p>Whether the memory debugging is configured in</p>
@@ -18,6 +18,7 @@
 <h3><a name="LIBXML_C14N_ENABLED" id="LIBXML_C14N_ENABLED"></a>Macro: LIBXML_C14N_ENABLED</h3><pre>#define LIBXML_C14N_ENABLED</pre><p>Whether the Canonicalization support is configured in</p>
 <h3><a name="LIBXML_CATALOG_ENABLED" id="LIBXML_CATALOG_ENABLED"></a>Macro: LIBXML_CATALOG_ENABLED</h3><pre>#define LIBXML_CATALOG_ENABLED</pre><p>Whether the Catalog support is configured in</p>
 <h3><a name="LIBXML_DEBUG_ENABLED" id="LIBXML_DEBUG_ENABLED"></a>Macro: LIBXML_DEBUG_ENABLED</h3><pre>#define LIBXML_DEBUG_ENABLED</pre><p>Whether Debugging module is configured in</p>
+<h3><a name="LIBXML_DEBUG_RUNTIME" id="LIBXML_DEBUG_RUNTIME"></a>Macro: LIBXML_DEBUG_RUNTIME</h3><pre>#define LIBXML_DEBUG_RUNTIME</pre><p>Whether the runtime debugging is configured in</p>
 <h3><a name="LIBXML_DOCB_ENABLED" id="LIBXML_DOCB_ENABLED"></a>Macro: LIBXML_DOCB_ENABLED</h3><pre>#define LIBXML_DOCB_ENABLED</pre><p>Whether the SGML Docbook support is configured in</p>
 <h3><a name="LIBXML_DOTTED_VERSION" id="LIBXML_DOTTED_VERSION"></a>Macro: LIBXML_DOTTED_VERSION</h3><pre>#define LIBXML_DOTTED_VERSION</pre><p>the version string like "1.2.3"</p>
 <h3><a name="LIBXML_FTP_ENABLED" id="LIBXML_FTP_ENABLED"></a>Macro: LIBXML_FTP_ENABLED</h3><pre>#define LIBXML_FTP_ENABLED</pre><p>Whether the FTP support is configured in</p>
@@ -39,6 +40,7 @@
 <h3><a name="LIBXML_UNICODE_ENABLED" id="LIBXML_UNICODE_ENABLED"></a>Macro: LIBXML_UNICODE_ENABLED</h3><pre>#define LIBXML_UNICODE_ENABLED</pre><p>Whether the Unicode related interfaces are compiled in</p>
 <h3><a name="LIBXML_VALID_ENABLED" id="LIBXML_VALID_ENABLED"></a>Macro: LIBXML_VALID_ENABLED</h3><pre>#define LIBXML_VALID_ENABLED</pre><p>Whether the DTD validation support is configured in</p>
 <h3><a name="LIBXML_VERSION" id="LIBXML_VERSION"></a>Macro: LIBXML_VERSION</h3><pre>#define LIBXML_VERSION</pre><p>the version number: 1.2.3 value is 1002003</p>
+<h3><a name="LIBXML_VERSION_EXTRA" id="LIBXML_VERSION_EXTRA"></a>Macro: LIBXML_VERSION_EXTRA</h3><pre>#define LIBXML_VERSION_EXTRA</pre><p>extra version information, used to show a CVS compilation</p>
 <h3><a name="LIBXML_VERSION_STRING" id="LIBXML_VERSION_STRING"></a>Macro: LIBXML_VERSION_STRING</h3><pre>#define LIBXML_VERSION_STRING</pre><p>the version number string, 1.2.3 value is "1002003"</p>
 <h3><a name="LIBXML_WRITER_ENABLED" id="LIBXML_WRITER_ENABLED"></a>Macro: LIBXML_WRITER_ENABLED</h3><pre>#define LIBXML_WRITER_ENABLED</pre><p>Whether the xmlWriter saving interface is configured in</p>
 <h3><a name="LIBXML_XINCLUDE_ENABLED" id="LIBXML_XINCLUDE_ENABLED"></a>Macro: LIBXML_XINCLUDE_ENABLED</h3><pre>#define LIBXML_XINCLUDE_ENABLED</pre><p>Whether XInclude is configured in</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xmlwriter.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xmlwriter.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xmlwriter.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlwriter from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlwriter from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="n" href="libxml-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>text writing API for XML </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a></pre><pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a></pre><pre class="programlisting">Structure <a href="#xmlTextWriter">xmlTextWriter</a><br />struct _xmlTextWriter
+    </style><title>Module xmlwriter from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlwriter from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlversion.html">xmlversion</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="n" href="libxml-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>text writing API for XML </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a></pre><pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a></pre><pre class="programlisting">Structure <a href="#xmlTextWriter">xmlTextWriter</a><br />struct _xmlTextWriter
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * <a name="xmlTextWriterPtr" id="xmlTextWriterPtr">xmlTextWriterPtr</a>
 </pre><pre class="programlisting">void	<a href="#xmlFreeTextWriter">xmlFreeTextWriter</a>		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)</pre>
@@ -100,7 +100,7 @@
 }</pre><h3><a name="xmlFreeTextWriter" id="xmlFreeTextWriter"></a>Function: xmlFreeTextWriter</h3><pre class="programlisting">void	xmlFreeTextWriter		(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />
 </pre><p>Deallocate all the resources associated to the writer</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>the <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr></tbody></table></div><h3><a name="xmlNewTextWriter" id="xmlNewTextWriter"></a>Function: xmlNewTextWriter</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriter	(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></p>
+</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterDoc" id="xmlNewTextWriterDoc"></a>Function: xmlNewTextWriterDoc</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterDoc	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br />						 int compression)<br />
 </pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @*doc as output</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>address of a <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterFilename" id="xmlNewTextWriterFilename"></a>Function: xmlNewTextWriterFilename</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterFilename	(const char * uri, <br />							 int compression)<br />
@@ -108,7 +108,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>the URI of the resource for the output</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterMemory" id="xmlNewTextWriterMemory"></a>Function: xmlNewTextWriterMemory</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterMemory	(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br />						 int compression)<br />
 </pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @buf as output TODO: handle compression</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterPushParser" id="xmlNewTextWriterPushParser"></a>Function: xmlNewTextWriterPushParser</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterPushParser	(<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />							 int compression)<br />
-</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt as output TODO: handle compression</p>
+</pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document tree</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlNewTextWriterTree" id="xmlNewTextWriterTree"></a>Function: xmlNewTextWriterTree</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterTree	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />						 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 int compression)<br />
 </pre><p>Create a new <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @doc as output starting at @node</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a></td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL for doc-&gt;children</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlTextWriterEndAttribute" id="xmlTextWriterEndAttribute"></a>Function: xmlTextWriterEndAttribute</h3><pre class="programlisting">int	xmlTextWriterEndAttribute	(<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br />

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xpath.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xpath.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xpath.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xpath from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpath from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a></pre><pre class="programlisting">Structure <a href="#xmlNodeSet">xmlNodeSet</a><br />struct _xmlNodeSet
+    </style><title>Module xpath from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpath from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlwriter.html">xmlwriter</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a></pre><pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a></pre><pre class="programlisting">Structure <a href="#xmlNodeSet">xmlNodeSet</a><br />struct _xmlNodeSet
 </pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlNodeSet">xmlNodeSet</a> * <a name="xmlNodeSetPtr" id="xmlNodeSetPtr">xmlNodeSetPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlXPathAxis">xmlXPathAxis</a><br />struct _xmlXPathAxis
 </pre><pre class="programlisting">Typedef <a href="libxml-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * <a name="xmlXPathAxisPtr" id="xmlXPathAxisPtr">xmlXPathAxisPtr</a>
@@ -69,6 +69,9 @@
 <pre class="programlisting">void	<a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathFreeObject">xmlXPathFreeObject</a>		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)</pre>
+<pre class="programlisting">Function type: <a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>
+<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	(void * ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
+</pre>
 <pre class="programlisting">Function type: <a href="#xmlXPathFunction">xmlXPathFunction</a>
 void	<a href="#xmlXPathFunction">xmlXPathFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
 </pre>
@@ -79,6 +82,9 @@
 <pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val)</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathObjectCopy">xmlXPathObjectCopy</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)</pre>
 <pre class="programlisting">long	<a href="#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
+<pre class="programlisting">Function type: <a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	(void * ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
+</pre>
 <h2>Description</h2>
 <h3><a name="xmlXPathNodeSetGetLength" id="xmlXPathNodeSetGetLength"></a>Macro: xmlXPathNodeSetGetLength</h3><pre>#define xmlXPathNodeSetGetLength</pre><p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.</p>
 <h3><a name="xmlXPathNodeSetIsEmpty" id="xmlXPathNodeSetIsEmpty"></a>Macro: xmlXPathNodeSetIsEmpty</h3><pre>#define xmlXPathNodeSetIsEmpty</pre><p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p>
@@ -116,12 +122,12 @@
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	here	: for here()
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	origin	: for origin() the set of namespace decla
     <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	nsHash	: The namespaces hash table
-    void *	varLookupFunc	: variable lookup func
+    <a href="libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	varLookupFunc	: variable lookup func
     void *	varLookupData	: variable lookup data Possibility to lin
     void *	extra	: needed for XSLT The function name and U
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	function
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	functionURI	: function lookup function and data
-    void *	funcLookupFunc	: function lookup func
+    <a href="libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	funcLookupFunc	: function lookup func
     void *	funcLookupData	: function lookup data temporary namespac
     <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> *	tmpNsList	: Array of namespaces
     int	tmpNsNr	: number of namespace in scope error repo
@@ -153,6 +159,7 @@
     <a name="XPATH_UNDEF_PREFIX_ERROR" id="XPATH_UNDEF_PREFIX_ERROR">XPATH_UNDEF_PREFIX_ERROR</a> = 19
     <a name="XPATH_ENCODING_ERROR" id="XPATH_ENCODING_ERROR">XPATH_ENCODING_ERROR</a> = 20
     <a name="XPATH_INVALID_CHAR_ERROR" id="XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a> = 21
+    <a name="XPATH_INVALID_CTXT" id="XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a> = 22
 }
 </pre><h3><a name="xmlXPathFunct" id="xmlXPathFunct">Structure xmlXPathFunct</a></h3><pre class="programlisting">Structure xmlXPathFunct<br />struct _xmlXPathFunct {
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: the function name
@@ -264,7 +271,10 @@
 </pre><p>Free up the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>an existing NodeSetList object</td></tr></tbody></table></div><h3><a name="xmlXPathFreeObject" id="xmlXPathFreeObject"></a>Function: xmlXPathFreeObject</h3><pre class="programlisting">void	xmlXPathFreeObject		(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br />
 </pre><p>Free up an <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the object to free</td></tr></tbody></table></div><h3><a name="xmlXPathFunction" id="xmlXPathFunction"></a>Function type: xmlXPathFunction</h3><pre class="programlisting">Function type: xmlXPathFunction
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the object to free</td></tr></tbody></table></div><h3><a name="xmlXPathFuncLookupFunc" id="xmlXPathFuncLookupFunc"></a>Function type: xmlXPathFuncLookupFunc</h3><pre class="programlisting">Function type: xmlXPathFuncLookupFunc
+<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFuncLookupFunc	(void * ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
+</pre><p>Prototype for callbacks used to plug function lookup in the XPath engine.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the function</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath function or NULL if not found.</td></tr></tbody></table></div><br />
+<h3><a name="xmlXPathFunction" id="xmlXPathFunction"></a>Function type: xmlXPathFunction</h3><pre class="programlisting">Function type: xmlXPathFunction
 void	xmlXPathFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
 </pre><p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath interprestation context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><br />
 <h3><a name="xmlXPathInit" id="xmlXPathInit"></a>Function: xmlXPathInit</h3><pre class="programlisting">void	xmlXPathInit			(void)<br />
@@ -281,4 +291,7 @@
 </pre><p>allocate a new copy of a given object</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the original object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPathOrderDocElems" id="xmlXPathOrderDocElems"></a>Function: xmlXPathOrderDocElems</h3><pre class="programlisting">long	xmlXPathOrderDocElems		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element-&gt;content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an input document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements found in the document or -1 in case of error.</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an input document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements found in the document or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlXPathVariableLookupFunc" id="xmlXPathVariableLookupFunc"></a>Function type: xmlXPathVariableLookupFunc</h3><pre class="programlisting">Function type: xmlXPathVariableLookupFunc
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupFunc	(void * ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
+</pre><p>Prototype for callbacks used to plug variable lookup in the XPath engine.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the variable</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this variable</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object value or NULL if not found.</td></tr></tbody></table></div><br />
+<p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xpathInternals.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xpathInternals.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xpathInternals.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xpathInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpathInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpointer.html">xpointer</a></th><td><a accesskey="n" href="libxml-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a></pre><pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a></pre><pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a></pre><pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a></pre><pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a></pre><pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a></pre><pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a></pre><pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a></pre><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#valuePop">valuePop</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
+    </style><title>Module xpathInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpathInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpath.html">xpath</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xpointer.html">xpointer</a></th><td><a accesskey="n" href="libxml-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a></pre><pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a></pre><pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a></pre><pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a></pre><pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a></pre><pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a></pre><pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a></pre><pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a></pre><pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a></pre><pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a></pre><pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a></pre><pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a></pre><pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a></pre><pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a></pre><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#valuePop">valuePop</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#valuePush">valuePush</a>			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathAddValues">xmlXPathAddValues</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
@@ -32,9 +32,6 @@
 <pre class="programlisting">void	<a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
-<pre class="programlisting">Function type: <a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>
-<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	(void * ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)</pre>
 <pre class="programlisting">int	<a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>		(<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br />					 <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)</pre>
@@ -98,11 +95,11 @@
 <pre class="programlisting">void	<a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br />					 void * funcCtxt)</pre>
+<pre class="programlisting">void	<a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br />					 void * funcCtxt)</pre>
 <pre class="programlisting">int	<a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)</pre>
 <pre class="programlisting">int	<a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)</pre>
 <pre class="programlisting">int	<a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)</pre>
-<pre class="programlisting">void	<a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br />					 void * data)</pre>
+<pre class="programlisting">void	<a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br />					 void * data)</pre>
 <pre class="programlisting">int	<a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)</pre>
@@ -124,9 +121,6 @@
 <pre class="programlisting">void	<a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)</pre>
 <pre class="programlisting">void	<a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
-<pre class="programlisting">Function type: <a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>
-<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	(void * ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapCString">xmlXPathWrapCString</a>	(char * val)</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a>	(void * val)</pre>
@@ -207,10 +201,7 @@
 </pre><p>Implement the floor() XPath function number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathFreeParserContext" id="xmlXPathFreeParserContext"></a>Function: xmlXPathFreeParserContext</h3><pre class="programlisting">void	xmlXPathFreeParserContext	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
 </pre><p>Free up an <a href="libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context to free</td></tr></tbody></table></div><h3><a name="xmlXPathFuncLookupFunc" id="xmlXPathFuncLookupFunc"></a>Function type: xmlXPathFuncLookupFunc</h3><pre class="programlisting">Function type: xmlXPathFuncLookupFunc
-<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFuncLookupFunc	(void * ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre><p>Prototype for callbacks used to plug function lookup in the XPath engine.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the function</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath function or NULL if not found.</td></tr></tbody></table></div><br />
-<h3><a name="xmlXPathFunctionLookup" id="xmlXPathFunctionLookup"></a>Function: xmlXPathFunctionLookup</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context to free</td></tr></tbody></table></div><h3><a name="xmlXPathFunctionLookup" id="xmlXPathFunctionLookup"></a>Function: xmlXPathFunctionLookup</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>Search in the Function array of the context for the given function.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathFunctionLookupNS" id="xmlXPathFunctionLookupNS"></a>Function: xmlXPathFunctionLookupNS</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookupNS	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br />
 </pre><p>Search in the Function array of the context for the given function.</p>
@@ -336,7 +327,7 @@
 </pre><p>Registers all default XPath functions in this context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterFunc" id="xmlXPathRegisterFunc"></a>Function: xmlXPathRegisterFunc</h3><pre class="programlisting">int	xmlXPathRegisterFunc		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br />
 </pre><p>Register a new function. If @f is NULL it unregisters the function</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterFuncLookup" id="xmlXPathRegisterFuncLookup"></a>Function: xmlXPathRegisterFuncLookup</h3><pre class="programlisting">void	xmlXPathRegisterFuncLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br />					 void * funcCtxt)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterFuncLookup" id="xmlXPathRegisterFuncLookup"></a>Function: xmlXPathRegisterFuncLookup</h3><pre class="programlisting">void	xmlXPathRegisterFuncLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br />					 void * funcCtxt)<br />
 </pre><p>Registers an external mechanism to do function lookup.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span class="term"><i><tt>funcCtxt</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterFuncNS" id="xmlXPathRegisterFuncNS"></a>Function: xmlXPathRegisterFuncNS</h3><pre class="programlisting">int	xmlXPathRegisterFuncNS		(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br />
 </pre><p>Register a new function. If @f is NULL it unregisters the function</p>
@@ -344,7 +335,7 @@
 </pre><p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterVariable" id="xmlXPathRegisterVariable"></a>Function: xmlXPathRegisterVariable</h3><pre class="programlisting">int	xmlXPathRegisterVariable	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br />
 </pre><p>Register a new variable value. If @value is NULL it unregisters the variable</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterVariableLookup" id="xmlXPathRegisterVariableLookup"></a>Function: xmlXPathRegisterVariableLookup</h3><pre class="programlisting">void	xmlXPathRegisterVariableLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br />					 void * data)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterVariableLookup" id="xmlXPathRegisterVariableLookup"></a>Function: xmlXPathRegisterVariableLookup</h3><pre class="programlisting">void	xmlXPathRegisterVariableLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 <a href="libxml-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br />					 void * data)<br />
 </pre><p>register an external mechanism to do variable lookup</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div><h3><a name="xmlXPathRegisterVariableNS" id="xmlXPathRegisterVariableNS"></a>Function: xmlXPathRegisterVariableNS</h3><pre class="programlisting">int	xmlXPathRegisterVariableNS	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br />					 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br />
 </pre><p>Register a new variable value. If @value is NULL it unregisters the variable</p>
@@ -388,10 +379,7 @@
 </pre><p>Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathVariableLookup" id="xmlXPathVariableLookup"></a>Function: xmlXPathVariableLookup</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookup	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>Search in the Variable array of the context for the given variable value.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the value or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathVariableLookupFunc" id="xmlXPathVariableLookupFunc"></a>Function type: xmlXPathVariableLookupFunc</h3><pre class="programlisting">Function type: xmlXPathVariableLookupFunc
-<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupFunc	(void * ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)
-</pre><p>Prototype for callbacks used to plug variable lookup in the XPath engine.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the variable</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this variable</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object value or NULL if not found.</td></tr></tbody></table></div><br />
-<h3><a name="xmlXPathVariableLookupNS" id="xmlXPathVariableLookupNS"></a>Function: xmlXPathVariableLookupNS</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupNS	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the value or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathVariableLookupNS" id="xmlXPathVariableLookupNS"></a>Function: xmlXPathVariableLookupNS</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupNS	(<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br />
 </pre><p>Search in the Variable array of the context for the given variable value.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the a copy of the value or NULL if not found</td></tr></tbody></table></div><h3><a name="xmlXPathWrapCString" id="xmlXPathWrapCString"></a>Function: xmlXPathWrapCString</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapCString	(char * val)<br />
 </pre><p>Wraps a string into an XPath object.</p>

Modified: packages/libxml2/branches/unstable/doc/html/libxml-xpointer.html
===================================================================
--- packages/libxml2/branches/unstable/doc/html/libxml-xpointer.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/html/libxml-xpointer.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xpointer from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpointer from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th></tr></table><p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLocationSet">xmlLocationSet</a><br />struct _xmlLocationSet
+    </style><title>Module xpointer from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xpointer from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xpathInternals.html">xpathInternals</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th></tr></table><p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#xmlLocationSet">xmlLocationSet</a><br />struct _xmlLocationSet
 </pre><pre class="programlisting">Typedef <a href="libxml-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a name="xmlLocationSetPtr" id="xmlLocationSetPtr">xmlLocationSetPtr</a>
 </pre><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a>	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)</pre>
 <pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)</pre>

Modified: packages/libxml2/branches/unstable/doc/index.html
===================================================================
--- packages/libxml2/branches/unstable/doc/index.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/index.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -12,10 +12,9 @@
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
 </style>
-    <title>The XML C parser and toolkit of Gnome
-</title>
+    <title>The XML C parser and toolkit of Gnome</title>
   </head>
-  <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+  <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
     <table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
       <tr>
         <td width="120">
@@ -46,10 +45,8 @@
                 <table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
                   <tr>
                     <td align="center">
-                      <h1>The XML C parser and toolkit of Gnome
-</h1>
-                      <h2>libxml
-</h2>
+                      <h1>The XML C parser and toolkit of Gnome</h1>
+                      <h2>libxml</h2>
                     </td>
                   </tr>
                 </table>
@@ -72,8 +69,7 @@
                         <tr>
                           <td colspan="1" bgcolor="#eecfa1" align="center">
                             <center>
-                              <b>Main Menu
-</b>
+                              <b>Main Menu</b>
                             </center>
                           </td>
                         </tr>
@@ -85,80 +81,61 @@
                             </form>
                             <ul>
                               <li>
-                                <a href="index.html">Home
-</a>
+                                <a href="index.html">Home</a>
                               </li>
                               <li>
-                                <a href="intro.html">Introduction
-</a>
+                                <a href="intro.html">Introduction</a>
                               </li>
                               <li>
-                                <a href="FAQ.html">FAQ
-</a>
+                                <a href="FAQ.html">FAQ</a>
                               </li>
                               <li>
-                                <a href="docs.html" style="font-weight:bold">Developer Menu
-</a>
+                                <a href="docs.html" style="font-weight:bold">Developer Menu</a>
                               </li>
                               <li>
-                                <a href="bugs.html">Reporting bugs and getting help
-</a>
+                                <a href="bugs.html">Reporting bugs and getting help</a>
                               </li>
                               <li>
-                                <a href="help.html">How to help
-</a>
+                                <a href="help.html">How to help</a>
                               </li>
                               <li>
-                                <a href="downloads.html">Downloads
-</a>
+                                <a href="downloads.html">Downloads</a>
                               </li>
                               <li>
-                                <a href="news.html">News
-</a>
+                                <a href="news.html">Releases</a>
                               </li>
                               <li>
-                                <a href="XMLinfo.html">XML
-</a>
+                                <a href="XMLinfo.html">XML</a>
                               </li>
                               <li>
-                                <a href="XSLT.html">XSLT
-</a>
+                                <a href="XSLT.html">XSLT</a>
                               </li>
                               <li>
-                                <a href="xmldtd.html">Validation &amp; DTDs
-</a>
+                                <a href="xmldtd.html">Validation &amp; DTDs</a>
                               </li>
                               <li>
-                                <a href="encoding.html">Encodings support
-</a>
+                                <a href="encoding.html">Encodings support</a>
                               </li>
                               <li>
-                                <a href="catalog.html">Catalog support
-</a>
+                                <a href="catalog.html">Catalog support</a>
                               </li>
                               <li>
-                                <a href="namespaces.html">Namespaces
-</a>
+                                <a href="namespaces.html">Namespaces</a>
                               </li>
                               <li>
-                                <a href="contribs.html">Contributions
-</a>
+                                <a href="contribs.html">Contributions</a>
                               </li>
                               <li>
-                                <a href="examples/index.html" style="font-weight:bold">Code Examples
-</a>
+                                <a href="examples/index.html" style="font-weight:bold">Code Examples</a>
                               </li>
                               <li>
-                                <a href="html/index.html" style="font-weight:bold">API Menu
-</a>
+                                <a href="html/index.html" style="font-weight:bold">API Menu</a>
                               </li>
                               <li>
-                                <a href="guidelines.html">XML Guidelines
-</a>
+                                <a href="guidelines.html">XML Guidelines</a>
                               </li>
                               <li>
-                                <a href="ChangeLog.html">ChangeLog
-</a>
+                                <a href="ChangeLog.html">Recent Changes</a>
                               </li>
                             </ul>
                           </td>
@@ -168,8 +145,7 @@
                         <tr>
                           <td colspan="1" bgcolor="#eecfa1" align="center">
                             <center>
-                              <b>Related links
-</b>
+                              <b>Related links</b>
                             </center>
                           </td>
                         </tr>
@@ -177,44 +153,34 @@
                           <td bgcolor="#fffacd">
                             <ul>
                               <li>
-                                <a href="http://mail.gnome.org/archives/xml/">Mail archive
-</a>
+                                <a href="http://mail.gnome.org/archives/xml/">Mail archive</a>
                               </li>
                               <li>
-                                <a href="http://xmlsoft.org/XSLT/">XSLT libxslt
-</a>
+                                <a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a>
                               </li>
                               <li>
-                                <a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2
-</a>
+                                <a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a>
                               </li>
                               <li>
-                                <a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec
-</a>
+                                <a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a>
                               </li>
                               <li>
-                                <a href="ftp://xmlsoft.org/">FTP
-</a>
+                                <a href="ftp://xmlsoft.org/">FTP</a>
                               </li>
                               <li>
-                                <a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries
-</a>
+                                <a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a>
                               </li>
                               <li>
-                                <a href="http://garypennington.net/libxml2/">Solaris binaries
-</a>
+                                <a href="http://garypennington.net/libxml2/">Solaris binaries</a>
                               </li>
                               <li>
-                                <a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries
-</a>
+                                <a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a>
                               </li>
                               <li>
-                                <a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings
-</a>
+                                <a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a>
                               </li>
                               <li>
-                                <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker
-</a>
+                                <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a>
                               </li>
                             </ul>
                           </td>
@@ -236,227 +202,77 @@
                                 <td bgcolor="#fffacd">
                                   <p></p>
                                   <p style="text-align: right; font-style: italic; font-size: 10pt">"Programming
-with libxml2 is like the thrilling embrace of an exotic stranger." 
-                                    <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
-Pilgrim
-</a>
-</p>
+with libxml2 is like the thrilling embrace of an exotic stranger." <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
+Pilgrim</a></p>
                                   <p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
 (but usable outside of the Gnome platform), it is free software available
-under the 
-                                    <a href="http://www.opensource.org/licenses/mit-license.html">MIT
-License
-</a>
-. XML itself is a metalanguage to design markup languages, i.e.
+under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
+License</a>. XML itself is a metalanguage to design markup languages, i.e.
 text language where semantic and structure are added to the content using
 extra "markup" information enclosed between angle brackets. HTML is the most
-well-known markup language. Though the library is written in C 
-                                    <a href="python.html">a variety of language bindings
-</a>
- make it available in
-other environments.
-</p>
+well-known markup language. Though the library is written in C <a href="python.html">a variety of language bindings</a> make it available in
+other environments.</p>
                                   <p>Libxml2 is known to be very portable, the library should build and work
 without serious troubles on a variety of systems (Linux, Unix, Windows,
-CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)
-</p>
+CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)</p>
                                   <p>Libxml2 implements a number of existing standards related to markup
-languages:
-</p>
-                                  <ul>                                    <li>the XML standard: 
-                                      <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml
-</a>
-</li>
-
-  
-                                    <li>Namespaces in XML: 
-                                      <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/
-</a>
-</li>
-
-  
-                                    <li>XML Base: 
-                                      <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/
-</a>
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396
-</a>
- :
-    Uniform Resource Identifiers 
-                                      <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt
-</a>
-</li>
-
-  
-                                    <li>XML Path Language (XPath) 1.0: 
-                                      <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath
-</a>
-</li>
-
-  
-                                    <li>HTML4 parser: 
-                                      <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/
-</a>
-</li>
-
-  
-                                    <li>XML Pointer Language (XPointer) Version 1.0: 
-                                      <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr
-</a>
-</li>
-
-  
-                                    <li>XML Inclusions (XInclude) Version 1.0: 
-                                      <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/
-</a>
-</li>
-
-  
-                                    <li>ISO-8859-x encodings, as well as 
-                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044
-</a>
- [UTF-8]
-    and 
-                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781
-</a>
-
-    [UTF-16] Unicode encodings, and more if using iconv support
-</li>
-
-  
-                                    <li>part of SGML Open Technical Resolution TR9401:1997
-</li>
-
-  
-                                    <li>XML Catalogs Working Draft 06 August 2001: 
-                                      <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
-</a>
-</li>
-
-  
-                                    <li>Canonical XML Version 1.0: 
-                                      <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n
-</a>
-
-    and the Exclusive XML Canonicalization CR draft 
-                                      <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n
-</a>
-</li>
-
-  
-                                    <li>Relax NG, ISO/IEC 19757-2:2003, 
-                                      <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
-</a>
-</li>
-
-  
-                                    <li>W3C XML Schemas Part 2: Datatypes 
-                                      <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
-    2001
-</a>
-</li>
-
-  
-                                    <li>W3C 
-                                      <a href="http://www.w3.org/TR/xml-id/">xml:id
-</a>
- Working Draft 7
-    April 2004
-</li>
-
-
+languages:</p>
+                                  <ul><li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
+  <li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
+  <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
+  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
+    Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
+  <li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
+  <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
+  <li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
+  <li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
+  <li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
+    and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
+    [UTF-16] Unicode encodings, and more if using iconv support</li>
+  <li>part of SGML Open Technical Resolution TR9401:1997</li>
+  <li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
+  <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
+    and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
+  <li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
+  <li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
+    2001</a></li>
+  <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
+    April 2004</li>
 </ul>
                                   <p>In most cases libxml2 tries to implement the specifications in a
 relatively strictly compliant way. As of release 2.4.16, libxml2 passed all
-1800+ tests from the 
-                                    <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
-Suite
-</a>
-.
-</p>
+1800+ tests from the <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
+Suite</a>.</p>
                                   <p>To some extent libxml2 provides support for the following additional
-specifications but doesn't claim to implement them completely:
-</p>
-                                  <ul>                                    <li>Document Object Model (DOM) 
-                                      <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/
-</a>
-
+specifications but doesn't claim to implement them completely:</p>
+                                  <ul><li>Document Object Model (DOM) <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>
     the document model, but it doesn't implement the API itself, gdome2 does
-    this on top of libxml2
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959
-</a>
- :
-    libxml2 implements a basic FTP client code
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945
-</a>
- :
-    HTTP/1.0, again a basic HTTP client code
-</li>
-
-  
-                                    <li>SAX: a SAX2 like interface and a minimal SAX1 implementation compatible
-    with early expat versions
-</li>
-
-
+    this on top of libxml2</li>
+  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :
+    libxml2 implements a basic FTP client code</li>
+  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :
+    HTTP/1.0, again a basic HTTP client code</li>
+  <li>SAX: a SAX2 like interface and a minimal SAX1 implementation compatible
+    with early expat versions</li>
 </ul>
-                                  <p>A partial implementation of 
-                                    <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
-1: Structure
-</a>
- is being worked on but it would be far too early to make any
-conformance statement about it at the moment.
-</p>
-                                  <p>Separate documents:
-</p>
-                                  <ul>                                    <li>                                      <a href="http://xmlsoft.org/XSLT/">the libxslt page
-</a>
- providing an
+                                  <p>A partial implementation of <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
+1: Structure</a> is being worked on but it would be far too early to make any
+conformance statement about it at the moment.</p>
+                                  <p>Separate documents:</p>
+                                  <ul><li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an
     implementation of XSLT 1.0 and common extensions like EXSLT for
-  libxml2
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cs.unibo.it/~casarini/gdome2/">the gdome2 page
-</a>
-
-    : a standard DOM2 implementation for libxml2
-</li>
-
-  
-                                    <li>                                      <a href="http://www.aleksey.com/xmlsec/">the XMLSec page
-</a>
-: an
-    implementation of 
-                                      <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
-    Digital Signature
-</a>
- for libxml2
-</li>
-
-  
-                                    <li>also check the related links section below for more related and active
-    projects.
-</li>
-
-
+  libxml2</li>
+  <li><a href="http://www.cs.unibo.it/~casarini/gdome2/">the gdome2 page</a>
+    : a standard DOM2 implementation for libxml2</li>
+  <li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an
+    implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
+    Digital Signature</a> for libxml2</li>
+  <li>also check the related links section below for more related and active
+    projects.</li>
 </ul>
-                                  <p>Logo designed by 
-                                    <a href="mailto:liyanage at access.ch">Marc Liyanage
-</a>
-.
-</p>
+                                  <p>Logo designed by <a href="mailto:liyanage at access.ch">Marc Liyanage</a>.</p>
                                   <p>
-                                    <a href="bugs.html">Daniel Veillard
-</a>
+                                    <a href="bugs.html">Daniel Veillard</a>
                                   </p>
                                 </td>
                               </tr>

Modified: packages/libxml2/branches/unstable/doc/interface.html
===================================================================
--- packages/libxml2/branches/unstable/doc/interface.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/interface.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>The SAX interface</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The SAX interface</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Sometimes the DOM tree output is just too large to fit reasonably into
+</style><title>The SAX interface</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The SAX interface</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Sometimes the DOM tree output is just too large to fit reasonably into
 memory. In that case (and if you don't expect to save back the XML document
 loaded using libxml), it's better to use the SAX interface of libxml. SAX is
 a <strong>callback-based interface</strong> to the parser. Before parsing,

Modified: packages/libxml2/branches/unstable/doc/intro.html
===================================================================
--- packages/libxml2/branches/unstable/doc/intro.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/intro.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This document describes libxml, the <a href="http://www.w3.org/XML/">XML</a> C parser and toolkit developed for the
+</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This document describes libxml, the <a href="http://www.w3.org/XML/">XML</a> C parser and toolkit developed for the
 <a href="http://www.gnome.org/">Gnome</a> project. <a href="http://www.w3.org/XML/">XML is a standard</a> for building tag-based
 structured documents/data.</p><p>Here are some key points about libxml:</p><ul><li>Libxml2 exports Push (progressive) and Pull (blocking) type parser
     interfaces for both XML and HTML.</li>

Modified: packages/libxml2/branches/unstable/doc/library.html
===================================================================
--- packages/libxml2/branches/unstable/doc/library.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/library.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>The parser interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The parser interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This section is directly intended to help programmers getting bootstrapped
+</style><title>The parser interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The parser interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>This section is directly intended to help programmers getting bootstrapped
 using the XML tollkit from the C language. It is not intended to be
 extensive. I hope the automatically generated documents will provide the
 completeness required, but as a separate set of documents. The interfaces of

Modified: packages/libxml2/branches/unstable/doc/libxml2-api.xml
===================================================================
--- packages/libxml2/branches/unstable/doc/libxml2-api.xml	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/libxml2-api.xml	2005-02-16 19:06:11 UTC (rev 352)
@@ -344,7 +344,7 @@
      <exports symbol='xmlDebugDumpDocument' type='function'/>
      <exports symbol='xmlLsCountNode' type='function'/>
      <exports symbol='xmlShellValidate' type='function'/>
-     <exports symbol='xmlShellPrintXPathError' type='function'/>
+     <exports symbol='xmlDebugCheckDocument' type='function'/>
      <exports symbol='xmlShellDir' type='function'/>
      <exports symbol='xmlShellPrintXPathResult' type='function'/>
      <exports symbol='xmlDebugDumpDocumentHead' type='function'/>
@@ -352,6 +352,7 @@
      <exports symbol='xmlShellCmd' type='function'/>
      <exports symbol='xmlShellList' type='function'/>
      <exports symbol='xmlShell' type='function'/>
+     <exports symbol='xmlShellPrintXPathError' type='function'/>
      <exports symbol='xmlShellLoad' type='function'/>
     </file>
     <file name='dict'>
@@ -628,6 +629,7 @@
      <summary>minimal HTTP implementation</summary>
      <description>minimal HTTP implementation allowing to fetch resources like external subset. </description>
      <author>Daniel Veillard </author>
+     <exports symbol='xmlNanoHTTPRead' type='function'/>
      <exports symbol='xmlNanoHTTPSave' type='function'/>
      <exports symbol='xmlNanoHTTPRedir' type='function'/>
      <exports symbol='xmlNanoHTTPAuthHeader' type='function'/>
@@ -637,7 +639,7 @@
      <exports symbol='xmlNanoHTTPClose' type='function'/>
      <exports symbol='xmlNanoHTTPCleanup' type='function'/>
      <exports symbol='xmlNanoHTTPMethod' type='function'/>
-     <exports symbol='xmlNanoHTTPRead' type='function'/>
+     <exports symbol='xmlNanoHTTPContentLength' type='function'/>
      <exports symbol='xmlNanoHTTPOpen' type='function'/>
      <exports symbol='xmlNanoHTTPOpenRedir' type='function'/>
      <exports symbol='xmlNanoHTTPMethodRedir' type='function'/>
@@ -667,6 +669,7 @@
      <exports symbol='XML_PARSE_NOERROR' type='enum'/>
      <exports symbol='XML_PARSE_DTDATTR' type='enum'/>
      <exports symbol='XML_PARSE_NSCLEAN' type='enum'/>
+     <exports symbol='XML_PARSE_RECOVER' type='enum'/>
      <exports symbol='XML_PARSE_PUSH_DOM' type='enum'/>
      <exports symbol='XML_PARSER_PROLOG' type='enum'/>
      <exports symbol='XML_PARSE_NONET' type='enum'/>
@@ -691,7 +694,7 @@
      <exports symbol='XML_PARSER_PUBLIC_LITERAL' type='enum'/>
      <exports symbol='XML_PARSER_CDATA_SECTION' type='enum'/>
      <exports symbol='XML_PARSE_XINCLUDE' type='enum'/>
-     <exports symbol='XML_PARSE_RECOVER' type='enum'/>
+     <exports symbol='XML_PARSE_NOXINCNODE' type='enum'/>
      <exports symbol='XML_PARSE_READER' type='enum'/>
      <exports symbol='xmlParserNodeInfoSeqPtr' type='typedef'/>
      <exports symbol='xmlSAXHandlerV1Ptr' type='typedef'/>
@@ -735,6 +738,7 @@
      <exports symbol='unparsedEntityDeclSAXFunc' type='function'/>
      <exports symbol='xmlParseDocument' type='function'/>
      <exports symbol='xmlCreateIOParserCtxt' type='function'/>
+     <exports symbol='xmlParseInNodeContext' type='function'/>
      <exports symbol='referenceSAXFunc' type='function'/>
      <exports symbol='getParameterEntitySAXFunc' type='function'/>
      <exports symbol='ignorableWhitespaceSAXFunc' type='function'/>
@@ -826,15 +830,17 @@
      <exports symbol='SKIP_EOL' type='macro'/>
      <exports symbol='IS_EXTENDER' type='macro'/>
      <exports symbol='IS_CHAR' type='macro'/>
-     <exports symbol='IS_COMBINING_CH' type='macro'/>
+     <exports symbol='IS_ASCII_DIGIT' type='macro'/>
+     <exports symbol='IS_BLANK_CH' type='macro'/>
      <exports symbol='IS_PUBIDCHAR_CH' type='macro'/>
      <exports symbol='IS_LETTER_CH' type='macro'/>
      <exports symbol='XML_SUBSTITUTE_NONE' type='macro'/>
-     <exports symbol='IS_BLANK_CH' type='macro'/>
+     <exports symbol='IS_COMBINING_CH' type='macro'/>
      <exports symbol='IS_COMBINING' type='macro'/>
      <exports symbol='XML_MAX_NAMELEN' type='macro'/>
      <exports symbol='IS_LETTER' type='macro'/>
      <exports symbol='IS_BASECHAR' type='macro'/>
+     <exports symbol='IS_ASCII_LETTER' type='macro'/>
      <exports symbol='INPUT_CHUNK' type='macro'/>
      <exports symbol='IS_IDEOGRAPHIC' type='macro'/>
      <exports symbol='MOVETO_STARTTAG' type='macro'/>
@@ -1017,6 +1023,7 @@
      <exports symbol='xmlRelaxNGGetValidErrors' type='function'/>
      <exports symbol='xmlRelaxNGNewMemParserCtxt' type='function'/>
      <exports symbol='xmlRelaxNGDump' type='function'/>
+     <exports symbol='xmlRelaxNGInitTypes' type='function'/>
      <exports symbol='xmlRelaxNGValidityErrorFunc' type='function'/>
      <exports symbol='xmlRelaxNGParse' type='function'/>
      <exports symbol='xmlRelaxNGDumpTree' type='function'/>
@@ -1030,53 +1037,74 @@
      <summary>internal interfaces for XML Schemas</summary>
      <description>internal interfaces for the XML Schemas handling and schema validity checking </description>
      <author>Daniel Veillard </author>
+     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_VARIETY_UNION' type='macro'/>
      <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_CIRCULAR' type='macro'/>
      <exports symbol='XML_SCHEMAS_QUALIF_ATTR' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_FINAL_LIST' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTR_USE_REQUIRED' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_COLLAPSE' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANY_STRICT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_VARIETY_LIST' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_INCLUDING_CONVERT_NS' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTR_USE_PROHIBITED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED' type='macro'/>
      <exports symbol='XML_SCHEMAS_WILDCARD_COMPLETE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_DEFAULT' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_FINAL_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTR_USE_OPTIONAL' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTR_NSDEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANYATTR_STRICT' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ABSENT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_FINAL_DEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTRGROUP_MARKED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANYATTR_SKIP' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANYATTR_LAX' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_ABSTRACT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_FIXED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANY_SKIP' type='macro'/>
      <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_LIST' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FINAL_RESTRICTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_NSDEFAULT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_TOPLEVEL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANY_LAX' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FINAL_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FINAL_ABSENT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BLOCK_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_TOPLEVEL' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_ABSTRACT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_FINAL_UNION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_MARKED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_BLOCK_ABSENT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTRGROUP_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
      <exports symbol='XML_SCHEMAS_GMONTH' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_ELEMENTS' type='enum'/>
      <exports symbol='XML_SCHEMAS_GYEAR' type='enum'/>
@@ -1438,6 +1466,7 @@
      <exports symbol='xmlBufferResize' type='function'/>
      <exports symbol='xmlValidateQName' type='function'/>
      <exports symbol='xmlNodeSetBase' type='function'/>
+     <exports symbol='xmlNewTextLen' type='function'/>
      <exports symbol='xmlNewComment' type='function'/>
      <exports symbol='xmlValidateNCName' type='function'/>
      <exports symbol='xmlBufferLength' type='function'/>
@@ -1446,6 +1475,7 @@
      <exports symbol='xmlNodeDump' type='function'/>
      <exports symbol='xmlGetBufferAllocationScheme' type='function'/>
      <exports symbol='xmlSaveFile' type='function'/>
+     <exports symbol='xmlDocCopyNodeList' type='function'/>
      <exports symbol='xmlSetNs' type='function'/>
      <exports symbol='xmlBufferCreateSize' type='function'/>
      <exports symbol='xmlNewNs' type='function'/>
@@ -1482,7 +1512,7 @@
      <exports symbol='xmlFreeNodeList' type='function'/>
      <exports symbol='xmlFreeDoc' type='function'/>
      <exports symbol='xmlDocDumpMemory' type='function'/>
-     <exports symbol='xmlNewTextLen' type='function'/>
+     <exports symbol='xmlNewDocPI' type='function'/>
      <exports symbol='xmlCopyDoc' type='function'/>
      <exports symbol='xmlNewDocNode' type='function'/>
      <exports symbol='xmlDocDump' type='function'/>
@@ -1528,6 +1558,8 @@
      <summary>The DTD validation</summary>
      <description>API for the DTD handling and the validity checking </description>
      <author>Daniel Veillard </author>
+     <exports symbol='XML_CTXT_FINISH_DTD_0' type='macro'/>
+     <exports symbol='XML_CTXT_FINISH_DTD_1' type='macro'/>
      <exports symbol='xmlElementTable' type='typedef'/>
      <exports symbol='xmlValidStatePtr' type='typedef'/>
      <exports symbol='xmlIDTablePtr' type='typedef'/>
@@ -1746,16 +1778,18 @@
      <exports symbol='xmlAutomataNewCounter' type='function'/>
      <exports symbol='xmlAutomataGetInitState' type='function'/>
      <exports symbol='xmlAutomataNewTransition2' type='function'/>
+     <exports symbol='xmlAutomataNewState' type='function'/>
      <exports symbol='xmlAutomataNewCountTrans' type='function'/>
+     <exports symbol='xmlAutomataNewOnceTrans2' type='function'/>
      <exports symbol='xmlAutomataNewAllTrans' type='function'/>
-     <exports symbol='xmlAutomataNewState' type='function'/>
+     <exports symbol='xmlAutomataNewOnceTrans' type='function'/>
      <exports symbol='xmlAutomataNewCounterTrans' type='function'/>
      <exports symbol='xmlAutomataCompile' type='function'/>
      <exports symbol='xmlNewAutomata' type='function'/>
      <exports symbol='xmlAutomataNewEpsilon' type='function'/>
+     <exports symbol='xmlAutomataNewCountTrans2' type='function'/>
+     <exports symbol='xmlAutomataSetFinalState' type='function'/>
      <exports symbol='xmlAutomataNewCountedTrans' type='function'/>
-     <exports symbol='xmlAutomataSetFinalState' type='function'/>
-     <exports symbol='xmlAutomataNewOnceTrans' type='function'/>
      <exports symbol='xmlAutomataNewTransition' type='function'/>
      <exports symbol='xmlAutomataIsDeterminist' type='function'/>
     </file>
@@ -1763,613 +1797,730 @@
      <summary>error handling</summary>
      <description>the API used to report errors </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' type='enum'/>
-     <exports symbol='XML_DTD_CONTENT_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' type='enum'/>
      <exports symbol='XML_DTD_ATTRIBUTE_VALUE' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_DEC_CHARREF' type='enum'/>
+     <exports symbol='XML_RNGP_PARAM_NAME_MISSING' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_NO_PARENT' type='enum'/>
-     <exports symbol='XML_ERR_CDATA_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_2' type='enum'/>
-     <exports symbol='XML_XINCLUDE_INCLUDE_IN_INCLUDE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_1' type='enum'/>
-     <exports symbol='XML_XPATH_EXPRESSION_OK' type='enum'/>
-     <exports symbol='XML_ERR_DOCUMENT_END' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_ENUMERATION_VALID' type='enum'/>
-     <exports symbol='XML_ERR_CHARREF_IN_PROLOG' type='enum'/>
-     <exports symbol='XML_RNGP_INVALID_DEFINE_NAME' type='enum'/>
-     <exports symbol='XML_SAVE_UNKNOWN_ENCODING' type='enum'/>
-     <exports symbol='XML_ERR_CONDSEC_INVALID_KEYWORD' type='enum'/>
+     <exports symbol='XML_IO_EISCONN' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ELEM_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_DTD' type='enum'/>
      <exports symbol='XML_SCHEMAP_S4S_ATTR_MISSING' type='enum'/>
-     <exports symbol='XML_CATALOG_MISSING_ATTR' type='enum'/>
-     <exports symbol='XML_ERR_NO_MEMORY' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_SEMICOL_MISSING' type='enum'/>
      <exports symbol='XML_ERR_DOCUMENT_START' type='enum'/>
      <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_TEXT' type='enum'/>
-     <exports symbol='XML_FROM_IO' type='enum'/>
-     <exports symbol='XML_HTML_UNKNOWN_TAG' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2_1' type='enum'/>
      <exports symbol='XML_DTD_NOT_STANDALONE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_ATTR' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOROOT' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTEMPTY' type='enum'/>
      <exports symbol='XML_RNGP_NEED_COMBINE' type='enum'/>
-     <exports symbol='XML_IO_EROFS' type='enum'/>
-     <exports symbol='XML_ERR_DOCTYPE_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_ERR_XMLDECL_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_IO_EXDEV' type='enum'/>
-     <exports symbol='XML_XINCLUDE_NO_FALLBACK' type='enum'/>
-     <exports symbol='XML_RNGP_URI_FRAGMENT' type='enum'/>
-     <exports symbol='XML_FROM_MEMORY' type='enum'/>
+     <exports symbol='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ELEMENT_CONTENT' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_CHAR_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_MAXOCCURS' type='enum'/>
-     <exports symbol='XML_ERR_MISSING_ENCODING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTR_CHILD' type='enum'/>
-     <exports symbol='XML_RNGP_ELEMENT_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD' type='enum'/>
+     <exports symbol='XML_RNGP_EMPTY_CONSTRUCT' type='enum'/>
+     <exports symbol='XML_FROM_SCHEMASV' type='enum'/>
      <exports symbol='XML_ERR_LT_IN_ATTRIBUTE' type='enum'/>
      <exports symbol='XML_XINCLUDE_ENTITY_DEF_MISMATCH' type='enum'/>
-     <exports symbol='XML_XPTR_RESOURCE_ERROR' type='enum'/>
-     <exports symbol='XML_IO_EISCONN' type='enum'/>
+     <exports symbol='XML_SAVE_NOT_UTF8' type='enum'/>
      <exports symbol='XML_ERR_GT_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_FACET_NO_VALUE' type='enum'/>
-     <exports symbol='XML_HTTP_UNKNOWN_HOST' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ATTR_USE' type='enum'/>
+     <exports symbol='XML_XPTR_EXTRA_OBJECTS' type='enum'/>
      <exports symbol='XML_IO_UNKNOWN' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ONEMORE_GROUP_ATTR' type='enum'/>
-     <exports symbol='XML_ERR_VALUE_REQUIRED' type='enum'/>
      <exports symbol='XML_RNGP_INTERLEAVE_EMPTY' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' type='enum'/>
      <exports symbol='XML_IO_ECHILD' type='enum'/>
-     <exports symbol='XML_RNGP_URI_NOT_ABSOLUTE' type='enum'/>
      <exports symbol='XML_RNGP_NAME_MISSING' type='enum'/>
      <exports symbol='XML_ERR_CONDSEC_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_RNGP_START_MISSING' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_IN_EPILOG' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' type='enum'/>
      <exports symbol='XML_IO_EINTR' type='enum'/>
-     <exports symbol='XML_FROM_VALID' type='enum'/>
-     <exports symbol='XML_FTP_PASV_ANSWER' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' type='enum'/>
+     <exports symbol='XML_RNGP_XMLNS_NAME' type='enum'/>
      <exports symbol='XML_RNGP_ATTRIBUTE_NOOP' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ELEM_CHILD' type='enum'/>
-     <exports symbol='XML_CATALOG_RECURSION' type='enum'/>
      <exports symbol='XML_SCHEMAP_REDEFINED_GROUP' type='enum'/>
      <exports symbol='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI' type='enum'/>
      <exports symbol='XML_ERR_CHARREF_IN_EPILOG' type='enum'/>
-     <exports symbol='XML_DTD_ELEM_DEFAULT_NAMESPACE' type='enum'/>
      <exports symbol='XML_SCHEMAP_FAILED_BUILD_IMPORT' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REGEXP_INVALID' type='enum'/>
      <exports symbol='XML_XPTR_CHILDSEQ_START' type='enum'/>
-     <exports symbol='XML_C14N_CREATE_STACK' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_PREDICATE_ERROR' type='enum'/>
+     <exports symbol='XML_ERR_UNPARSED_ENTITY' type='enum'/>
+     <exports symbol='XML_CATALOG_NOT_CATALOG' type='enum'/>
      <exports symbol='XML_ERR_EXT_SUBSET_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_RNGP_PARENTREF_NAME_INVALID' type='enum'/>
      <exports symbol='XML_FROM_DTD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CONSTRUCT' type='enum'/>
-     <exports symbol='XML_RNGP_EXTERNALREF_RECURSE' type='enum'/>
-     <exports symbol='XML_DTD_ATTRIBUTE_DEFAULT' type='enum'/>
-     <exports symbol='XML_RNGP_UNKNOWN_COMBINE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_EXTRACONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_START_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ATTR' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_HEX_CHARREF' type='enum'/>
      <exports symbol='XML_RNGP_ELEM_CONTENT_EMPTY' type='enum'/>
-     <exports symbol='XML_WAR_NS_URI' type='enum'/>
      <exports symbol='XML_IO_EMLINK' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' type='enum'/>
      <exports symbol='XML_ERR_NMTOKEN_REQUIRED' type='enum'/>
      <exports symbol='XML_RNGP_ANYNAME_ATTR_ANCESTOR' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_IS_EXTERNAL' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_3_1' type='enum'/>
      <exports symbol='XML_ERR_PI_NOT_STARTED' type='enum'/>
      <exports symbol='XML_RNGP_START_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_3_2' type='enum'/>
      <exports symbol='XML_RNGP_GROUP_ATTR_CONFLICT' type='enum'/>
      <exports symbol='XML_RNGP_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ATTRUNKNOWN' type='enum'/>
-     <exports symbol='XML_IO_ENODEV' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_REF' type='enum'/>
-     <exports symbol='XML_FROM_PARSER' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_REF' type='enum'/>
+     <exports symbol='XML_ERR_DOCUMENT_EMPTY' type='enum'/>
      <exports symbol='XML_XINCLUDE_RECURSION' type='enum'/>
      <exports symbol='XML_SCHEMAP_SRC_RESOLVE' type='enum'/>
-     <exports symbol='XML_C14N_CREATE_CTXT' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_FACET_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' type='enum'/>
      <exports symbol='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_XINCLUDE_TEXT_DOCUMENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_PREFIX' type='enum'/>
-     <exports symbol='XML_XINCLUDE_FALLBACKS_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ATTRIBUTE' type='enum'/>
      <exports symbol='XML_ERR_STANDALONE_VALUE' type='enum'/>
      <exports symbol='XML_SCHEMAP_REDEFINED_ATTR' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_LOOP' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD' type='enum'/>
      <exports symbol='XML_IO_EINPROGRESS' type='enum'/>
-     <exports symbol='XML_IO_FLUSH' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD' type='enum'/>
-     <exports symbol='XML_C14N_INVALID_NODE' type='enum'/>
-     <exports symbol='XML_IO_EFAULT' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_CTXT_POSITION' type='enum'/>
-     <exports symbol='XML_ERR_NOTATION_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_LENGTH_VALID' type='enum'/>
-     <exports symbol='XML_DTD_STANDALONE_DEFAULTED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_NOTATION' type='enum'/>
+     <exports symbol='XML_HTML_STRUCURE_ERROR' type='enum'/>
      <exports symbol='XML_DTD_INVALID_DEFAULT' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_ELEM' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOTATION_NO_NAME' type='enum'/>
      <exports symbol='XML_DTD_EMPTY_NOTATION' type='enum'/>
      <exports symbol='XML_RNGP_ELEMENT_EMPTY' type='enum'/>
      <exports symbol='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_TEXT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ALL_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' type='enum'/>
-     <exports symbol='XML_ERR_ELEMCONTENT_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_RNGP_INCLUDE_FAILURE' type='enum'/>
      <exports symbol='XML_RNGP_INVALID_VALUE' type='enum'/>
-     <exports symbol='XML_ERR_COMMENT_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_CT_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD' type='enum'/>
-     <exports symbol='XML_IO_EMSGSIZE' type='enum'/>
-     <exports symbol='XML_FROM_CATALOG' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ATTRINVALID' type='enum'/>
-     <exports symbol='XML_SCHEMAV_VALUE' type='enum'/>
-     <exports symbol='XML_DTD_NOT_EMPTY' type='enum'/>
-     <exports symbol='XML_FROM_HTML' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_AT_EOF' type='enum'/>
+     <exports symbol='XML_IO_LOAD_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_PAT_START_LIST' type='enum'/>
      <exports symbol='XML_ERR_LT_REQUIRED' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ATTR_ATTR' type='enum'/>
      <exports symbol='XML_ERR_ATTLIST_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_RNGP_ELEMENT_NAME' type='enum'/>
      <exports symbol='XML_ERR_PCDATA_REQUIRED' type='enum'/>
      <exports symbol='XML_SCHEMAV_INTERNAL' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_VALUE' type='enum'/>
      <exports symbol='XML_ERR_STRING_NOT_CLOSED' type='enum'/>
      <exports symbol='XML_ERR_ENTITYREF_IN_DTD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_HAVEDEFAULT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_NOTATION' type='enum'/>
-     <exports symbol='XML_RNGP_ERROR_TYPE_LIB' type='enum'/>
-     <exports symbol='XML_XPTR_EVAL_FAILED' type='enum'/>
-     <exports symbol='XML_DTD_NO_ROOT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' type='enum'/>
+     <exports symbol='XML_XPATH_VARIABLE_REF_ERROR' type='enum'/>
+     <exports symbol='XML_IO_ENOTEMPTY' type='enum'/>
      <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME' type='enum'/>
      <exports symbol='XML_IO_ECANCELED' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ATTR_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' type='enum'/>
-     <exports symbol='XML_ERR_UNKNOWN_ENCODING' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTSIMPLE' type='enum'/>
-     <exports symbol='XML_HTTP_URL_SYNTAX' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_FACET' type='enum'/>
-     <exports symbol='XML_DTD_CONTENT_MODEL' type='enum'/>
-     <exports symbol='XML_XPATH_UNDEF_PREFIX_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REF_AND_SUBTYPE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_1' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_DOCTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' type='enum'/>
      <exports symbol='XML_IO_EADDRINUSE' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_LIST_CHILD' type='enum'/>
-     <exports symbol='XML_CATALOG_ENTRY_BROKEN' type='enum'/>
-     <exports symbol='XML_WAR_NS_URI_RELATIVE' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_ID' type='enum'/>
-     <exports symbol='XML_RNGP_TEXT_EXPECTED' type='enum'/>
+     <exports symbol='XML_IO_ENETUNREACH' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' type='enum'/>
-     <exports symbol='XML_XPATH_UNDEF_VARIABLE_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' type='enum'/>
      <exports symbol='XML_IO_EDOM' type='enum'/>
-     <exports symbol='XML_SCHEMAV_FACET' type='enum'/>
-     <exports symbol='XML_RNGP_PARAM_NAME_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_BASE_TYPE' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ELEM_DECL' type='enum'/>
+     <exports symbol='XML_HTTP_USE_IP' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_2_1' type='enum'/>
      <exports symbol='XML_RNGP_INVALID_URI' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_LIST' type='enum'/>
      <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_LIST' type='enum'/>
      <exports symbol='XML_RNGP_EXCEPT_NO_CONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_EXCEPT_EMPTY' type='enum'/>
-     <exports symbol='XML_XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
-     <exports symbol='XML_RNGP_EXTERNALREF_EMTPY' type='enum'/>
+     <exports symbol='XML_RNGP_DEFINE_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_USE' type='enum'/>
      <exports symbol='XML_ERR_SPACE_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MAXLENGTH_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAV_EXTRACONTENT' type='enum'/>
      <exports symbol='XML_DTD_DIFFERENT_PREFIX' type='enum'/>
-     <exports symbol='XML_RNGP_INTERLEAVE_NO_CONTENT' type='enum'/>
      <exports symbol='XML_SCHEMAV_NOTDETERMINIST' type='enum'/>
-     <exports symbol='XML_ERR_INVALID_HEX_CHARREF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_HTML_STRUCURE_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ELEMCONT' type='enum'/>
      <exports symbol='XML_SCHEMAV_MISSING' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_CONTENT' type='enum'/>
+     <exports symbol='XML_IO_EFAULT' type='enum'/>
      <exports symbol='XML_XINCLUDE_XPTR_FAILED' type='enum'/>
-     <exports symbol='XML_IO_ENFILE' type='enum'/>
+     <exports symbol='XML_DTD_ELEM_REDEFINED' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_CREATE_FAILED' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_IS_PARAMETER' type='enum'/>
      <exports symbol='XML_ERR_RESERVED_XML_NAME' type='enum'/>
      <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_IMPORT_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTSIMPLE' type='enum'/>
+     <exports symbol='XML_IO_EBADMSG' type='enum'/>
+     <exports symbol='XML_XPTR_RESOURCE_ERROR' type='enum'/>
+     <exports symbol='XML_RNGP_ATTR_CONFLICT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' type='enum'/>
+     <exports symbol='XML_XINCLUDE_UNKNOWN_ENCODING' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_GROUP' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_SEMICOL_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_IMPORT_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_TYPE_AND_SUBTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NO_XMLNS' type='enum'/>
+     <exports symbol='XML_IO_ENOTDIR' type='enum'/>
+     <exports symbol='XML_SAVE_CHAR_INVALID' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_NO_NAME' type='enum'/>
+     <exports symbol='XML_DTD_ID_FIXED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_A_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_1' type='enum'/>
+     <exports symbol='XML_ERR_EXTRA_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD' type='enum'/>
+     <exports symbol='XML_CATALOG_PREFER_VALUE' type='enum'/>
+     <exports symbol='XML_ERR_LITERAL_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' type='enum'/>
+     <exports symbol='XML_ERR_HYPHEN_IN_COMMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_1' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_CHAR_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_EMPTY' type='enum'/>
+     <exports symbol='XML_XINCLUDE_XPTR_RESULT' type='enum'/>
+     <exports symbol='XML_IO_ENXIO' type='enum'/>
+     <exports symbol='XML_XINCLUDE_FRAGMENT_ID' type='enum'/>
+     <exports symbol='XML_FROM_HTTP' type='enum'/>
+     <exports symbol='XML_DTD_NOTATION_REDEFINED' type='enum'/>
+     <exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
+     <exports symbol='XML_ERR_SEPARATOR_REQUIRED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' type='enum'/>
+     <exports symbol='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_RNGP_ATTRIBUTE_CONTENT' type='enum'/>
+     <exports symbol='XML_DTD_XMLID_TYPE' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_ID' type='enum'/>
+     <exports symbol='XML_RNGP_INTERLEAVE_ADD' type='enum'/>
+     <exports symbol='XML_DTD_ATTRIBUTE_REDEFINED' type='enum'/>
+     <exports symbol='XML_RNGP_UNKNOWN_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_ERR_UNDECLARED_ENTITY' type='enum'/>
+     <exports symbol='XML_ERR_PUBID_REQUIRED' type='enum'/>
+     <exports symbol='XML_IO_ENOTSOCK' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_GROUP' type='enum'/>
+     <exports symbol='XML_RNGP_NOTALLOWED_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_3' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ATTRIBUTE_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_PREFIX_UNDEFINED' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ATTR_ELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_4_3' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_4_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_4_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' type='enum'/>
+     <exports symbol='XML_IO_ENOENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2' type='enum'/>
+     <exports symbol='XML_FROM_C14N' type='enum'/>
+     <exports symbol='XML_IO_EIO' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXLENGTH_VALID' type='enum'/>
+     <exports symbol='XML_DTD_NOT_PCDATA' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_COMBINATION' type='enum'/>
+     <exports symbol='XML_RNGP_PARAM_FORBIDDEN' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' type='enum'/>
+     <exports symbol='XML_FROM_WRITER' type='enum'/>
+     <exports symbol='XML_ERR_UNSUPPORTED_ENCODING' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_IN_PROLOG' type='enum'/>
+     <exports symbol='XML_IO_ENOTTY' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_NOTATION' type='enum'/>
+     <exports symbol='XML_FROM_DATATYPE' type='enum'/>
+     <exports symbol='XML_ERR_WARNING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' type='enum'/>
+     <exports symbol='XML_IO_EISDIR' type='enum'/>
+     <exports symbol='XML_XINCLUDE_MULTIPLE_ROOT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_UNION_CHILD' type='enum'/>
+     <exports symbol='XML_XPATH_MEMORY_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOROOT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_3_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_3_2_2' type='enum'/>
+     <exports symbol='XML_XPATH_UNCLOSED_ERROR' type='enum'/>
+     <exports symbol='XML_NS_ERR_UNDEFINED_NAMESPACE' type='enum'/>
+     <exports symbol='XML_CHECK_NO_NEXT' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ATTR_DECL' type='enum'/>
+     <exports symbol='XML_CHECK_NO_PARENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' type='enum'/>
+     <exports symbol='XML_IO_ENOLCK' type='enum'/>
+     <exports symbol='XML_XINCLUDE_DEPRECATED_NS' type='enum'/>
+     <exports symbol='XML_RNGP_CHOICE_EMPTY' type='enum'/>
+     <exports symbol='XML_ERR_LITERAL_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_SEMICOL_MISSING' type='enum'/>
+     <exports symbol='XML_DTD_MULTIPLE_ID' type='enum'/>
+     <exports symbol='XML_REGEXP_COMPILE_ERROR' type='enum'/>
+     <exports symbol='XML_TREE_INVALID_DEC' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_5' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_6' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_E_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NO_XSI' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' type='enum'/>
+     <exports symbol='XML_CHECK_NO_NAME' type='enum'/>
+     <exports symbol='XML_ERR_CONDSEC_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' type='enum'/>
+     <exports symbol='XML_ERR_EQUAL_REQUIRED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_WHITE_SPACE' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_1_2' type='enum'/>
+     <exports symbol='XML_RNGP_INTERLEAVE_CREATE_FAILED' type='enum'/>
+     <exports symbol='XML_IO_EAGAIN' type='enum'/>
+     <exports symbol='XML_ERR_NS_DECL_ERROR' type='enum'/>
+     <exports symbol='XML_DTD_ENTITY_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' type='enum'/>
+     <exports symbol='XML_ERR_NONE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD' type='enum'/>
+     <exports symbol='XML_XPATH_NUMBER_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_TYPE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_ONEMORE' type='enum'/>
+     <exports symbol='XML_ERR_CONDSEC_INVALID' type='enum'/>
+     <exports symbol='XML_XINCLUDE_INCLUDE_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_RNGP_EXTERNALREF_EMTPY' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_NO_START' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_NS_DECL' type='enum'/>
+     <exports symbol='XML_RNGP_ELEM_TEXT_CONFLICT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_REF' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_EXTENSION_NO_BASE' type='enum'/>
+     <exports symbol='XML_DTD_MISSING_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_IO_EMFILE' type='enum'/>
+     <exports symbol='XML_RNGP_EMPTY_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_ERR_VERSION_MISSING' type='enum'/>
+     <exports symbol='XML_IO_NO_INPUT' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MINLENGTH_VALID' type='enum'/>
+     <exports symbol='XML_IO_WRITE' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_PE_INTERNAL' type='enum'/>
+     <exports symbol='XML_DTD_XMLID_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_INTERLEAVE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ELEM' type='enum'/>
+     <exports symbol='XML_IO_NETWORK_ATTEMPT' type='enum'/>
+     <exports symbol='XML_CHECK_NO_DICT' type='enum'/>
+     <exports symbol='XML_ERR_ATTRIBUTE_WITHOUT_VALUE' type='enum'/>
+     <exports symbol='XML_IO_EEXIST' type='enum'/>
+     <exports symbol='XML_SCHEMAP_FAILED_LOAD' type='enum'/>
+     <exports symbol='XML_ERR_ATTLIST_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_XPTR_SYNTAX_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_TYPE' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_DOC' type='enum'/>
+     <exports symbol='XML_NS_ERR_XML_NAMESPACE' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_IN_EPILOG' type='enum'/>
+     <exports symbol='XML_ERR_DOCTYPE_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_XINCLUDE_PARSE_VALUE' type='enum'/>
+     <exports symbol='XML_RNGP_NSNAME_NO_NS' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ELEMENT' type='enum'/>
+     <exports symbol='XML_RNGP_PARENTREF_NAME_INVALID' type='enum'/>
+     <exports symbol='XML_NS_ERR_QNAME' type='enum'/>
+     <exports symbol='XML_DTD_NOTATION_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_1' type='enum'/>
+     <exports symbol='XML_RNGP_EXCEPT_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ALL_CHILD' type='enum'/>
+     <exports symbol='XML_ERR_ELEMCONTENT_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_RNGP_DEFINE_CREATE_FAILED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ATTRINVALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTR_CHILD' type='enum'/>
+     <exports symbol='XML_ERR_STRING_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_RNGP_EXCEPT_MULTIPLE' type='enum'/>
+     <exports symbol='XML_IO_EDEADLK' type='enum'/>
+     <exports symbol='XML_ERR_ATTRIBUTE_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_EMPTY' type='enum'/>
+     <exports symbol='XML_IO_ENAMETOOLONG' type='enum'/>
+     <exports symbol='XML_RNGP_EXTERNAL_REF_FAILURE' type='enum'/>
+     <exports symbol='XML_FROM_FTP' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_TEXT' type='enum'/>
+     <exports symbol='XML_CHECK_NO_DOC' type='enum'/>
+     <exports symbol='XML_DTD_INVALID_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_PATTERN_VALID' type='enum'/>
+     <exports symbol='XML_RNGP_TYPE_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTNILLABLE' type='enum'/>
+     <exports symbol='XML_ERR_XMLDECL_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_1' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ENTITYREF' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_1' type='enum'/>
+     <exports symbol='XML_XINCLUDE_BUILD_FAILED' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_NO_NAME' type='enum'/>
+     <exports symbol='XML_ERR_ENTITYREF_AT_EOF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOATTR_NOREF' type='enum'/>
+     <exports symbol='XML_RNGP_ATTRIBUTE_CHILDREN' type='enum'/>
+     <exports symbol='XML_XPATH_UNDEF_PREFIX_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_1' type='enum'/>
+     <exports symbol='XML_SAVE_NO_DOCTYPE' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_IN_EPILOG' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_ELEMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_5' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_DTD_NO_DOC' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INTERNAL' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOT_SCHEMA' type='enum'/>
+     <exports symbol='XML_ERR_NOT_WELL_BALANCED' type='enum'/>
+     <exports symbol='XML_FROM_SCHEMASP' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_1' type='enum'/>
+     <exports symbol='XML_ERR_MIXED_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_DTD_STANDALONE_WHITE_SPACE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_FACET' type='enum'/>
+     <exports symbol='XML_SCHEMAV_WRONGELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAV_UNDECLAREDELEM' type='enum'/>
+     <exports symbol='XML_IO_BUFFER_FULL' type='enum'/>
+     <exports symbol='XML_DTD_CONTENT_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOROOT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_6' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_TYPE' type='enum'/>
+     <exports symbol='XML_ERR_CDATA_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_1' type='enum'/>
+     <exports symbol='XML_CHECK_NS_ANCESTOR' type='enum'/>
+     <exports symbol='XML_ERR_DOCUMENT_END' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ENUMERATION_VALID' type='enum'/>
+     <exports symbol='XML_ERR_CHARREF_IN_PROLOG' type='enum'/>
+     <exports symbol='XML_RNGP_INVALID_DEFINE_NAME' type='enum'/>
+     <exports symbol='XML_SAVE_UNKNOWN_ENCODING' type='enum'/>
+     <exports symbol='XML_ERR_CONDSEC_INVALID_KEYWORD' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTYPE' type='enum'/>
+     <exports symbol='XML_ERR_NO_MEMORY' type='enum'/>
+     <exports symbol='XML_FROM_IO' type='enum'/>
+     <exports symbol='XML_HTML_UNKNOWN_TAG' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_ATTR' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTEMPTY' type='enum'/>
+     <exports symbol='XML_CHECK_X' type='enum'/>
+     <exports symbol='XML_IO_EROFS' type='enum'/>
+     <exports symbol='XML_RNGP_GRAMMAR_CONTENT' type='enum'/>
+     <exports symbol='XML_XINCLUDE_NO_FALLBACK' type='enum'/>
+     <exports symbol='XML_RNGP_URI_FRAGMENT' type='enum'/>
+     <exports symbol='XML_FROM_MEMORY' type='enum'/>
+     <exports symbol='XML_ERR_MISSING_ENCODING' type='enum'/>
+     <exports symbol='XML_RNGP_ELEMENT_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_UNKNOWN_TYPE_LIB' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOT_DETERMINISTIC' type='enum'/>
+     <exports symbol='XML_HTTP_UNKNOWN_HOST' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_DTD_NO_DTD' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ONEMORE_GROUP_ATTR' type='enum'/>
+     <exports symbol='XML_ERR_VALUE_REQUIRED' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_TEXT' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_ELEM' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ATTR' type='enum'/>
+     <exports symbol='XML_FTP_PASV_ANSWER' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_BOOLEAN' type='enum'/>
+     <exports symbol='XML_FTP_ACCNT' type='enum'/>
+     <exports symbol='XML_DTD_ELEM_DEFAULT_NAMESPACE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REGEXP_INVALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_1' type='enum'/>
+     <exports symbol='XML_C14N_CREATE_STACK' type='enum'/>
+     <exports symbol='XML_XINCLUDE_TEXT_FRAGMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_1' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_TEXT' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME' type='enum'/>
+     <exports symbol='XML_CHECK_ENTITY_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CONSTRUCT' type='enum'/>
+     <exports symbol='XML_RNGP_EXTERNALREF_RECURSE' type='enum'/>
+     <exports symbol='XML_RNGP_CHOICE_CONTENT' type='enum'/>
+     <exports symbol='XML_RNGP_UNKNOWN_COMBINE' type='enum'/>
+     <exports symbol='XML_RNGP_START_EMPTY' type='enum'/>
+     <exports symbol='XML_IO_ENCODER' type='enum'/>
+     <exports symbol='XML_XPATH_EXPRESSION_OK' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_IS_EXTERNAL' type='enum'/>
+     <exports symbol='XML_WAR_UNDECLARED_ENTITY' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ATTRUNKNOWN' type='enum'/>
+     <exports symbol='XML_IO_ENODEV' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_REF' type='enum'/>
+     <exports symbol='XML_FROM_PARSER' type='enum'/>
+     <exports symbol='XML_C14N_CREATE_CTXT' type='enum'/>
+     <exports symbol='XML_XINCLUDE_TEXT_DOCUMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_PREFIX' type='enum'/>
+     <exports symbol='XML_XINCLUDE_FALLBACKS_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD' type='enum'/>
+     <exports symbol='XML_IO_FLUSH' type='enum'/>
+     <exports symbol='XML_C14N_INVALID_NODE' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_CTXT_POSITION' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_LENGTH_VALID' type='enum'/>
+     <exports symbol='XML_DTD_STANDALONE_DEFAULTED' type='enum'/>
+     <exports symbol='XML_ERR_TAG_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOTATION_NO_NAME' type='enum'/>
+     <exports symbol='XML_XPATH_START_LITERAL_ERROR' type='enum'/>
+     <exports symbol='XML_DTD_MIXED_CORRUPT' type='enum'/>
+     <exports symbol='XML_RNGP_INCLUDE_FAILURE' type='enum'/>
+     <exports symbol='XML_ERR_COMMENT_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' type='enum'/>
+     <exports symbol='XML_IO_EMSGSIZE' type='enum'/>
+     <exports symbol='XML_FROM_CATALOG' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_7' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_2' type='enum'/>
+     <exports symbol='XML_FROM_HTML' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_MAXOCCURS' type='enum'/>
+     <exports symbol='XML_CHECK_NS_SCOPE' type='enum'/>
+     <exports symbol='XML_RNGP_ELEMENT_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_VALUE' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_ARITY' type='enum'/>
+     <exports symbol='XML_RNGP_ERROR_TYPE_LIB' type='enum'/>
+     <exports symbol='XML_XPTR_EVAL_FAILED' type='enum'/>
+     <exports symbol='XML_RNGP_INCLUDE_RECURSE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' type='enum'/>
+     <exports symbol='XML_RNGP_DATA_CONTENT' type='enum'/>
+     <exports symbol='XML_ERR_UNKNOWN_ENCODING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_AU' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REF_AND_SUBTYPE' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR' type='enum'/>
+     <exports symbol='XML_CATALOG_ENTRY_BROKEN' type='enum'/>
+     <exports symbol='XML_RNGP_TEXT_EXPECTED' type='enum'/>
+     <exports symbol='XML_XPATH_UNDEF_VARIABLE_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOROLLBACK' type='enum'/>
+     <exports symbol='XML_SCHEMAV_FACET' type='enum'/>
+     <exports symbol='XML_ERR_INVALID_DEC_CHARREF' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOTTOPLEVEL' type='enum'/>
+     <exports symbol='XML_CATALOG_MISSING_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_LIST_LIST' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_2' type='enum'/>
+     <exports symbol='XML_RNGP_EXCEPT_EMPTY' type='enum'/>
+     <exports symbol='XML_XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
+     <exports symbol='XML_RNGP_INTERLEAVE_NO_CONTENT' type='enum'/>
+     <exports symbol='XML_DTD_ATTRIBUTE_DEFAULT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_FRAGMENT' type='enum'/>
+     <exports symbol='XML_IO_ENFILE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_IS_PARAMETER' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_PARENT' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_NO_NAME' type='enum'/>
      <exports symbol='XML_IO_EPERM' type='enum'/>
-     <exports symbol='XML_IO_ENETUNREACH' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_ENTITY' type='enum'/>
      <exports symbol='XML_ERR_CHARREF_AT_EOF' type='enum'/>
      <exports symbol='XML_IO_ENOMEM' type='enum'/>
      <exports symbol='XML_IO_ENOSPC' type='enum'/>
-     <exports symbol='XML_RNGP_ATTR_CONFLICT' type='enum'/>
+     <exports symbol='XML_FROM_NONE' type='enum'/>
      <exports symbol='XML_RNGP_TYPE_VALUE' type='enum'/>
      <exports symbol='XML_FROM_REGEXP' type='enum'/>
-     <exports symbol='XML_XINCLUDE_UNKNOWN_ENCODING' type='enum'/>
      <exports symbol='XML_RNGP_DEF_CHOICE_AND_INTERLEAVE' type='enum'/>
      <exports symbol='XML_TREE_UNTERMINATED_ENTITY' type='enum'/>
      <exports symbol='XML_ERR_URI_REQUIRED' type='enum'/>
      <exports symbol='XML_FROM_TREE' type='enum'/>
-     <exports symbol='XML_CATALOG_PREFER_VALUE' type='enum'/>
-     <exports symbol='XML_ERR_HYPHEN_IN_COMMENT' type='enum'/>
+     <exports symbol='XML_ERR_EXT_ENTITY_STANDALONE' type='enum'/>
      <exports symbol='XML_TREE_INVALID_HEX' type='enum'/>
      <exports symbol='XML_C14N_REQUIRES_UTF8' type='enum'/>
      <exports symbol='XML_FROM_XINCLUDE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_TYPE_AND_SUBTYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_EMPTY' type='enum'/>
-     <exports symbol='XML_IO_ENOTDIR' type='enum'/>
-     <exports symbol='XML_SAVE_CHAR_INVALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CVC_SIMPLE_TYPE' type='enum'/>
+     <exports symbol='XML_IO_EINVAL' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_NCNAME' type='enum'/>
      <exports symbol='XML_RNGP_ELEMENT_NO_CONTENT' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_NO_NAME' type='enum'/>
-     <exports symbol='XML_DTD_ID_FIXED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' type='enum'/>
      <exports symbol='XML_XINCLUDE_NO_HREF' type='enum'/>
      <exports symbol='XML_XPATH_INVALID_OPERAND' type='enum'/>
      <exports symbol='XML_IO_ENOEXEC' type='enum'/>
      <exports symbol='XML_RNGP_PAT_LIST_REF' type='enum'/>
      <exports symbol='XML_XINCLUDE_HREF_URI' type='enum'/>
-     <exports symbol='XML_ERR_EXTRA_CONTENT' type='enum'/>
-     <exports symbol='XML_ERR_EXT_ENTITY_STANDALONE' type='enum'/>
      <exports symbol='XML_SCHEMAP_FAILED_PARSE' type='enum'/>
-     <exports symbol='XML_RNGP_REF_CYCLE' type='enum'/>
      <exports symbol='XML_RNGP_HREF_ERROR' type='enum'/>
-     <exports symbol='XML_FROM_NONE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_GROUP' type='enum'/>
-     <exports symbol='XML_ERR_LITERAL_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' type='enum'/>
-     <exports symbol='XML_RNGP_ELEM_TEXT_CONFLICT' type='enum'/>
+     <exports symbol='XML_ERR_ATTRIBUTE_NOT_STARTED' type='enum'/>
      <exports symbol='XML_SCHEMAP_ATTR_NONAME_NOREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_ELEMENT_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ELEM_NONAME_NOREF' type='enum'/>
      <exports symbol='XML_DTD_ID_SUBSET' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_CHAR_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_EMPTY' type='enum'/>
      <exports symbol='XML_DTD_UNKNOWN_ENTITY' type='enum'/>
      <exports symbol='XML_RNGP_PARSE_ERROR' type='enum'/>
-     <exports symbol='XML_XINCLUDE_PARSE_VALUE' type='enum'/>
      <exports symbol='XML_RNGP_XML_NS' type='enum'/>
      <exports symbol='XML_ERR_MISPLACED_CDATA_END' type='enum'/>
-     <exports symbol='XML_FROM_HTTP' type='enum'/>
      <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ONEMORE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' type='enum'/>
+     <exports symbol='XML_IO_EALREADY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_1' type='enum'/>
      <exports symbol='XML_RNGP_REF_CREATE_FAILED' type='enum'/>
-     <exports symbol='XML_ERR_SEPARATOR_REQUIRED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_3' type='enum'/>
      <exports symbol='XML_DTD_ROOT_NAME' type='enum'/>
-     <exports symbol='XML_RNGP_UNKNOWN_TYPE_LIB' type='enum'/>
-     <exports symbol='XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE' type='enum'/>
-     <exports symbol='XML_RNGP_ATTRIBUTE_CONTENT' type='enum'/>
      <exports symbol='XML_RNGP_REF_NOT_EMPTY' type='enum'/>
-     <exports symbol='XML_DTD_XMLID_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' type='enum'/>
-     <exports symbol='XML_XPATH_VARIABLE_REF_ERROR' type='enum'/>
-     <exports symbol='XML_RNGP_INTERLEAVE_ADD' type='enum'/>
+     <exports symbol='XML_CHECK_NO_HREF' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_CHOICE_CHILD' type='enum'/>
-     <exports symbol='XML_DTD_NOTATION_REDEFINED' type='enum'/>
      <exports symbol='XML_RNGP_ELEM_CONTENT_ERROR' type='enum'/>
-     <exports symbol='XML_DTD_ATTRIBUTE_REDEFINED' type='enum'/>
-     <exports symbol='XML_RNGP_UNKNOWN_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_ERR_UNDECLARED_ENTITY' type='enum'/>
-     <exports symbol='XML_ERR_PUBID_REQUIRED' type='enum'/>
-     <exports symbol='XML_IO_ENOTSOCK' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_GROUP' type='enum'/>
-     <exports symbol='XML_RNGP_NOTALLOWED_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAV_HAVEDEFAULT' type='enum'/>
      <exports symbol='XML_RNGP_MISSING_HREF' type='enum'/>
      <exports symbol='XML_ERR_PI_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_FROM_RELAXNGP' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ATTR' type='enum'/>
-     <exports symbol='XML_FTP_ACCNT' type='enum'/>
+     <exports symbol='XML_FROM_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_INVALID_VALUE' type='enum'/>
      <exports symbol='XML_FROM_RELAXNGV' type='enum'/>
-     <exports symbol='XML_RNGP_REF_NAME_INVALID' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTTOPLEVEL' type='enum'/>
-     <exports symbol='XML_IO_ENOENT' type='enum'/>
      <exports symbol='XML_ERR_NO_DTD' type='enum'/>
-     <exports symbol='XML_FROM_C14N' type='enum'/>
+     <exports symbol='XML_RNGP_START_CHOICE_AND_INTERLEAVE' type='enum'/>
      <exports symbol='XML_FROM_XSLT' type='enum'/>
      <exports symbol='XML_RNGP_PAT_LIST_ATTR' type='enum'/>
-     <exports symbol='XML_IO_EIO' type='enum'/>
-     <exports symbol='XML_XPATH_START_LITERAL_ERROR' type='enum'/>
      <exports symbol='XML_IO_EACCES' type='enum'/>
-     <exports symbol='XML_DTD_NOT_PCDATA' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ATTR_COMBINATION' type='enum'/>
-     <exports symbol='XML_WAR_UNKNOWN_VERSION' type='enum'/>
-     <exports symbol='XML_XPTR_EXTRA_OBJECTS' type='enum'/>
-     <exports symbol='XML_RNGP_PARAM_FORBIDDEN' type='enum'/>
-     <exports symbol='XML_ERR_OK' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOTHING_TO_PARSE' type='enum'/>
+     <exports symbol='XML_ERR_NOTATION_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_ERR_TAG_NAME_MISMATCH' type='enum'/>
+     <exports symbol='XML_SCHEMAV_INVALIDATTR' type='enum'/>
      <exports symbol='XML_SCHEMAP_RECURSIVE' type='enum'/>
-     <exports symbol='XML_ERR_UNSUPPORTED_ENCODING' type='enum'/>
+     <exports symbol='XML_HTTP_URL_SYNTAX' type='enum'/>
      <exports symbol='XML_SCHEMAP_GROUP_NONAME_NOREF' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_IN_PROLOG' type='enum'/>
-     <exports symbol='XML_SCHEMAP_S4S_ELEM_MISSING' type='enum'/>
+     <exports symbol='XML_ERR_ENCODING_NAME' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_1_1' type='enum'/>
      <exports symbol='XML_ERR_CHARREF_IN_DTD' type='enum'/>
      <exports symbol='XML_DTD_LOAD_ERROR' type='enum'/>
+     <exports symbol='XML_CHECK_UNKNOWN_NODE' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' type='enum'/>
-     <exports symbol='XML_IO_ENOTTY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' type='enum'/>
+     <exports symbol='XML_IO_ECONNREFUSED' type='enum'/>
      <exports symbol='XML_RNGP_EMPTY_CONTENT' type='enum'/>
-     <exports symbol='XML_IO_EALREADY' type='enum'/>
-     <exports symbol='XML_DTD_NO_DTD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' type='enum'/>
      <exports symbol='XML_IO_ERANGE' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_NOTATION' type='enum'/>
-     <exports symbol='XML_IO_ENOSYS' type='enum'/>
-     <exports symbol='XML_FROM_DATATYPE' type='enum'/>
-     <exports symbol='XML_ERR_WARNING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' type='enum'/>
-     <exports symbol='XML_IO_EISDIR' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_ERR_VERSION_MISSING' type='enum'/>
-     <exports symbol='XML_XINCLUDE_MULTIPLE_ROOT' type='enum'/>
+     <exports symbol='XML_RNGP_URI_NOT_ABSOLUTE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_NOTHING_TO_PARSE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ELEM_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1' type='enum'/>
      <exports symbol='XML_XPATH_INVALID_CTXT_SIZE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_UNION_CHILD' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_AT_EOF' type='enum'/>
-     <exports symbol='XML_XPATH_MEMORY_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOROOT' type='enum'/>
+     <exports symbol='XML_CHECK_NO_ELEM' type='enum'/>
      <exports symbol='XML_XPATH_EXPR_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' type='enum'/>
-     <exports symbol='XML_RNGP_DEFINE_EMPTY' type='enum'/>
-     <exports symbol='XML_ERR_ATTRIBUTE_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_XPATH_UNCLOSED_ERROR' type='enum'/>
-     <exports symbol='XML_WAR_CATALOG_PI' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2' type='enum'/>
+     <exports symbol='XML_ERR_ENTITY_BOUNDARY' type='enum'/>
+     <exports symbol='XML_CHECK_NAME_NOT_NULL' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_MINOCCURS' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_3' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' type='enum'/>
-     <exports symbol='XML_IO_ENOLCK' type='enum'/>
-     <exports symbol='XML_XINCLUDE_DEPRECATED_NS' type='enum'/>
-     <exports symbol='XML_RNGP_CHOICE_EMPTY' type='enum'/>
-     <exports symbol='XML_ERR_LITERAL_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_SEMICOL_MISSING' type='enum'/>
-     <exports symbol='XML_DTD_MULTIPLE_ID' type='enum'/>
-     <exports symbol='XML_FROM_XPATH' type='enum'/>
+     <exports symbol='XML_CHECK_' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' type='enum'/>
      <exports symbol='XML_IO_EPIPE' type='enum'/>
-     <exports symbol='XML_TREE_INVALID_DEC' type='enum'/>
-     <exports symbol='XML_SCHEMAP_EXTENSION_NO_BASE' type='enum'/>
-     <exports symbol='XML_XPTR_SYNTAX_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_NOTYPE_NOREF' type='enum'/>
      <exports symbol='XML_RNGP_ATTRIBUTE_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_ISABSTRACT' type='enum'/>
      <exports symbol='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' type='enum'/>
+     <exports symbol='XML_RNGP_DEFINE_EMPTY' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' type='enum'/>
-     <exports symbol='XML_IO_LOAD_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_ELEM' type='enum'/>
-     <exports symbol='XML_SCHEMAV_UNDECLAREDELEM' type='enum'/>
+     <exports symbol='XML_DTD_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_ENTITY_DECL' type='enum'/>
      <exports symbol='XML_RNGP_CREATE_FAILURE' type='enum'/>
      <exports symbol='XML_IO_EBADF' type='enum'/>
-     <exports symbol='XML_ERR_CONDSEC_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_RNGP_PREFIX_UNDEFINED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' type='enum'/>
-     <exports symbol='XML_ERR_EQUAL_REQUIRED' type='enum'/>
      <exports symbol='XML_XPATH_UNKNOWN_FUNC_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_WHITE_SPACE' type='enum'/>
      <exports symbol='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' type='enum'/>
      <exports symbol='XML_RNGP_INCLUDE_EMPTY' type='enum'/>
      <exports symbol='XML_IO_ENOTSUP' type='enum'/>
-     <exports symbol='XML_DTD_UNKNOWN_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_FACET_NO_VALUE' type='enum'/>
      <exports symbol='XML_XPTR_SUB_RESOURCE_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_VALUE_EMPTY' type='enum'/>
-     <exports symbol='XML_RNGP_INTERLEAVE_CREATE_FAILED' type='enum'/>
+     <exports symbol='XML_RNGP_START_MISSING' type='enum'/>
      <exports symbol='XML_DTD_NO_PREFIX' type='enum'/>
-     <exports symbol='XML_IO_EAGAIN' type='enum'/>
+     <exports symbol='XML_CATALOG_RECURSION' type='enum'/>
      <exports symbol='XML_RNGP_UNKNOWN_CONSTRUCT' type='enum'/>
-     <exports symbol='XML_ERR_UNPARSED_ENTITY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAV_VALUE' type='enum'/>
      <exports symbol='XML_FTP_EPSV_ANSWER' type='enum'/>
-     <exports symbol='XML_DTD_ENTITY_TYPE' type='enum'/>
+     <exports symbol='XML_CHECK_NOT_UTF8' type='enum'/>
      <exports symbol='XML_ERR_FATAL' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' type='enum'/>
      <exports symbol='XML_DTD_ID_REDEFINED' type='enum'/>
      <exports symbol='XML_XPATH_ENCODING_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_REF_NO_NAME' type='enum'/>
-     <exports symbol='XML_ERR_NONE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD' type='enum'/>
-     <exports symbol='XML_XPATH_NUMBER_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_NSNAME_ATTR_ANCESTOR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_TYPE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_ONEMORE' type='enum'/>
-     <exports symbol='XML_ERR_CONDSEC_INVALID' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ATTR_ATTR' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_DATA' type='enum'/>
+     <exports symbol='XML_RNGP_REF_CYCLE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_AU_PROPS_CORRECT_2' type='enum'/>
      <exports symbol='XML_XPTR_UNKNOWN_SCHEME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_FACET_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_BOOLEAN' type='enum'/>
+     <exports symbol='XML_FROM_CHECK' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ELEMCONT' type='enum'/>
      <exports symbol='XML_SCHEMAP_REF_AND_CONTENT' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_IN_EPILOG' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOATTR_NOREF' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_MISSING' type='enum'/>
+     <exports symbol='XML_RNGP_PAT_START_INTERLEAVE' type='enum'/>
      <exports symbol='XML_DTD_CONTENT_NOT_DETERMINIST' type='enum'/>
      <exports symbol='XML_DTD_NO_ELEM_NAME' type='enum'/>
-     <exports symbol='XML_RNGP_GRAMMAR_NO_START' type='enum'/>
+     <exports symbol='XML_CHECK_NO_PREV' type='enum'/>
      <exports symbol='XML_RNGP_VALUE_NO_CONTENT' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD' type='enum'/>
      <exports symbol='XML_IO_EAFNOSUPPORT' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' type='enum'/>
-     <exports symbol='XML_CATALOG_NOT_CATALOG' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' type='enum'/>
      <exports symbol='XML_IO_EFBIG' type='enum'/>
-     <exports symbol='XML_ERR_NS_DECL_ERROR' type='enum'/>
-     <exports symbol='XML_WAR_UNDECLARED_ENTITY' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_DATA' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_COMMENT' type='enum'/>
+     <exports symbol='XML_RNGP_REF_NAME_INVALID' type='enum'/>
      <exports symbol='XML_ERR_ERROR' type='enum'/>
-     <exports symbol='XML_DTD_MISSING_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_IO_EMFILE' type='enum'/>
-     <exports symbol='XML_RNGP_EMPTY_NOT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1' type='enum'/>
      <exports symbol='XML_DTD_ELEM_NAMESPACE' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ATTR_ELEM' type='enum'/>
-     <exports symbol='XML_XINCLUDE_FRAGMENT_ID' type='enum'/>
-     <exports symbol='XML_IO_NO_INPUT' type='enum'/>
-     <exports symbol='XML_NS_ERR_UNDEFINED_NAMESPACE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_MINLENGTH_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_3' type='enum'/>
-     <exports symbol='XML_REGEXP_COMPILE_ERROR' type='enum'/>
+     <exports symbol='XML_CHECK_OUTSIDE_DICT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ELT_5_2_2_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_P_PROPS_CORRECT_2_2' type='enum'/>
+     <exports symbol='XML_WAR_CATALOG_PI' type='enum'/>
+     <exports symbol='XML_FROM_XPATH' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' type='enum'/>
-     <exports symbol='XML_IO_WRITE' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_PE_INTERNAL' type='enum'/>
-     <exports symbol='XML_RNGP_DEFINE_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_ISABSTRACT' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_PI' type='enum'/>
      <exports symbol='XML_ERR_NOTATION_NOT_STARTED' type='enum'/>
      <exports symbol='XML_ERR_INTERNAL_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' type='enum'/>
-     <exports symbol='XML_IO_EBADMSG' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_LIST_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_ERR_DOCUMENT_EMPTY' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ELEM' type='enum'/>
-     <exports symbol='XML_IO_NETWORK_ATTEMPT' type='enum'/>
      <exports symbol='XML_FROM_OUTPUT' type='enum'/>
      <exports symbol='XML_FROM_NAMESPACE' type='enum'/>
      <exports symbol='XML_IO_EBUSY' type='enum'/>
-     <exports symbol='XML_ERR_ATTLIST_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_XINCLUDE_TEXT_FRAGMENT' type='enum'/>
-     <exports symbol='XML_RNGP_INCLUDE_RECURSE' type='enum'/>
+     <exports symbol='XML_DTD_NO_ROOT' type='enum'/>
      <exports symbol='XML_ERR_INVALID_URI' type='enum'/>
-     <exports symbol='XML_SCHEMAP_INVALID_ENUM' type='enum'/>
-     <exports symbol='XML_SCHEMAV_INVALIDATTR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_FAILED_LOAD' type='enum'/>
      <exports symbol='XML_IO_ESRCH' type='enum'/>
-     <exports symbol='XML_IO_ENXIO' type='enum'/>
+     <exports symbol='XML_IO_ETIMEDOUT' type='enum'/>
      <exports symbol='XML_FROM_XPOINTER' type='enum'/>
-     <exports symbol='XML_ERR_ATTRIBUTE_WITHOUT_VALUE' type='enum'/>
+     <exports symbol='XML_ERR_PEREF_IN_PROLOG' type='enum'/>
      <exports symbol='XML_RNGP_TEXT_HAS_CHILD' type='enum'/>
-     <exports symbol='XML_DTD_ELEM_REDEFINED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOTNILLABLE' type='enum'/>
+     <exports symbol='XML_IO_EXDEV' type='enum'/>
      <exports symbol='XML_SCHEMAP_ELEM_DEFAULT_FIXED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_ELEMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_4' type='enum'/>
      <exports symbol='XML_RNGP_REF_NO_DEF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' type='enum'/>
-     <exports symbol='XML_ERR_NOT_WELL_BALANCED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_5' type='enum'/>
-     <exports symbol='XML_NS_ERR_XML_NAMESPACE' type='enum'/>
+     <exports symbol='XML_ERR_URI_FRAGMENT' type='enum'/>
      <exports symbol='XML_ERR_INVALID_CHARREF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_TYPE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_IO_ESPIPE' type='enum'/>
      <exports symbol='XML_ERR_INVALID_CHAR' type='enum'/>
      <exports symbol='XML_RNGP_FOREIGN_ELEMENT' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DEF_AND_PREFIX' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME' type='enum'/>
-     <exports symbol='XML_RNGP_NSNAME_NO_NS' type='enum'/>
      <exports symbol='XML_ERR_MIXED_NOT_STARTED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' type='enum'/>
-     <exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
+     <exports symbol='XML_CHECK_FOUND_CDATA' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_1' type='enum'/>
      <exports symbol='XML_SCHEMAV_INVALIDELEM' type='enum'/>
-     <exports symbol='XML_NS_ERR_QNAME' type='enum'/>
-     <exports symbol='XML_DTD_NOTATION_VALUE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_2' type='enum'/>
      <exports symbol='XML_ERR_INVALID_ENCODING' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_1' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_ARITY' type='enum'/>
-     <exports symbol='XML_RNGP_EXCEPT_MISSING' type='enum'/>
-     <exports symbol='XML_ERR_TAG_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_RNGP_XMLNS_NAME' type='enum'/>
+     <exports symbol='XML_WAR_NS_URI' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_INCLUDE' type='enum'/>
+     <exports symbol='XML_DTD_UNKNOWN_ELEM' type='enum'/>
      <exports symbol='XML_ERR_LTSLASH_REQUIRED' type='enum'/>
-     <exports symbol='XML_DTD_XMLID_VALUE' type='enum'/>
-     <exports symbol='XML_DTD_MIXED_CORRUPT' type='enum'/>
-     <exports symbol='XML_RNGP_DEFINE_CREATE_FAILED' type='enum'/>
-     <exports symbol='XML_ERR_ENTITY_BOUNDARY' type='enum'/>
-     <exports symbol='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_ATTRGROUP' type='enum'/>
      <exports symbol='XML_ERR_PEREF_IN_INT_SUBSET' type='enum'/>
-     <exports symbol='XML_RNGP_DATA_CONTENT' type='enum'/>
-     <exports symbol='XML_ERR_STRING_NOT_STARTED' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' type='enum'/>
-     <exports symbol='XML_RNGP_EXCEPT_MULTIPLE' type='enum'/>
-     <exports symbol='XML_IO_EDEADLK' type='enum'/>
-     <exports symbol='XML_ERR_ATTRIBUTE_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' type='enum'/>
-     <exports symbol='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' type='enum'/>
-     <exports symbol='XML_IO_EINVAL' type='enum'/>
-     <exports symbol='XML_IO_ENAMETOOLONG' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_IN_PROLOG' type='enum'/>
-     <exports symbol='XML_RNGP_EXTERNAL_REF_FAILURE' type='enum'/>
-     <exports symbol='XML_SCHEMAV_NOROLLBACK' type='enum'/>
-     <exports symbol='XML_FROM_FTP' type='enum'/>
-     <exports symbol='XML_RNGP_PAT_START_TEXT' type='enum'/>
-     <exports symbol='XML_SAVE_NOT_UTF8' type='enum'/>
-     <exports symbol='XML_DTD_INVALID_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_PATTERN_VALID' type='enum'/>
-     <exports symbol='XML_RNGP_TYPE_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' type='enum'/>
-     <exports symbol='XML_ERR_TAG_NAME_MISMATCH' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' type='enum'/>
-     <exports symbol='XML_ERR_ENCODING_NAME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_BASE_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ELEM_CHILD' type='enum'/>
+     <exports symbol='XML_WAR_UNKNOWN_VERSION' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_NEXT' type='enum'/>
+     <exports symbol='XML_DTD_CONTENT_MODEL' type='enum'/>
+     <exports symbol='XML_IO_ENOSYS' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1' type='enum'/>
+     <exports symbol='XML_ERR_OK' type='enum'/>
      <exports symbol='XML_ERR_ATTRIBUTE_REDEFINED' type='enum'/>
-     <exports symbol='XML_IO_ECONNREFUSED' type='enum'/>
-     <exports symbol='XML_ERR_XMLDECL_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_ATTRGROUP' type='enum'/>
-     <exports symbol='XML_XINCLUDE_XPTR_RESULT' type='enum'/>
      <exports symbol='XML_SCHEMAP_SIMPLETYPE_NONAME' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_GROUP_CHILD' type='enum'/>
-     <exports symbol='XML_XINCLUDE_BUILD_FAILED' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_NOT_EMPTY' type='enum'/>
-     <exports symbol='XML_ERR_PEREF_NO_NAME' type='enum'/>
-     <exports symbol='XML_ERR_ENTITYREF_AT_EOF' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' type='enum'/>
+     <exports symbol='XML_WAR_NS_URI_RELATIVE' type='enum'/>
      <exports symbol='XML_NS_ERR_ATTRIBUTE_REDEFINED' type='enum'/>
      <exports symbol='XML_ERR_NAME_REQUIRED' type='enum'/>
-     <exports symbol='XML_IO_ETIMEDOUT' type='enum'/>
-     <exports symbol='XML_RNGP_ATTRIBUTE_CHILDREN' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ENUM' type='enum'/>
      <exports symbol='XML_RNGP_DEFINE_NAME_MISSING' type='enum'/>
-     <exports symbol='XML_SCHEMAV_WRONGELEM' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' type='enum'/>
-     <exports symbol='XML_SAVE_NO_DOCTYPE' type='enum'/>
-     <exports symbol='XML_RNGP_CHOICE_CONTENT' type='enum'/>
-     <exports symbol='XML_RNGP_EMPTY_CONSTRUCT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' type='enum'/>
      <exports symbol='XML_RNGP_FORBIDDEN_ATTRIBUTE' type='enum'/>
      <exports symbol='XML_ERR_ELEMCONTENT_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_4' type='enum'/>
-     <exports symbol='XML_ERR_URI_FRAGMENT' type='enum'/>
-     <exports symbol='XML_IO_ESPIPE' type='enum'/>
-     <exports symbol='XML_DTD_NO_DOC' type='enum'/>
-     <exports symbol='XML_IO_EEXIST' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_NOT_SCHEMA' type='enum'/>
-     <exports symbol='XML_FROM_SCHEMASV' type='enum'/>
-     <exports symbol='XML_FROM_SCHEMASP' type='enum'/>
-     <exports symbol='XML_ERR_MIXED_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' type='enum'/>
-     <exports symbol='XML_SCHEMAP_PREFIX_UNDEFINED' type='enum'/>
-     <exports symbol='XML_DTD_STANDALONE_WHITE_SPACE' type='enum'/>
-     <exports symbol='XML_HTTP_USE_IP' type='enum'/>
-     <exports symbol='XML_IO_ENCODER' type='enum'/>
-     <exports symbol='XML_IO_ENOTEMPTY' type='enum'/>
+     <exports symbol='XML_CHECK_WRONG_PREV' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_MG_PROPS_CORRECT_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_MG_PROPS_CORRECT_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DEF_AND_PREFIX' type='enum'/>
+     <exports symbol='XML_RNGP_TYPE_NOT_FOUND' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' type='enum'/>
      <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' type='enum'/>
-     <exports symbol='XML_RNGP_START_CHOICE_AND_INTERLEAVE' type='enum'/>
-     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_3' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' type='enum'/>
      <exports symbol='XML_XINCLUDE_INVALID_CHAR' type='enum'/>
-     <exports symbol='XML_RNGP_TYPE_NOT_FOUND' type='enum'/>
-     <exports symbol='XML_IO_BUFFER_FULL' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_PREDICATE_ERROR' type='enum'/>
      <exports symbol='xmlErrorPtr' type='typedef'/>
      <exports symbol='xmlErrorLevel' type='typedef'/>
      <exports symbol='xmlParserErrors' type='typedef'/>
@@ -2431,6 +2582,7 @@
      <exports symbol='xmlReallocFunc' type='function'/>
      <exports symbol='xmlMallocFunc' type='function'/>
      <exports symbol='xmlMemDisplay' type='function'/>
+     <exports symbol='xmlMemBlocks' type='function'/>
      <exports symbol='xmlGcMemSetup' type='function'/>
      <exports symbol='xmlMemShow' type='function'/>
      <exports symbol='xmlMemoryStrdup' type='function'/>
@@ -2479,6 +2631,7 @@
      <exports symbol='xmlTextReader' type='typedef'/>
      <exports symbol='xmlTextReaderLocatorPtr' type='typedef'/>
      <exports symbol='xmlReaderTypes' type='typedef'/>
+     <exports symbol='xmlTextReaderConstXmlVersion' type='function'/>
      <exports symbol='xmlTextReaderBaseUri' type='function'/>
      <exports symbol='xmlTextReaderValue' type='function'/>
      <exports symbol='xmlNewTextReaderFilename' type='function'/>
@@ -2489,7 +2642,7 @@
      <exports symbol='xmlTextReaderErrorFunc' type='function'/>
      <exports symbol='xmlTextReaderHasAttributes' type='function'/>
      <exports symbol='xmlReaderNewWalker' type='function'/>
-     <exports symbol='xmlTextReaderSetErrorHandler' type='function'/>
+     <exports symbol='xmlTextReaderIsNamespaceDecl' type='function'/>
      <exports symbol='xmlTextReaderLocatorLineNumber' type='function'/>
      <exports symbol='xmlTextReaderLookupNamespace' type='function'/>
      <exports symbol='xmlTextReaderMoveToAttributeNs' type='function'/>
@@ -2505,6 +2658,7 @@
      <exports symbol='xmlTextReaderExpand' type='function'/>
      <exports symbol='xmlReaderNewDoc' type='function'/>
      <exports symbol='xmlTextReaderXmlLang' type='function'/>
+     <exports symbol='xmlTextReaderStandalone' type='function'/>
      <exports symbol='xmlReaderForDoc' type='function'/>
      <exports symbol='xmlReaderNewIO' type='function'/>
      <exports symbol='xmlTextReaderMoveToElement' type='function'/>
@@ -2514,8 +2668,10 @@
      <exports symbol='xmlReaderWalker' type='function'/>
      <exports symbol='xmlReaderForIO' type='function'/>
      <exports symbol='xmlTextReaderIsValid' type='function'/>
+     <exports symbol='xmlTextReaderSetErrorHandler' type='function'/>
      <exports symbol='xmlTextReaderConstXmlLang' type='function'/>
      <exports symbol='xmlTextReaderConstString' type='function'/>
+     <exports symbol='xmlTextReaderConstEncoding' type='function'/>
      <exports symbol='xmlTextReaderNodeType' type='function'/>
      <exports symbol='xmlTextReaderNormalization' type='function'/>
      <exports symbol='xmlTextReaderGetErrorHandler' type='function'/>
@@ -2609,6 +2765,7 @@
      <exports symbol='XML_SCHEMAS_ERR_EXTRACONTENT' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_NOTDETERMINIST' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_NOTSIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_VAL_VC_I_CREATE' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_INTERNAL' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_UNDECLAREDELEM' type='enum'/>
      <exports symbol='XML_SCHEMAS_ERR_WRONGELEM' type='enum'/>
@@ -2622,6 +2779,7 @@
      <exports symbol='XML_SCHEMAS_ERR_NOTYPE' type='enum'/>
      <exports symbol='xmlSchemaPtr' type='typedef'/>
      <exports symbol='xmlSchemaParserCtxt' type='typedef'/>
+     <exports symbol='xmlSchemaValidOption' type='typedef'/>
      <exports symbol='xmlSchemaValidCtxtPtr' type='typedef'/>
      <exports symbol='xmlSchemaParserCtxtPtr' type='typedef'/>
      <exports symbol='xmlSchema' type='typedef'/>
@@ -2629,19 +2787,24 @@
      <exports symbol='xmlSchemaValidCtxt' type='typedef'/>
      <exports symbol='xmlSchemaValidateStream' type='function'/>
      <exports symbol='xmlSchemaSetParserErrors' type='function'/>
+     <exports symbol='xmlSchemaValidateOneElement' type='function'/>
      <exports symbol='xmlSchemaValidityWarningFunc' type='function'/>
      <exports symbol='xmlSchemaValidateDoc' type='function'/>
      <exports symbol='xmlSchemaNewDocParserCtxt' type='function'/>
      <exports symbol='xmlSchemaFree' type='function'/>
-     <exports symbol='xmlSchemaNewParserCtxt' type='function'/>
+     <exports symbol='xmlSchemaDump' type='function'/>
+     <exports symbol='xmlSchemaSetValidOptions' type='function'/>
      <exports symbol='xmlSchemaParse' type='function'/>
      <exports symbol='xmlSchemaNewMemParserCtxt' type='function'/>
      <exports symbol='xmlSchemaFreeParserCtxt' type='function'/>
+     <exports symbol='xmlSchemaValidityErrorFunc' type='function'/>
      <exports symbol='xmlSchemaFreeValidCtxt' type='function'/>
+     <exports symbol='xmlSchemaGetParserErrors' type='function'/>
      <exports symbol='xmlSchemaNewValidCtxt' type='function'/>
-     <exports symbol='xmlSchemaDump' type='function'/>
      <exports symbol='xmlSchemaSetValidErrors' type='function'/>
-     <exports symbol='xmlSchemaValidityErrorFunc' type='function'/>
+     <exports symbol='xmlSchemaGetValidErrors' type='function'/>
+     <exports symbol='xmlSchemaNewParserCtxt' type='function'/>
+     <exports symbol='xmlSchemaValidCtxtGetOptions' type='function'/>
     </file>
     <file name='xmlschemastypes'>
      <summary>implementation of XML Schema Datatypes</summary>
@@ -2650,17 +2813,20 @@
      <exports symbol='xmlSchemaNewFacet' type='function'/>
      <exports symbol='xmlSchemaValPredefTypeNode' type='function'/>
      <exports symbol='xmlSchemaIsBuiltInTypeFacet' type='function'/>
+     <exports symbol='xmlSchemaValidateLengthFacet' type='function'/>
      <exports symbol='xmlSchemaFreeFacet' type='function'/>
      <exports symbol='xmlSchemaGetBuiltInListSimpleTypeItemType' type='function'/>
+     <exports symbol='xmlSchemaFreeValue' type='function'/>
+     <exports symbol='xmlSchemaCompareValues' type='function'/>
      <exports symbol='xmlSchemaValidatePredefinedType' type='function'/>
-     <exports symbol='xmlSchemaCompareValues' type='function'/>
      <exports symbol='xmlSchemaInitTypes' type='function'/>
      <exports symbol='xmlSchemaValidateFacet' type='function'/>
+     <exports symbol='xmlSchemaValPredefTypeNodeNoNorm' type='function'/>
      <exports symbol='xmlSchemaValidateListSimpleTypeFacet' type='function'/>
      <exports symbol='xmlSchemaCleanupTypes' type='function'/>
      <exports symbol='xmlSchemaCollapseString' type='function'/>
      <exports symbol='xmlSchemaGetBuiltInType' type='function'/>
-     <exports symbol='xmlSchemaFreeValue' type='function'/>
+     <exports symbol='xmlSchemaGetFacetValueAsULong' type='function'/>
      <exports symbol='xmlSchemaGetPredefinedType' type='function'/>
      <exports symbol='xmlSchemaCheckFacet' type='function'/>
     </file>
@@ -2876,11 +3042,13 @@
      <summary>compile-time version informations</summary>
      <description>compile-time version informations for the XML library </description>
      <author>Daniel Veillard </author>
-     <exports symbol='LIBXML_VERSION_STRING' type='macro'/>
+     <exports symbol='LIBXML_THREAD_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_VERSION_EXTRA' type='macro'/>
      <exports symbol='LIBXML_DOCB_ENABLED' type='macro'/>
      <exports symbol='LIBXML_CATALOG_ENABLED' type='macro'/>
      <exports symbol='LIBXML_LEGACY_ENABLED' type='macro'/>
      <exports symbol='LIBXML_REGEXP_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_VERSION_STRING' type='macro'/>
      <exports symbol='LIBXML_XPTR_ENABLED' type='macro'/>
      <exports symbol='LIBXML_READER_ENABLED' type='macro'/>
      <exports symbol='LIBXML_ICONV_ENABLED' type='macro'/>
@@ -2904,7 +3072,7 @@
      <exports symbol='LIBXML_HTTP_ENABLED' type='macro'/>
      <exports symbol='LIBXML_OUTPUT_ENABLED' type='macro'/>
      <exports symbol='WITH_TRIO' type='macro'/>
-     <exports symbol='LIBXML_THREAD_ENABLED' type='macro'/>
+     <exports symbol='LIBXML_DEBUG_RUNTIME' type='macro'/>
      <exports symbol='LIBXML_XPATH_ENABLED' type='macro'/>
      <exports symbol='LIBXML_VERSION' type='macro'/>
      <exports symbol='LIBXML_VALID_ENABLED' type='macro'/>
@@ -3014,6 +3182,7 @@
      <exports symbol='XPATH_RANGE' type='enum'/>
      <exports symbol='XPTR_SYNTAX_ERROR' type='enum'/>
      <exports symbol='XPATH_LOCATIONSET' type='enum'/>
+     <exports symbol='XPATH_INVALID_CTXT' type='enum'/>
      <exports symbol='XPATH_INVALID_CHAR_ERROR' type='enum'/>
      <exports symbol='XPATH_UNDEF_VARIABLE_ERROR' type='enum'/>
      <exports symbol='XPATH_UNCLOSED_ERROR' type='enum'/>
@@ -3028,9 +3197,9 @@
      <exports symbol='XPATH_EXPR_ERROR' type='enum'/>
      <exports symbol='XPATH_VARIABLE_REF_ERROR' type='enum'/>
      <exports symbol='XPATH_INVALID_TYPE' type='enum'/>
+     <exports symbol='XPATH_UNDEFINED' type='enum'/>
+     <exports symbol='XPATH_INVALID_CTXT_POSITION' type='enum'/>
      <exports symbol='XPATH_INVALID_CTXT_SIZE' type='enum'/>
-     <exports symbol='XPATH_INVALID_CTXT_POSITION' type='enum'/>
-     <exports symbol='XPATH_UNDEFINED' type='enum'/>
      <exports symbol='XPATH_MEMORY_ERROR' type='enum'/>
      <exports symbol='XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
      <exports symbol='XPATH_NUMBER' type='enum'/>
@@ -3082,7 +3251,7 @@
      <exports symbol='xmlXPathConvertFunc' type='function'/>
      <exports symbol='xmlXPathIsInf' type='function'/>
      <exports symbol='xmlXPathOrderDocElems' type='function'/>
-     <exports symbol='xmlXPathFunction' type='function'/>
+     <exports symbol='xmlXPathFuncLookupFunc' type='function'/>
      <exports symbol='xmlXPathFreeNodeSetList' type='function'/>
      <exports symbol='xmlXPathCmpNodes' type='function'/>
      <exports symbol='xmlXPathCastBooleanToNumber' type='function'/>
@@ -3094,12 +3263,14 @@
      <exports symbol='xmlXPathCastBooleanToString' type='function'/>
      <exports symbol='xmlXPathCastNodeToNumber' type='function'/>
      <exports symbol='xmlXPathCastNumberToBoolean' type='function'/>
-     <exports symbol='xmlXPathIsNaN' type='function'/>
+     <exports symbol='xmlXPathFunction' type='function'/>
+     <exports symbol='xmlXPathVariableLookupFunc' type='function'/>
      <exports symbol='xmlXPathEvalFunc' type='function'/>
      <exports symbol='xmlXPathFreeCompExpr' type='function'/>
      <exports symbol='xmlXPathObjectCopy' type='function'/>
      <exports symbol='xmlXPathNewContext' type='function'/>
      <exports symbol='xmlXPathEvalPredicate' type='function'/>
+     <exports symbol='xmlXPathIsNaN' type='function'/>
      <exports symbol='xmlXPathConvertNumber' type='function'/>
      <exports symbol='xmlXPathCompile' type='function'/>
      <exports symbol='xmlXPathFreeObject' type='function'/>
@@ -3211,13 +3382,11 @@
      <exports symbol='xmlXPathErr' type='function'/>
      <exports symbol='xmlXPathNextPreceding' type='function'/>
      <exports symbol='xmlXPathFunctionLookupNS' type='function'/>
-     <exports symbol='xmlXPathFuncLookupFunc' type='function'/>
      <exports symbol='xmlXPathRegisteredFuncsCleanup' type='function'/>
      <exports symbol='xmlXPathRegisterAllFunctions' type='function'/>
      <exports symbol='xmlXPathNewCString' type='function'/>
      <exports symbol='xmlXPathRegisterFunc' type='function'/>
      <exports symbol='xmlXPathPositionFunction' type='function'/>
-     <exports symbol='xmlXPathVariableLookupFunc' type='function'/>
      <exports symbol='xmlXPathSubstringBeforeFunction' type='function'/>
      <exports symbol='xmlXPathRegisteredVariablesCleanup' type='function'/>
      <exports symbol='xmlXPathNextDescendant' type='function'/>
@@ -3247,7 +3416,7 @@
      <exports symbol='xmlXPathNotFunction' type='function'/>
      <exports symbol='xmlXPathStringEvalNumber' type='function'/>
      <exports symbol='xmlXPathNextDescendantOrSelf' type='function'/>
-     <exports symbol='xmlXPathRegisterFuncLookup' type='function'/>
+     <exports symbol='xmlXPathParseName' type='function'/>
      <exports symbol='xmlXPathNextAttribute' type='function'/>
      <exports symbol='xmlXPathDivValues' type='function'/>
      <exports symbol='xmlXPathStringLengthFunction' type='function'/>
@@ -3260,7 +3429,7 @@
      <exports symbol='xmlXPathValueFlipSign' type='function'/>
      <exports symbol='xmlXPathTranslateFunction' type='function'/>
      <exports symbol='xmlXPathLeading' type='function'/>
-     <exports symbol='xmlXPathParseName' type='function'/>
+     <exports symbol='xmlXPathRegisterFuncLookup' type='function'/>
      <exports symbol='xmlXPathTrueFunction' type='function'/>
      <exports symbol='xmlXPathPopNumber' type='function'/>
     </file>
@@ -3355,6 +3524,10 @@
     <macro name='INPUT_CHUNK' file='parserInternals'>
       <info>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</info>
     </macro>
+    <macro name='IS_ASCII_DIGIT' file='parserInternals'>
+    </macro>
+    <macro name='IS_ASCII_LETTER' file='parserInternals'>
+    </macro>
     <macro name='IS_BASECHAR' file='parserInternals'>
       <info>Macro to check the following production in the XML spec:  [85] BaseChar ::= ... long list see REC ...</info>
       <arg name='c' info='an UNICODE value (int)'/>
@@ -3435,6 +3608,9 @@
     <macro name='LIBXML_DEBUG_ENABLED' file='xmlversion'>
       <info>Whether Debugging module is configured in</info>
     </macro>
+    <macro name='LIBXML_DEBUG_RUNTIME' file='xmlversion'>
+      <info>Whether the runtime debugging is configured in</info>
+    </macro>
     <macro name='LIBXML_DLL_IMPORT' file='xmlexports'>
     </macro>
     <macro name='LIBXML_DOCB_ENABLED' file='xmlversion'>
@@ -3500,6 +3676,9 @@
     <macro name='LIBXML_VERSION' file='xmlversion'>
       <info>the version number: 1.2.3 value is 1002003</info>
     </macro>
+    <macro name='LIBXML_VERSION_EXTRA' file='xmlversion'>
+      <info>extra version information, used to show a CVS compilation</info>
+    </macro>
     <macro name='LIBXML_VERSION_STRING' file='xmlversion'>
       <info>the version number string, 1.2.3 value is &quot;1002003&quot;</info>
     </macro>
@@ -3578,6 +3757,12 @@
     <macro name='XML_COMPLETE_ATTRS' file='parser'>
       <info>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</info>
     </macro>
+    <macro name='XML_CTXT_FINISH_DTD_0' file='valid'>
+      <info>Special value for finishDtd field when embedded in an xmlParserCtxt</info>
+    </macro>
+    <macro name='XML_CTXT_FINISH_DTD_1' file='valid'>
+      <info>Special value for finishDtd field when embedded in an xmlParserCtxt</info>
+    </macro>
     <macro name='XML_DEFAULT_VERSION' file='parser'>
       <info>The default version of XML used: 1.0</info>
     </macro>
@@ -3620,11 +3805,20 @@
     <macro name='XML_SCHEMAS_ATTRGROUP_GLOBAL' file='schemasInternals'>
       <info>The attribute wildcard has been already builded.</info>
     </macro>
+    <macro name='XML_SCHEMAS_ATTRGROUP_MARKED' file='schemasInternals'>
+      <info>Marks the attr group as marked; used for circular checks.</info>
+    </macro>
     <macro name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED' file='schemasInternals'>
       <info>The attribute wildcard has been already builded.</info>
     </macro>
+    <macro name='XML_SCHEMAS_ATTR_FIXED' file='schemasInternals'>
+      <info>the attribute has a fixed value</info>
+    </macro>
     <macro name='XML_SCHEMAS_ATTR_GLOBAL' file='schemasInternals'>
     </macro>
+    <macro name='XML_SCHEMAS_ATTR_INTERNAL_RESOLVED' file='schemasInternals'>
+      <info>this is set when the &quot;type&quot; and &quot;ref&quot; references have been resolved.</info>
+    </macro>
     <macro name='XML_SCHEMAS_ATTR_NSDEFAULT' file='schemasInternals'>
       <info>allow elements in no namespace</info>
     </macro>
@@ -3637,18 +3831,50 @@
     <macro name='XML_SCHEMAS_ATTR_USE_REQUIRED' file='schemasInternals'>
       <info>The attribute is required.</info>
     </macro>
+    <macro name='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION' file='schemasInternals'>
+      <info>the schema has &quot;extension&quot; in the set of blockDefault.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION' file='schemasInternals'>
+      <info>the schema has &quot;restriction&quot; in the set of blockDefault.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION' file='schemasInternals'>
+      <info>the schema has &quot;substitution&quot; in the set of blockDefault.</info>
+    </macro>
     <macro name='XML_SCHEMAS_ELEM_ABSTRACT' file='schemasInternals'>
       <info>the element is abstract</info>
     </macro>
+    <macro name='XML_SCHEMAS_ELEM_BLOCK_ABSENT' file='schemasInternals'>
+      <info>the &quot;block&quot; attribute is absent</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ELEM_BLOCK_EXTENSION' file='schemasInternals'>
+      <info>disallowed substitutions are absent</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' file='schemasInternals'>
+      <info>disallowed substitutions: &quot;restriction&quot;</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION' file='schemasInternals'>
+      <info>disallowed substitutions: &quot;substituion&quot;</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ELEM_CIRCULAR' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_ELEM_DEFAULT' file='schemasInternals'>
       <info>the element has a default value</info>
     </macro>
+    <macro name='XML_SCHEMAS_ELEM_FINAL_ABSENT' file='schemasInternals'>
+      <info>substitution group exclusions are absent</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ELEM_FINAL_EXTENSION' file='schemasInternals'>
+    </macro>
+    <macro name='XML_SCHEMAS_ELEM_FINAL_RESTRICTION' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_ELEM_FIXED' file='schemasInternals'>
       <info>the element has a fixed value</info>
     </macro>
     <macro name='XML_SCHEMAS_ELEM_GLOBAL' file='schemasInternals'>
       <info>the element is global</info>
     </macro>
+    <macro name='XML_SCHEMAS_ELEM_INTERNAL_RESOLVED' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_ELEM_NILLABLE' file='schemasInternals'>
       <info>the element is nillable</info>
     </macro>
@@ -3674,23 +3900,37 @@
       <info>unknown facet handling</info>
     </macro>
     <macro name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' file='schemasInternals'>
-      <info>the shema has &quot;extension&quot; in the set of finalDefault.</info>
+      <info>the schema has &quot;extension&quot; in the set of finalDefault.</info>
     </macro>
     <macro name='XML_SCHEMAS_FINAL_DEFAULT_LIST' file='schemasInternals'>
-      <info>the shema has &quot;list&quot; in the set of finalDefault.</info>
+      <info>the cshema has &quot;list&quot; in the set of finalDefault.</info>
     </macro>
     <macro name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' file='schemasInternals'>
-      <info>the shema has &quot;restriction&quot; in the set of finalDefault.</info>
+      <info>the schema has &quot;restriction&quot; in the set of finalDefault.</info>
     </macro>
     <macro name='XML_SCHEMAS_FINAL_DEFAULT_UNION' file='schemasInternals'>
-      <info>the shema has &quot;union&quot; in the set of finalDefault.</info>
+      <info>the schema has &quot;union&quot; in the set of finalDefault.</info>
     </macro>
+    <macro name='XML_SCHEMAS_INCLUDING_CONVERT_NS' file='schemasInternals'>
+      <info>the schema is currently including an other schema with no target namespace.</info>
+    </macro>
     <macro name='XML_SCHEMAS_QUALIF_ATTR' file='schemasInternals'>
-      <info>the shemas requires qualified attributes</info>
+      <info>the schema requires qualified attributes</info>
     </macro>
     <macro name='XML_SCHEMAS_QUALIF_ELEM' file='schemasInternals'>
-      <info>the shemas requires qualified elements</info>
+      <info>the schema requires qualified elements</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_ABSTRACT' file='schemasInternals'>
+      <info>the simple/complexType is abstract.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT' file='schemasInternals'>
+      <info>the complexType did not specify &apos;block&apos; so use the default of the &lt;schema&gt; item.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_BLOCK_EXTENSION' file='schemasInternals'>
+      <info>the complexType has a &apos;block&apos; of &quot;extension&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_BLOCK_RESTRICTION' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' file='schemasInternals'>
     </macro>
     <macro name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' file='schemasInternals'>
@@ -3716,6 +3956,8 @@
     <macro name='XML_SCHEMAS_TYPE_GLOBAL' file='schemasInternals'>
       <info>the type is global</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_MARKED' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_TYPE_MIXED' file='schemasInternals'>
       <info>the element content type is mixed</info>
     </macro>
@@ -4025,6 +4267,46 @@
     <enum name='XML_CHAR_ENCODING_UTF16BE' file='encoding' value='3' type='xmlCharEncoding' info='UTF-16 big endian'/>
     <enum name='XML_CHAR_ENCODING_UTF16LE' file='encoding' value='2' type='xmlCharEncoding' info='UTF-16 little endian'/>
     <enum name='XML_CHAR_ENCODING_UTF8' file='encoding' value='1' type='xmlCharEncoding' info='UTF-8'/>
+    <enum name='XML_CHECK_' file='xmlerror' value='5038' type='xmlParserErrors' info='5033'/>
+    <enum name='XML_CHECK_ENTITY_TYPE' file='xmlerror' value='5012' type='xmlParserErrors' info='5012'/>
+    <enum name='XML_CHECK_FOUND_ATTRIBUTE' file='xmlerror' value='5001' type='xmlParserErrors' info='5001'/>
+    <enum name='XML_CHECK_FOUND_CDATA' file='xmlerror' value='5003' type='xmlParserErrors' info='5003'/>
+    <enum name='XML_CHECK_FOUND_COMMENT' file='xmlerror' value='5007' type='xmlParserErrors' info='5007'/>
+    <enum name='XML_CHECK_FOUND_DOCTYPE' file='xmlerror' value='5008' type='xmlParserErrors' info='5008'/>
+    <enum name='XML_CHECK_FOUND_ELEMENT' file='xmlerror' value='5000' type='xmlParserErrors'/>
+    <enum name='XML_CHECK_FOUND_ENTITY' file='xmlerror' value='5005' type='xmlParserErrors' info='5005'/>
+    <enum name='XML_CHECK_FOUND_ENTITYREF' file='xmlerror' value='5004' type='xmlParserErrors' info='5004'/>
+    <enum name='XML_CHECK_FOUND_FRAGMENT' file='xmlerror' value='5009' type='xmlParserErrors' info='5009'/>
+    <enum name='XML_CHECK_FOUND_NOTATION' file='xmlerror' value='5010' type='xmlParserErrors' info='5010'/>
+    <enum name='XML_CHECK_FOUND_PI' file='xmlerror' value='5006' type='xmlParserErrors' info='5006'/>
+    <enum name='XML_CHECK_FOUND_TEXT' file='xmlerror' value='5002' type='xmlParserErrors' info='5002'/>
+    <enum name='XML_CHECK_NAME_NOT_NULL' file='xmlerror' value='5037' type='xmlParserErrors' info='5037'/>
+    <enum name='XML_CHECK_NOT_ATTR' file='xmlerror' value='5023' type='xmlParserErrors' info='5023'/>
+    <enum name='XML_CHECK_NOT_ATTR_DECL' file='xmlerror' value='5024' type='xmlParserErrors' info='5024'/>
+    <enum name='XML_CHECK_NOT_DTD' file='xmlerror' value='5022' type='xmlParserErrors' info='5022'/>
+    <enum name='XML_CHECK_NOT_ELEM_DECL' file='xmlerror' value='5025' type='xmlParserErrors' info='5025'/>
+    <enum name='XML_CHECK_NOT_ENTITY_DECL' file='xmlerror' value='5026' type='xmlParserErrors' info='5026'/>
+    <enum name='XML_CHECK_NOT_NCNAME' file='xmlerror' value='5034' type='xmlParserErrors' info='5034'/>
+    <enum name='XML_CHECK_NOT_NS_DECL' file='xmlerror' value='5027' type='xmlParserErrors' info='5027'/>
+    <enum name='XML_CHECK_NOT_UTF8' file='xmlerror' value='5032' type='xmlParserErrors' info='5032'/>
+    <enum name='XML_CHECK_NO_DICT' file='xmlerror' value='5033' type='xmlParserErrors' info='5033'/>
+    <enum name='XML_CHECK_NO_DOC' file='xmlerror' value='5014' type='xmlParserErrors' info='5014'/>
+    <enum name='XML_CHECK_NO_ELEM' file='xmlerror' value='5016' type='xmlParserErrors' info='5016'/>
+    <enum name='XML_CHECK_NO_HREF' file='xmlerror' value='5028' type='xmlParserErrors' info='5028'/>
+    <enum name='XML_CHECK_NO_NAME' file='xmlerror' value='5015' type='xmlParserErrors' info='5015'/>
+    <enum name='XML_CHECK_NO_NEXT' file='xmlerror' value='5020' type='xmlParserErrors' info='5020'/>
+    <enum name='XML_CHECK_NO_PARENT' file='xmlerror' value='5013' type='xmlParserErrors' info='5013'/>
+    <enum name='XML_CHECK_NO_PREV' file='xmlerror' value='5018' type='xmlParserErrors' info='5018'/>
+    <enum name='XML_CHECK_NS_ANCESTOR' file='xmlerror' value='5031' type='xmlParserErrors' info='5031'/>
+    <enum name='XML_CHECK_NS_SCOPE' file='xmlerror' value='5030' type='xmlParserErrors' info='5030'/>
+    <enum name='XML_CHECK_OUTSIDE_DICT' file='xmlerror' value='5035' type='xmlParserErrors' info='5035'/>
+    <enum name='XML_CHECK_UNKNOWN_NODE' file='xmlerror' value='5011' type='xmlParserErrors' info='5011'/>
+    <enum name='XML_CHECK_WRONG_DOC' file='xmlerror' value='5017' type='xmlParserErrors' info='5017'/>
+    <enum name='XML_CHECK_WRONG_NAME' file='xmlerror' value='5036' type='xmlParserErrors' info='5036'/>
+    <enum name='XML_CHECK_WRONG_NEXT' file='xmlerror' value='5021' type='xmlParserErrors' info='5021'/>
+    <enum name='XML_CHECK_WRONG_PARENT' file='xmlerror' value='5029' type='xmlParserErrors' info='5029'/>
+    <enum name='XML_CHECK_WRONG_PREV' file='xmlerror' value='5019' type='xmlParserErrors' info='5019'/>
+    <enum name='XML_CHECK_X' file='xmlerror' value='5039' type='xmlParserErrors' info=' 503'/>
     <enum name='XML_COMMENT_NODE' file='tree' value='8' type='xmlElementType'/>
     <enum name='XML_DOCB_DOCUMENT_NODE' file='tree' value='21' type='xmlElementType'/>
     <enum name='XML_DOCUMENT_FRAG_NODE' file='tree' value='11' type='xmlElementType'/>
@@ -4195,6 +4477,7 @@
     <enum name='XML_EXTERNAL_PARAMETER_ENTITY' file='entities' value='5' type='xmlEntityType'/>
     <enum name='XML_FROM_C14N' file='xmlerror' value='21' type='xmlErrorDomain' info='The Canonicalization module'/>
     <enum name='XML_FROM_CATALOG' file='xmlerror' value='20' type='xmlErrorDomain' info='The Catalog module'/>
+    <enum name='XML_FROM_CHECK' file='xmlerror' value='24' type='xmlErrorDomain' info='The error checking module'/>
     <enum name='XML_FROM_DATATYPE' file='xmlerror' value='15' type='xmlErrorDomain' info='The W3C XML Schemas Datatype module'/>
     <enum name='XML_FROM_DTD' file='xmlerror' value='4' type='xmlErrorDomain' info='The XML DTD validation with parser contex'/>
     <enum name='XML_FROM_FTP' file='xmlerror' value='9' type='xmlErrorDomain' info='The FTP module'/>
@@ -4212,7 +4495,8 @@
     <enum name='XML_FROM_SCHEMASP' file='xmlerror' value='16' type='xmlErrorDomain' info='The W3C XML Schemas parser module'/>
     <enum name='XML_FROM_SCHEMASV' file='xmlerror' value='17' type='xmlErrorDomain' info='The W3C XML Schemas validation module'/>
     <enum name='XML_FROM_TREE' file='xmlerror' value='2' type='xmlErrorDomain' info='The tree module'/>
-    <enum name='XML_FROM_VALID' file='xmlerror' value='23' type='xmlErrorDomain' info=' The XML DTD validation with valid context'/>
+    <enum name='XML_FROM_VALID' file='xmlerror' value='23' type='xmlErrorDomain' info='The XML DTD validation with valid context'/>
+    <enum name='XML_FROM_WRITER' file='xmlerror' value='25' type='xmlErrorDomain' info=' The xmlwriter module'/>
     <enum name='XML_FROM_XINCLUDE' file='xmlerror' value='11' type='xmlErrorDomain' info='The XInclude processing'/>
     <enum name='XML_FROM_XPATH' file='xmlerror' value='12' type='xmlErrorDomain' info='The XPath module'/>
     <enum name='XML_FROM_XPOINTER' file='xmlerror' value='13' type='xmlErrorDomain' info='The XPointer module'/>
@@ -4323,12 +4607,13 @@
     <enum name='XML_PARSE_DTDLOAD' file='parser' value='4' type='xmlParserOption' info='load the external subset'/>
     <enum name='XML_PARSE_DTDVALID' file='parser' value='16' type='xmlParserOption' info='validate with the DTD'/>
     <enum name='XML_PARSE_NOBLANKS' file='parser' value='256' type='xmlParserOption' info='remove blank nodes'/>
-    <enum name='XML_PARSE_NOCDATA' file='parser' value='16384' type='xmlParserOption' info=' merge CDATA as text nodes'/>
+    <enum name='XML_PARSE_NOCDATA' file='parser' value='16384' type='xmlParserOption' info='merge CDATA as text nodes'/>
     <enum name='XML_PARSE_NODICT' file='parser' value='4096' type='xmlParserOption' info='Do not reuse the context dictionnary'/>
     <enum name='XML_PARSE_NOENT' file='parser' value='2' type='xmlParserOption' info='substitute entities'/>
     <enum name='XML_PARSE_NOERROR' file='parser' value='32' type='xmlParserOption' info='suppress error reports'/>
     <enum name='XML_PARSE_NONET' file='parser' value='2048' type='xmlParserOption' info='Forbid network access'/>
     <enum name='XML_PARSE_NOWARNING' file='parser' value='64' type='xmlParserOption' info='suppress warning reports'/>
+    <enum name='XML_PARSE_NOXINCNODE' file='parser' value='32768' type='xmlParserOption' info=' do not generate XINCLUDE START/END nodes'/>
     <enum name='XML_PARSE_NSCLEAN' file='parser' value='8192' type='xmlParserOption' info='remove redundant namespaces declarations'/>
     <enum name='XML_PARSE_PEDANTIC' file='parser' value='128' type='xmlParserOption' info='pedantic error reporting'/>
     <enum name='XML_PARSE_PUSH_DOM' file='parser' value='3' type='xmlParserMode'/>
@@ -4532,20 +4817,23 @@
     <enum name='XML_SCHEMAP_ATTRFORMDEFAULT_VALUE' file='xmlerror' value='1701' type='xmlParserErrors' info='1701'/>
     <enum name='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' file='xmlerror' value='1702' type='xmlParserErrors' info='1702'/>
     <enum name='XML_SCHEMAP_ATTR_NONAME_NOREF' file='xmlerror' value='1703' type='xmlParserErrors' info='1703'/>
+    <enum name='XML_SCHEMAP_AU_PROPS_CORRECT_2' file='xmlerror' value='3078' type='xmlParserErrors' info='3078'/>
+    <enum name='XML_SCHEMAP_A_PROPS_CORRECT_2' file='xmlerror' value='3079' type='xmlParserErrors' info='3079'/>
     <enum name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' file='xmlerror' value='1704' type='xmlParserErrors' info='1704'/>
-    <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_3' file='xmlerror' value='1800' type='xmlParserErrors' info='1799'/>
+    <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_1' file='xmlerror' value='3063' type='xmlParserErrors' info='3063'/>
+    <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_3' file='xmlerror' value='1800' type='xmlParserErrors' info='1800'/>
     <enum name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' file='xmlerror' value='3031' type='xmlParserErrors' info='3031'/>
     <enum name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' file='xmlerror' value='3032' type='xmlParserErrors' info='3032'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' file='xmlerror' value='3011' type='xmlParserErrors' info='3010'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' file='xmlerror' value='3012' type='xmlParserErrors' info='3011'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' file='xmlerror' value='3013' type='xmlParserErrors' info='3012'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' file='xmlerror' value='3014' type='xmlParserErrors' info='3013'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' file='xmlerror' value='3015' type='xmlParserErrors' info='3014'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' file='xmlerror' value='3016' type='xmlParserErrors' info='3015'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' file='xmlerror' value='3017' type='xmlParserErrors' info='3016'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' file='xmlerror' value='3018' type='xmlParserErrors' info='3017'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' file='xmlerror' value='3019' type='xmlParserErrors' info='3018'/>
-    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' file='xmlerror' value='3020' type='xmlParserErrors' info='3019'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' file='xmlerror' value='3011' type='xmlParserErrors' info='3011'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' file='xmlerror' value='3012' type='xmlParserErrors' info='3012'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' file='xmlerror' value='3013' type='xmlParserErrors' info='3013'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' file='xmlerror' value='3014' type='xmlParserErrors' info='3014'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' file='xmlerror' value='3015' type='xmlParserErrors' info='3015'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' file='xmlerror' value='3016' type='xmlParserErrors' info='3016'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' file='xmlerror' value='3017' type='xmlParserErrors' info='3017'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' file='xmlerror' value='3018' type='xmlParserErrors' info='3018'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' file='xmlerror' value='3019' type='xmlParserErrors' info='3019'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' file='xmlerror' value='3020' type='xmlParserErrors' info='3020'/>
     <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' file='xmlerror' value='3021' type='xmlParserErrors' info='3021'/>
     <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' file='xmlerror' value='3022' type='xmlParserErrors' info='3022'/>
     <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' file='xmlerror' value='3023' type='xmlParserErrors' info='3023'/>
@@ -4556,39 +4844,51 @@
     <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' file='xmlerror' value='3028' type='xmlParserErrors' info='3028'/>
     <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' file='xmlerror' value='3029' type='xmlParserErrors' info='3029'/>
     <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' file='xmlerror' value='3030' type='xmlParserErrors' info='3030'/>
-    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_1' file='xmlerror' value='1782' type='xmlParserErrors' info='1781'/>
-    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_2' file='xmlerror' value='1783' type='xmlParserErrors' info='1782'/>
-    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_3' file='xmlerror' value='1784' type='xmlParserErrors' info='1783'/>
-    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_4' file='xmlerror' value='1785' type='xmlParserErrors' info='1784'/>
-    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_5' file='xmlerror' value='1786' type='xmlParserErrors' info='1785'/>
-    <enum name='XML_SCHEMAP_DEF_AND_PREFIX' file='xmlerror' value='1768' type='xmlParserErrors' info='1767'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' file='xmlerror' value='1787' type='xmlParserErrors' info='1786'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' file='xmlerror' value='1788' type='xmlParserErrors' info='1787'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' file='xmlerror' value='1789' type='xmlParserErrors' info='1788'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' file='xmlerror' value='1790' type='xmlParserErrors' info='1789'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' file='xmlerror' value='1791' type='xmlParserErrors' info='1790'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' file='xmlerror' value='1797' type='xmlParserErrors' info='1796'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' file='xmlerror' value='1798' type='xmlParserErrors' info='1797'/>
-    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' file='xmlerror' value='1799' type='xmlParserErrors' info='1798'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_1' file='xmlerror' value='3058' type='xmlParserErrors' info='3058'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_1' file='xmlerror' value='3059' type='xmlParserErrors' info='3059'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1' file='xmlerror' value='3060' type='xmlParserErrors' info='3060'/>
+    <enum name='XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2' file='xmlerror' value='3061' type='xmlParserErrors' info='3061'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_1' file='xmlerror' value='1782' type='xmlParserErrors' info='1782'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_2' file='xmlerror' value='1783' type='xmlParserErrors' info='1783'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_3' file='xmlerror' value='1784' type='xmlParserErrors' info='1784'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_4' file='xmlerror' value='1785' type='xmlParserErrors' info='1785'/>
+    <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_5' file='xmlerror' value='1786' type='xmlParserErrors' info='1786'/>
+    <enum name='XML_SCHEMAP_CVC_SIMPLE_TYPE' file='xmlerror' value='3062' type='xmlParserErrors' info='3062'/>
+    <enum name='XML_SCHEMAP_DEF_AND_PREFIX' file='xmlerror' value='1768' type='xmlParserErrors' info='1768'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' file='xmlerror' value='1787' type='xmlParserErrors' info='1787'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1' file='xmlerror' value='1788' type='xmlParserErrors' info='1788'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2' file='xmlerror' value='1789' type='xmlParserErrors' info='1789'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3' file='xmlerror' value='3077' type='xmlParserErrors' info='3077'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2' file='xmlerror' value='1790' type='xmlParserErrors' info='1790'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' file='xmlerror' value='1791' type='xmlParserErrors' info='1791'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1' file='xmlerror' value='1797' type='xmlParserErrors' info='1797'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2' file='xmlerror' value='1798' type='xmlParserErrors' info='1798'/>
+    <enum name='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3' file='xmlerror' value='1799' type='xmlParserErrors' info='1799'/>
     <enum name='XML_SCHEMAP_ELEMFORMDEFAULT_VALUE' file='xmlerror' value='1705' type='xmlParserErrors' info='1705'/>
     <enum name='XML_SCHEMAP_ELEM_DEFAULT_FIXED' file='xmlerror' value='1755' type='xmlParserErrors' info='1755'/>
     <enum name='XML_SCHEMAP_ELEM_NONAME_NOREF' file='xmlerror' value='1706' type='xmlParserErrors' info='1706'/>
     <enum name='XML_SCHEMAP_EXTENSION_NO_BASE' file='xmlerror' value='1707' type='xmlParserErrors' info='1707'/>
+    <enum name='XML_SCHEMAP_E_PROPS_CORRECT_2' file='xmlerror' value='3045' type='xmlParserErrors' info='3045'/>
+    <enum name='XML_SCHEMAP_E_PROPS_CORRECT_3' file='xmlerror' value='3046' type='xmlParserErrors' info='3046'/>
+    <enum name='XML_SCHEMAP_E_PROPS_CORRECT_4' file='xmlerror' value='3047' type='xmlParserErrors' info='3047'/>
+    <enum name='XML_SCHEMAP_E_PROPS_CORRECT_5' file='xmlerror' value='3048' type='xmlParserErrors' info='3048'/>
+    <enum name='XML_SCHEMAP_E_PROPS_CORRECT_6' file='xmlerror' value='3049' type='xmlParserErrors' info='3049'/>
     <enum name='XML_SCHEMAP_FACET_NO_VALUE' file='xmlerror' value='1708' type='xmlParserErrors' info='1708'/>
     <enum name='XML_SCHEMAP_FAILED_BUILD_IMPORT' file='xmlerror' value='1709' type='xmlParserErrors' info='1709'/>
-    <enum name='XML_SCHEMAP_FAILED_LOAD' file='xmlerror' value='1757' type='xmlParserErrors' info='1756'/>
-    <enum name='XML_SCHEMAP_FAILED_PARSE' file='xmlerror' value='1766' type='xmlParserErrors' info='1765'/>
+    <enum name='XML_SCHEMAP_FAILED_LOAD' file='xmlerror' value='1757' type='xmlParserErrors' info='1757'/>
+    <enum name='XML_SCHEMAP_FAILED_PARSE' file='xmlerror' value='1766' type='xmlParserErrors' info='1766'/>
     <enum name='XML_SCHEMAP_GROUP_NONAME_NOREF' file='xmlerror' value='1710' type='xmlParserErrors' info='1710'/>
     <enum name='XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI' file='xmlerror' value='1711' type='xmlParserErrors' info='1711'/>
     <enum name='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' file='xmlerror' value='1712' type='xmlParserErrors' info='1712'/>
     <enum name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' file='xmlerror' value='1713' type='xmlParserErrors' info='1713'/>
-    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' file='xmlerror' value='1770' type='xmlParserErrors' info='1769'/>
-    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' file='xmlerror' value='1771' type='xmlParserErrors' info='1770'/>
-    <enum name='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' file='xmlerror' value='1793' type='xmlParserErrors' info='1792'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_COMBINATION' file='xmlerror' value='1777' type='xmlParserErrors' info='1776'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' file='xmlerror' value='1778' type='xmlParserErrors' info='1777'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_NAME' file='xmlerror' value='1780' type='xmlParserErrors' info='1779'/>
-    <enum name='XML_SCHEMAP_INVALID_ATTR_USE' file='xmlerror' value='1774' type='xmlParserErrors' info='1773'/>
+    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' file='xmlerror' value='1770' type='xmlParserErrors' info='1770'/>
+    <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' file='xmlerror' value='1771' type='xmlParserErrors' info='1771'/>
+    <enum name='XML_SCHEMAP_INTERNAL' file='xmlerror' value='3069' type='xmlParserErrors' info='3069 non-W3C'/>
+    <enum name='XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE' file='xmlerror' value='1793' type='xmlParserErrors' info='1793'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_COMBINATION' file='xmlerror' value='1777' type='xmlParserErrors' info='1777'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION' file='xmlerror' value='1778' type='xmlParserErrors' info='1778'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_NAME' file='xmlerror' value='1780' type='xmlParserErrors' info='1780'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_USE' file='xmlerror' value='1774' type='xmlParserErrors' info='1774'/>
     <enum name='XML_SCHEMAP_INVALID_BOOLEAN' file='xmlerror' value='1714' type='xmlParserErrors' info='1714'/>
     <enum name='XML_SCHEMAP_INVALID_ENUM' file='xmlerror' value='1715' type='xmlParserErrors' info='1715'/>
     <enum name='XML_SCHEMAP_INVALID_FACET' file='xmlerror' value='1716' type='xmlParserErrors' info='1716'/>
@@ -4597,46 +4897,74 @@
     <enum name='XML_SCHEMAP_INVALID_MINOCCURS' file='xmlerror' value='1719' type='xmlParserErrors' info='1719'/>
     <enum name='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' file='xmlerror' value='1720' type='xmlParserErrors' info='1720'/>
     <enum name='XML_SCHEMAP_INVALID_WHITE_SPACE' file='xmlerror' value='1721' type='xmlParserErrors' info='1721'/>
-    <enum name='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' file='xmlerror' value='1779' type='xmlParserErrors' info='1778'/>
+    <enum name='XML_SCHEMAP_MG_PROPS_CORRECT_1' file='xmlerror' value='3074' type='xmlParserErrors' info='3074'/>
+    <enum name='XML_SCHEMAP_MG_PROPS_CORRECT_2' file='xmlerror' value='3075' type='xmlParserErrors' info='3075'/>
+    <enum name='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' file='xmlerror' value='1779' type='xmlParserErrors' info='1779'/>
     <enum name='XML_SCHEMAP_NOATTR_NOREF' file='xmlerror' value='1722' type='xmlParserErrors' info='1722'/>
-    <enum name='XML_SCHEMAP_NOROOT' file='xmlerror' value='1759' type='xmlParserErrors' info='1758'/>
+    <enum name='XML_SCHEMAP_NOROOT' file='xmlerror' value='1759' type='xmlParserErrors' info='1759'/>
     <enum name='XML_SCHEMAP_NOTATION_NO_NAME' file='xmlerror' value='1723' type='xmlParserErrors' info='1723'/>
-    <enum name='XML_SCHEMAP_NOTHING_TO_PARSE' file='xmlerror' value='1758' type='xmlParserErrors' info='1757'/>
+    <enum name='XML_SCHEMAP_NOTHING_TO_PARSE' file='xmlerror' value='1758' type='xmlParserErrors' info='1758'/>
     <enum name='XML_SCHEMAP_NOTYPE_NOREF' file='xmlerror' value='1724' type='xmlParserErrors' info='1724'/>
-    <enum name='XML_SCHEMAP_NOT_SCHEMA' file='xmlerror' value='1772' type='xmlParserErrors' info='1771'/>
+    <enum name='XML_SCHEMAP_NOT_DETERMINISTIC' file='xmlerror' value='3070' type='xmlParserErrors' info='3070 non-W3C'/>
+    <enum name='XML_SCHEMAP_NOT_SCHEMA' file='xmlerror' value='1772' type='xmlParserErrors' info='1772'/>
+    <enum name='XML_SCHEMAP_NO_XMLNS' file='xmlerror' value='3056' type='xmlParserErrors' info='3056'/>
+    <enum name='XML_SCHEMAP_NO_XSI' file='xmlerror' value='3057' type='xmlParserErrors' info='3057'/>
     <enum name='XML_SCHEMAP_PREFIX_UNDEFINED' file='xmlerror' value='1700' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAP_RECURSIVE' file='xmlerror' value='1775' type='xmlParserErrors' info='1774'/>
-    <enum name='XML_SCHEMAP_REDEFINED_ATTR' file='xmlerror' value='1764' type='xmlParserErrors' info='1763'/>
-    <enum name='XML_SCHEMAP_REDEFINED_ATTRGROUP' file='xmlerror' value='1763' type='xmlParserErrors' info='1762'/>
-    <enum name='XML_SCHEMAP_REDEFINED_ELEMENT' file='xmlerror' value='1762' type='xmlParserErrors' info='1761'/>
-    <enum name='XML_SCHEMAP_REDEFINED_GROUP' file='xmlerror' value='1760' type='xmlParserErrors' info='1759'/>
-    <enum name='XML_SCHEMAP_REDEFINED_NOTATION' file='xmlerror' value='1765' type='xmlParserErrors' info='1764'/>
-    <enum name='XML_SCHEMAP_REDEFINED_TYPE' file='xmlerror' value='1761' type='xmlParserErrors' info='1760'/>
-    <enum name='XML_SCHEMAP_REF_AND_CONTENT' file='xmlerror' value='1781' type='xmlParserErrors' info='1780'/>
+    <enum name='XML_SCHEMAP_P_PROPS_CORRECT_1' file='xmlerror' value='3042' type='xmlParserErrors' info='3042'/>
+    <enum name='XML_SCHEMAP_P_PROPS_CORRECT_2_1' file='xmlerror' value='3043' type='xmlParserErrors' info='3043'/>
+    <enum name='XML_SCHEMAP_P_PROPS_CORRECT_2_2' file='xmlerror' value='3044' type='xmlParserErrors' info='3044'/>
+    <enum name='XML_SCHEMAP_RECURSIVE' file='xmlerror' value='1775' type='xmlParserErrors' info='1775'/>
+    <enum name='XML_SCHEMAP_REDEFINED_ATTR' file='xmlerror' value='1764' type='xmlParserErrors' info='1764'/>
+    <enum name='XML_SCHEMAP_REDEFINED_ATTRGROUP' file='xmlerror' value='1763' type='xmlParserErrors' info='1763'/>
+    <enum name='XML_SCHEMAP_REDEFINED_ELEMENT' file='xmlerror' value='1762' type='xmlParserErrors' info='1762'/>
+    <enum name='XML_SCHEMAP_REDEFINED_GROUP' file='xmlerror' value='1760' type='xmlParserErrors' info='1760'/>
+    <enum name='XML_SCHEMAP_REDEFINED_NOTATION' file='xmlerror' value='1765' type='xmlParserErrors' info='1765'/>
+    <enum name='XML_SCHEMAP_REDEFINED_TYPE' file='xmlerror' value='1761' type='xmlParserErrors' info='1761'/>
+    <enum name='XML_SCHEMAP_REF_AND_CONTENT' file='xmlerror' value='1781' type='xmlParserErrors' info='1781'/>
     <enum name='XML_SCHEMAP_REF_AND_SUBTYPE' file='xmlerror' value='1725' type='xmlParserErrors' info='1725'/>
     <enum name='XML_SCHEMAP_REGEXP_INVALID' file='xmlerror' value='1756' type='xmlParserErrors' info='1756'/>
     <enum name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' file='xmlerror' value='1726' type='xmlParserErrors' info='1726'/>
-    <enum name='XML_SCHEMAP_S4S_ATTR_MISSING' file='xmlerror' value='3036' type='xmlParserErrors' info=' 3036'/>
+    <enum name='XML_SCHEMAP_S4S_ATTR_INVALID_VALUE' file='xmlerror' value='3037' type='xmlParserErrors' info='3037'/>
+    <enum name='XML_SCHEMAP_S4S_ATTR_MISSING' file='xmlerror' value='3036' type='xmlParserErrors' info='3036'/>
     <enum name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' file='xmlerror' value='3035' type='xmlParserErrors' info='3035'/>
     <enum name='XML_SCHEMAP_S4S_ELEM_MISSING' file='xmlerror' value='3034' type='xmlParserErrors' info='3034'/>
     <enum name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED' file='xmlerror' value='3033' type='xmlParserErrors' info='3033'/>
     <enum name='XML_SCHEMAP_SIMPLETYPE_NONAME' file='xmlerror' value='1727' type='xmlParserErrors' info='1727'/>
-    <enum name='XML_SCHEMAP_SRC_IMPORT_3_1' file='xmlerror' value='1795' type='xmlParserErrors' info='1794'/>
-    <enum name='XML_SCHEMAP_SRC_IMPORT_3_2' file='xmlerror' value='1796' type='xmlParserErrors' info='1795'/>
-    <enum name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' file='xmlerror' value='3006' type='xmlParserErrors' info='3005'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_1' file='xmlerror' value='3051' type='xmlParserErrors' info='3051'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_2' file='xmlerror' value='3052' type='xmlParserErrors' info='3052'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_3_1' file='xmlerror' value='3053' type='xmlParserErrors' info='3053'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_3_2' file='xmlerror' value='3054' type='xmlParserErrors' info='3054'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_4' file='xmlerror' value='3055' type='xmlParserErrors' info='3055'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1' file='xmlerror' value='3071' type='xmlParserErrors' info='3071'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2' file='xmlerror' value='3072' type='xmlParserErrors' info='3072'/>
+    <enum name='XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3' file='xmlerror' value='3073' type='xmlParserErrors' info='3073'/>
+    <enum name='XML_SCHEMAP_SRC_CT_1' file='xmlerror' value='3076' type='xmlParserErrors' info='3076'/>
+    <enum name='XML_SCHEMAP_SRC_ELEMENT_1' file='xmlerror' value='3038' type='xmlParserErrors' info='3038'/>
+    <enum name='XML_SCHEMAP_SRC_ELEMENT_2_1' file='xmlerror' value='3039' type='xmlParserErrors' info='3039'/>
+    <enum name='XML_SCHEMAP_SRC_ELEMENT_2_2' file='xmlerror' value='3040' type='xmlParserErrors' info='3040'/>
+    <enum name='XML_SCHEMAP_SRC_ELEMENT_3' file='xmlerror' value='3041' type='xmlParserErrors' info='3041'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_1_1' file='xmlerror' value='3064' type='xmlParserErrors' info='3064'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_1_2' file='xmlerror' value='3065' type='xmlParserErrors' info='3065'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_2' file='xmlerror' value='3066' type='xmlParserErrors' info='3066'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_2_1' file='xmlerror' value='3067' type='xmlParserErrors' info='3067'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_2_2' file='xmlerror' value='3068' type='xmlParserErrors' info='3068'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_3_1' file='xmlerror' value='1795' type='xmlParserErrors' info='1795'/>
+    <enum name='XML_SCHEMAP_SRC_IMPORT_3_2' file='xmlerror' value='1796' type='xmlParserErrors' info='1796'/>
+    <enum name='XML_SCHEMAP_SRC_INCLUDE' file='xmlerror' value='3050' type='xmlParserErrors' info='3050'/>
+    <enum name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' file='xmlerror' value='3006' type='xmlParserErrors' info='3006'/>
     <enum name='XML_SCHEMAP_SRC_RESOLVE' file='xmlerror' value='3004' type='xmlParserErrors' info='3004'/>
-    <enum name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' file='xmlerror' value='3005' type='xmlParserErrors' info='3004'/>
+    <enum name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' file='xmlerror' value='3005' type='xmlParserErrors' info='3005'/>
     <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' file='xmlerror' value='3000' type='xmlParserErrors'/>
     <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' file='xmlerror' value='3001' type='xmlParserErrors' info='3001'/>
     <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' file='xmlerror' value='3002' type='xmlParserErrors' info='3002'/>
     <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' file='xmlerror' value='3003' type='xmlParserErrors' info='3003'/>
-    <enum name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' file='xmlerror' value='3007' type='xmlParserErrors' info='3006'/>
-    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_1' file='xmlerror' value='3008' type='xmlParserErrors' info='3007'/>
-    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_2' file='xmlerror' value='3009' type='xmlParserErrors' info='3008'/>
-    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_3' file='xmlerror' value='3010' type='xmlParserErrors' info='3009'/>
-    <enum name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' file='xmlerror' value='1776' type='xmlParserErrors' info='1775'/>
+    <enum name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' file='xmlerror' value='3007' type='xmlParserErrors' info='3007'/>
+    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_1' file='xmlerror' value='3008' type='xmlParserErrors' info='3008'/>
+    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_2' file='xmlerror' value='3009' type='xmlParserErrors' info='3009'/>
+    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_3' file='xmlerror' value='3010' type='xmlParserErrors' info='3010'/>
+    <enum name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' file='xmlerror' value='1776' type='xmlParserErrors' info='1776'/>
     <enum name='XML_SCHEMAP_TYPE_AND_SUBTYPE' file='xmlerror' value='1728' type='xmlParserErrors' info='1728'/>
-    <enum name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' file='xmlerror' value='1794' type='xmlParserErrors' info='1793'/>
+    <enum name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' file='xmlerror' value='1794' type='xmlParserErrors' info='1794'/>
     <enum name='XML_SCHEMAP_UNKNOWN_ALL_CHILD' file='xmlerror' value='1729' type='xmlParserErrors' info='1729'/>
     <enum name='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' file='xmlerror' value='1730' type='xmlParserErrors' info='1730'/>
     <enum name='XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD' file='xmlerror' value='1732' type='xmlParserErrors' info='1732'/>
@@ -4652,11 +4980,11 @@
     <enum name='XML_SCHEMAP_UNKNOWN_FACET_TYPE' file='xmlerror' value='1741' type='xmlParserErrors' info='1741'/>
     <enum name='XML_SCHEMAP_UNKNOWN_GROUP_CHILD' file='xmlerror' value='1742' type='xmlParserErrors' info='1742'/>
     <enum name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' file='xmlerror' value='1743' type='xmlParserErrors' info='1743'/>
-    <enum name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' file='xmlerror' value='1769' type='xmlParserErrors' info='1768'/>
+    <enum name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' file='xmlerror' value='1769' type='xmlParserErrors' info='1769'/>
     <enum name='XML_SCHEMAP_UNKNOWN_LIST_CHILD' file='xmlerror' value='1744' type='xmlParserErrors' info='1744'/>
-    <enum name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' file='xmlerror' value='1773' type='xmlParserErrors' info='1772'/>
+    <enum name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' file='xmlerror' value='1773' type='xmlParserErrors' info='1773'/>
     <enum name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' file='xmlerror' value='1745' type='xmlParserErrors' info='1745'/>
-    <enum name='XML_SCHEMAP_UNKNOWN_PREFIX' file='xmlerror' value='1767' type='xmlParserErrors' info='1766'/>
+    <enum name='XML_SCHEMAP_UNKNOWN_PREFIX' file='xmlerror' value='1767' type='xmlParserErrors' info='1767'/>
     <enum name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' file='xmlerror' value='1746' type='xmlParserErrors' info='1746'/>
     <enum name='XML_SCHEMAP_UNKNOWN_REF' file='xmlerror' value='1747' type='xmlParserErrors' info='1747'/>
     <enum name='XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD' file='xmlerror' value='1748' type='xmlParserErrors' info='1748'/>
@@ -4666,7 +4994,7 @@
     <enum name='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD' file='xmlerror' value='1752' type='xmlParserErrors' info='1752'/>
     <enum name='XML_SCHEMAP_UNKNOWN_TYPE' file='xmlerror' value='1753' type='xmlParserErrors' info='1753'/>
     <enum name='XML_SCHEMAP_UNKNOWN_UNION_CHILD' file='xmlerror' value='1754' type='xmlParserErrors' info='1754'/>
-    <enum name='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' file='xmlerror' value='1792' type='xmlParserErrors' info='1791'/>
+    <enum name='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' file='xmlerror' value='1792' type='xmlParserErrors' info='1792'/>
     <enum name='XML_SCHEMAS_ANYSIMPLETYPE' file='schemasInternals' value='46' type='xmlSchemaValType'/>
     <enum name='XML_SCHEMAS_ANYTYPE' file='schemasInternals' value='45' type='xmlSchemaValType'/>
     <enum name='XML_SCHEMAS_ANYURI' file='schemasInternals' value='29' type='xmlSchemaValType'/>
@@ -4740,50 +5068,82 @@
     <enum name='XML_SCHEMAS_ULONG' file='schemasInternals' value='38' type='xmlSchemaValType'/>
     <enum name='XML_SCHEMAS_UNKNOWN' file='schemasInternals' value='0' type='xmlSchemaValType'/>
     <enum name='XML_SCHEMAS_USHORT' file='schemasInternals' value='40' type='xmlSchemaValType'/>
-    <enum name='XML_SCHEMAV_ATTRINVALID' file='xmlerror' value='1820' type='xmlParserErrors' info='1820'/>
-    <enum name='XML_SCHEMAV_ATTRUNKNOWN' file='xmlerror' value='1819' type='xmlParserErrors' info='1819'/>
-    <enum name='XML_SCHEMAV_CONSTRUCT' file='xmlerror' value='1816' type='xmlParserErrors' info='1816'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' file='xmlerror' value='1840' type='xmlParserErrors' info='1840'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' file='xmlerror' value='1841' type='xmlParserErrors' info='1841'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' file='xmlerror' value='1842' type='xmlParserErrors' info='1842'/>
-    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' file='xmlerror' value='1843' type='xmlParserErrors' info='1843'/>
-    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' file='xmlerror' value='1823' type='xmlParserErrors' info='1823'/>
-    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' file='xmlerror' value='1824' type='xmlParserErrors' info='1824'/>
-    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' file='xmlerror' value='1825' type='xmlParserErrors' info='1825'/>
-    <enum name='XML_SCHEMAV_CVC_ENUMERATION_VALID' file='xmlerror' value='1839' type='xmlParserErrors' info='1839'/>
-    <enum name='XML_SCHEMAV_CVC_FACET_VALID' file='xmlerror' value='1828' type='xmlParserErrors' info='1828'/>
-    <enum name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' file='xmlerror' value='1837' type='xmlParserErrors' info='1837'/>
-    <enum name='XML_SCHEMAV_CVC_LENGTH_VALID' file='xmlerror' value='1829' type='xmlParserErrors' info='1829'/>
-    <enum name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' file='xmlerror' value='1835' type='xmlParserErrors' info='1835'/>
-    <enum name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' file='xmlerror' value='1833' type='xmlParserErrors' info='1833'/>
-    <enum name='XML_SCHEMAV_CVC_MAXLENGTH_VALID' file='xmlerror' value='1831' type='xmlParserErrors' info='1831'/>
-    <enum name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' file='xmlerror' value='1834' type='xmlParserErrors' info='1834'/>
-    <enum name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' file='xmlerror' value='1832' type='xmlParserErrors' info='1832'/>
-    <enum name='XML_SCHEMAV_CVC_MINLENGTH_VALID' file='xmlerror' value='1830' type='xmlParserErrors' info='1830'/>
-    <enum name='XML_SCHEMAV_CVC_PATTERN_VALID' file='xmlerror' value='1838' type='xmlParserErrors' info='1838'/>
-    <enum name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' file='xmlerror' value='1836' type='xmlParserErrors' info='1836'/>
-    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_1' file='xmlerror' value='1826' type='xmlParserErrors' info='1826'/>
-    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_2' file='xmlerror' value='1827' type='xmlParserErrors' info='1827'/>
-    <enum name='XML_SCHEMAV_ELEMCONT' file='xmlerror' value='1809' type='xmlParserErrors' info='1809'/>
-    <enum name='XML_SCHEMAV_EXTRACONTENT' file='xmlerror' value='1812' type='xmlParserErrors' info='1812'/>
-    <enum name='XML_SCHEMAV_FACET' file='xmlerror' value='1822' type='xmlParserErrors' info='1822'/>
-    <enum name='XML_SCHEMAV_HAVEDEFAULT' file='xmlerror' value='1810' type='xmlParserErrors' info='1810'/>
-    <enum name='XML_SCHEMAV_INTERNAL' file='xmlerror' value='1817' type='xmlParserErrors' info='1817'/>
-    <enum name='XML_SCHEMAV_INVALIDATTR' file='xmlerror' value='1813' type='xmlParserErrors' info='1813'/>
-    <enum name='XML_SCHEMAV_INVALIDELEM' file='xmlerror' value='1814' type='xmlParserErrors' info='1814'/>
-    <enum name='XML_SCHEMAV_ISABSTRACT' file='xmlerror' value='1807' type='xmlParserErrors' info='1807'/>
-    <enum name='XML_SCHEMAV_MISSING' file='xmlerror' value='1803' type='xmlParserErrors' info='1803'/>
-    <enum name='XML_SCHEMAV_NOROLLBACK' file='xmlerror' value='1806' type='xmlParserErrors' info='1806'/>
-    <enum name='XML_SCHEMAV_NOROOT' file='xmlerror' value='1800' type='xmlParserErrors'/>
-    <enum name='XML_SCHEMAV_NOTDETERMINIST' file='xmlerror' value='1815' type='xmlParserErrors' info='1815'/>
-    <enum name='XML_SCHEMAV_NOTEMPTY' file='xmlerror' value='1808' type='xmlParserErrors' info='1808'/>
-    <enum name='XML_SCHEMAV_NOTNILLABLE' file='xmlerror' value='1811' type='xmlParserErrors' info='1811'/>
-    <enum name='XML_SCHEMAV_NOTSIMPLE' file='xmlerror' value='1818' type='xmlParserErrors' info='1818'/>
-    <enum name='XML_SCHEMAV_NOTTOPLEVEL' file='xmlerror' value='1802' type='xmlParserErrors' info='1802'/>
-    <enum name='XML_SCHEMAV_NOTYPE' file='xmlerror' value='1805' type='xmlParserErrors' info='1805'/>
-    <enum name='XML_SCHEMAV_UNDECLAREDELEM' file='xmlerror' value='1801' type='xmlParserErrors' info='1801'/>
-    <enum name='XML_SCHEMAV_VALUE' file='xmlerror' value='1821' type='xmlParserErrors' info='1821'/>
-    <enum name='XML_SCHEMAV_WRONGELEM' file='xmlerror' value='1804' type='xmlParserErrors' info='1804'/>
+    <enum name='XML_SCHEMAV_ATTRINVALID' file='xmlerror' value='1821' type='xmlParserErrors' info='1821'/>
+    <enum name='XML_SCHEMAV_ATTRUNKNOWN' file='xmlerror' value='1820' type='xmlParserErrors' info='1820'/>
+    <enum name='XML_SCHEMAV_CONSTRUCT' file='xmlerror' value='1817' type='xmlParserErrors' info='1817'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_1' file='xmlerror' value='1861' type='xmlParserErrors' info='1861'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_2' file='xmlerror' value='1862' type='xmlParserErrors' info='1862'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_3' file='xmlerror' value='1863' type='xmlParserErrors' info='1863'/>
+    <enum name='XML_SCHEMAV_CVC_ATTRIBUTE_4' file='xmlerror' value='1864' type='xmlParserErrors' info='1864'/>
+    <enum name='XML_SCHEMAV_CVC_AU' file='xmlerror' value='1874' type='xmlParserErrors' info='1874'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_1' file='xmlerror' value='1873' type='xmlParserErrors' info='1873'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' file='xmlerror' value='1841' type='xmlParserErrors' info='1841'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' file='xmlerror' value='1842' type='xmlParserErrors' info='1842'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' file='xmlerror' value='1843' type='xmlParserErrors' info='1843'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' file='xmlerror' value='1844' type='xmlParserErrors' info='1844'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1' file='xmlerror' value='1865' type='xmlParserErrors' info='1865'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1' file='xmlerror' value='1866' type='xmlParserErrors' info='1866'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2' file='xmlerror' value='1867' type='xmlParserErrors' info='1867'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_4' file='xmlerror' value='1868' type='xmlParserErrors' info='1868'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1' file='xmlerror' value='1869' type='xmlParserErrors' info='1869'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2' file='xmlerror' value='1870' type='xmlParserErrors' info='1870'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' file='xmlerror' value='1824' type='xmlParserErrors' info='1824'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' file='xmlerror' value='1825' type='xmlParserErrors' info='1825'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' file='xmlerror' value='1826' type='xmlParserErrors' info='1826'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_1' file='xmlerror' value='1845' type='xmlParserErrors' info='1845'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_2' file='xmlerror' value='1846' type='xmlParserErrors' info='1846'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_3_1' file='xmlerror' value='1847' type='xmlParserErrors' info='1847'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_3_2_1' file='xmlerror' value='1848' type='xmlParserErrors' info='1848'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_3_2_2' file='xmlerror' value='1849' type='xmlParserErrors' info='1849'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_4_1' file='xmlerror' value='1850' type='xmlParserErrors' info='1850'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_4_2' file='xmlerror' value='1851' type='xmlParserErrors' info='1851'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_4_3' file='xmlerror' value='1852' type='xmlParserErrors' info='1852'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_1_1' file='xmlerror' value='1853' type='xmlParserErrors' info='1853'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_1_2' file='xmlerror' value='1854' type='xmlParserErrors' info='1854'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_1' file='xmlerror' value='1855' type='xmlParserErrors' info='1855'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_1' file='xmlerror' value='1856' type='xmlParserErrors' info='1856'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_2_1' file='xmlerror' value='1857' type='xmlParserErrors' info='1857'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_5_2_2_2_2' file='xmlerror' value='1858' type='xmlParserErrors' info='1858'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_6' file='xmlerror' value='1859' type='xmlParserErrors' info='1859'/>
+    <enum name='XML_SCHEMAV_CVC_ELT_7' file='xmlerror' value='1860' type='xmlParserErrors' info='1860'/>
+    <enum name='XML_SCHEMAV_CVC_ENUMERATION_VALID' file='xmlerror' value='1840' type='xmlParserErrors' info='1840'/>
+    <enum name='XML_SCHEMAV_CVC_FACET_VALID' file='xmlerror' value='1829' type='xmlParserErrors' info='1829'/>
+    <enum name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' file='xmlerror' value='1838' type='xmlParserErrors' info='1838'/>
+    <enum name='XML_SCHEMAV_CVC_LENGTH_VALID' file='xmlerror' value='1830' type='xmlParserErrors' info='1830'/>
+    <enum name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' file='xmlerror' value='1836' type='xmlParserErrors' info='1836'/>
+    <enum name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' file='xmlerror' value='1834' type='xmlParserErrors' info='1834'/>
+    <enum name='XML_SCHEMAV_CVC_MAXLENGTH_VALID' file='xmlerror' value='1832' type='xmlParserErrors' info='1832'/>
+    <enum name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' file='xmlerror' value='1835' type='xmlParserErrors' info='1835'/>
+    <enum name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' file='xmlerror' value='1833' type='xmlParserErrors' info='1833'/>
+    <enum name='XML_SCHEMAV_CVC_MINLENGTH_VALID' file='xmlerror' value='1831' type='xmlParserErrors' info='1831'/>
+    <enum name='XML_SCHEMAV_CVC_PATTERN_VALID' file='xmlerror' value='1839' type='xmlParserErrors' info='1839'/>
+    <enum name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' file='xmlerror' value='1837' type='xmlParserErrors' info='1837'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_1' file='xmlerror' value='1875' type='xmlParserErrors' info='1875'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_2' file='xmlerror' value='1876' type='xmlParserErrors' info='1876'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_1' file='xmlerror' value='1827' type='xmlParserErrors' info='1827'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_2' file='xmlerror' value='1828' type='xmlParserErrors' info='1828'/>
+    <enum name='XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING' file='xmlerror' value='1872' type='xmlParserErrors' info='1872'/>
+    <enum name='XML_SCHEMAV_ELEMCONT' file='xmlerror' value='1810' type='xmlParserErrors' info='1810'/>
+    <enum name='XML_SCHEMAV_ELEMENT_CONTENT' file='xmlerror' value='1871' type='xmlParserErrors' info='1871'/>
+    <enum name='XML_SCHEMAV_EXTRACONTENT' file='xmlerror' value='1813' type='xmlParserErrors' info='1813'/>
+    <enum name='XML_SCHEMAV_FACET' file='xmlerror' value='1823' type='xmlParserErrors' info='1823'/>
+    <enum name='XML_SCHEMAV_HAVEDEFAULT' file='xmlerror' value='1811' type='xmlParserErrors' info='1811'/>
+    <enum name='XML_SCHEMAV_INTERNAL' file='xmlerror' value='1818' type='xmlParserErrors' info='1818'/>
+    <enum name='XML_SCHEMAV_INVALIDATTR' file='xmlerror' value='1814' type='xmlParserErrors' info='1814'/>
+    <enum name='XML_SCHEMAV_INVALIDELEM' file='xmlerror' value='1815' type='xmlParserErrors' info='1815'/>
+    <enum name='XML_SCHEMAV_ISABSTRACT' file='xmlerror' value='1808' type='xmlParserErrors' info='1808'/>
+    <enum name='XML_SCHEMAV_MISSING' file='xmlerror' value='1804' type='xmlParserErrors' info='1804'/>
+    <enum name='XML_SCHEMAV_NOROLLBACK' file='xmlerror' value='1807' type='xmlParserErrors' info='1807'/>
+    <enum name='XML_SCHEMAV_NOROOT' file='xmlerror' value='1801' type='xmlParserErrors'/>
+    <enum name='XML_SCHEMAV_NOTDETERMINIST' file='xmlerror' value='1816' type='xmlParserErrors' info='1816'/>
+    <enum name='XML_SCHEMAV_NOTEMPTY' file='xmlerror' value='1809' type='xmlParserErrors' info='1809'/>
+    <enum name='XML_SCHEMAV_NOTNILLABLE' file='xmlerror' value='1812' type='xmlParserErrors' info='1812'/>
+    <enum name='XML_SCHEMAV_NOTSIMPLE' file='xmlerror' value='1819' type='xmlParserErrors' info='1819'/>
+    <enum name='XML_SCHEMAV_NOTTOPLEVEL' file='xmlerror' value='1803' type='xmlParserErrors' info='1803'/>
+    <enum name='XML_SCHEMAV_NOTYPE' file='xmlerror' value='1806' type='xmlParserErrors' info='1806'/>
+    <enum name='XML_SCHEMAV_UNDECLAREDELEM' file='xmlerror' value='1802' type='xmlParserErrors' info='1802'/>
+    <enum name='XML_SCHEMAV_VALUE' file='xmlerror' value='1822' type='xmlParserErrors' info='1822'/>
+    <enum name='XML_SCHEMAV_WRONGELEM' file='xmlerror' value='1805' type='xmlParserErrors' info='1805'/>
     <enum name='XML_SCHEMA_CONTENT_ANY' file='schemasInternals' value='7' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_BASIC' file='schemasInternals' value='6' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_ELEMENTS' file='schemasInternals' value='2' type='xmlSchemaContentType'/>
@@ -4825,6 +5185,9 @@
     <enum name='XML_SCHEMA_TYPE_SIMPLE_CONTENT' file='schemasInternals' value='9' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_UNION' file='schemasInternals' value='20' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_UR' file='schemasInternals' value='11' type='xmlSchemaTypeType'/>
+    <enum name='XML_SCHEMA_VAL_VC_I_CREATE' file='xmlschemas' value='1' type='xmlSchemaValidOption' info=' Default/fixed: create an attribute node
+* or an element&apos;s text node on the instance.
+*'/>
     <enum name='XML_TEXTREADER_MODE_CLOSED' file='xmlreader' value='4' type='xmlTextReaderMode'/>
     <enum name='XML_TEXTREADER_MODE_EOF' file='xmlreader' value='3' type='xmlTextReaderMode'/>
     <enum name='XML_TEXTREADER_MODE_ERROR' file='xmlreader' value='2' type='xmlTextReaderMode'/>
@@ -4894,6 +5257,7 @@
     <enum name='XPATH_EXPR_ERROR' file='xpath' value='7' type='xmlXPathError'/>
     <enum name='XPATH_INVALID_ARITY' file='xpath' value='12' type='xmlXPathError'/>
     <enum name='XPATH_INVALID_CHAR_ERROR' file='xpath' value='21' type='xmlXPathError'/>
+    <enum name='XPATH_INVALID_CTXT' file='xpath' value='22' type='xmlXPathError'/>
     <enum name='XPATH_INVALID_CTXT_POSITION' file='xpath' value='14' type='xmlXPathError'/>
     <enum name='XPATH_INVALID_CTXT_SIZE' file='xpath' value='13' type='xmlXPathError'/>
     <enum name='XPATH_INVALID_OPERAND' file='xpath' value='10' type='xmlXPathError'/>
@@ -5568,6 +5932,7 @@
       <field name='dict' type='xmlDictPtr' info=''/>
       <field name='includes' type='void *' info=' the includes, this is opaque for now'/>
       <field name='preserve' type='int' info=' whether to free the document'/>
+      <field name='counter' type='int' info=' used to give ononymous components unique names'/>
     </struct>
     <struct name='xmlSchemaAnnot' file='schemasInternals' type='struct _xmlSchemaAnnot'>
       <field name='next' type='struct _xmlSchemaAnnot *' info=''/>
@@ -5577,20 +5942,23 @@
     <struct name='xmlSchemaAttribute' file='schemasInternals' type='struct _xmlSchemaAttribute'>
       <field name='type' type='xmlSchemaTypeType' info=' The kind of type'/>
       <field name='next' type='struct _xmlSchemaAttribute *' info=' the next attribute if in a group ...'/>
-      <field name='name' type='const xmlChar *' info=''/>
+      <field name='name' type='const xmlChar *' info=' name of the declaration or empty if particle'/>
       <field name='id' type='const xmlChar *' info=''/>
-      <field name='ref' type='const xmlChar *' info=''/>
-      <field name='refNs' type='const xmlChar *' info=''/>
-      <field name='typeName' type='const xmlChar *' info=''/>
-      <field name='typeNs' type='const xmlChar *' info=''/>
+      <field name='ref' type='const xmlChar *' info=' the local name of the attribute decl. if a particle'/>
+      <field name='refNs' type='const xmlChar *' info=' the ns URI of the attribute decl. if a particle'/>
+      <field name='typeName' type='const xmlChar *' info=' the local name of the type definition'/>
+      <field name='typeNs' type='const xmlChar *' info=' the ns URI of the type definition'/>
       <field name='annot' type='xmlSchemaAnnotPtr' info=''/>
-      <field name='base' type='xmlSchemaTypePtr' info=''/>
+      <field name='base' type='xmlSchemaTypePtr' info=' obsolete, not used'/>
       <field name='occurs' type='int' info=''/>
       <field name='defValue' type='const xmlChar *' info=''/>
-      <field name='subtypes' type='xmlSchemaTypePtr' info=''/>
+      <field name='subtypes' type='xmlSchemaTypePtr' info=' the type definition'/>
       <field name='node' type='xmlNodePtr' info=''/>
       <field name='targetNamespace' type='const xmlChar *' info=''/>
       <field name='flags' type='int' info=''/>
+      <field name='refPrefix' type='const xmlChar *' info=''/>
+      <field name='defVal' type='xmlSchemaValPtr' info=''/>
+      <field name='refDecl' type='xmlSchemaAttributePtr' info=''/>
     </struct>
     <struct name='xmlSchemaAttributeGroup' file='schemasInternals' type='struct _xmlSchemaAttributeGroup'>
       <field name='type' type='xmlSchemaTypeType' info=' The kind of type'/>
@@ -5604,6 +5972,8 @@
       <field name='node' type='xmlNodePtr' info=''/>
       <field name='flags' type='int' info=''/>
       <field name='attributeWildcard' type='xmlSchemaWildcardPtr' info=''/>
+      <field name='refPrefix' type='const xmlChar *' info=''/>
+      <field name='refItem' type='xmlSchemaAttributeGroupPtr' info=' The referenced attribute group'/>
     </struct>
     <typedef name='xmlSchemaAttributeGroupPtr' file='schemasInternals' type='xmlSchemaAttributeGroup *'/>
     <struct name='xmlSchemaAttributeLink' file='schemasInternals' type='struct _xmlSchemaAttributeLink'>
@@ -5618,10 +5988,10 @@
       <field name='next' type='struct _xmlSchemaType *' info=' the next type if in a sequence ...'/>
       <field name='name' type='const xmlChar *' info=''/>
       <field name='id' type='const xmlChar *' info=''/>
-      <field name='ref' type='const xmlChar *' info=''/>
-      <field name='refNs' type='const xmlChar *' info=''/>
+      <field name='ref' type='const xmlChar *' info=' the local name of the element declaration if a particle'/>
+      <field name='refNs' type='const xmlChar *' info=' the ns URI of the element declaration if a particle'/>
       <field name='annot' type='xmlSchemaAnnotPtr' info=''/>
-      <field name='subtypes' type='xmlSchemaTypePtr' info=''/>
+      <field name='subtypes' type='xmlSchemaTypePtr' info=' the type definition'/>
       <field name='attributes' type='xmlSchemaAttributePtr' info=''/>
       <field name='node' type='xmlNodePtr' info=''/>
       <field name='minOccurs' type='int' info=''/>
@@ -5634,9 +6004,11 @@
       <field name='substGroupNs' type='const xmlChar *' info=''/>
       <field name='scope' type='const xmlChar *' info=''/>
       <field name='value' type='const xmlChar *' info=''/>
-      <field name='refDecl' type='struct _xmlSchemaElement *' info=''/>
+      <field name='refDecl' type='struct _xmlSchemaElement *' info=' the element declaration if a particle'/>
       <field name='contModel' type='xmlRegexpPtr' info=''/>
       <field name='contentType' type='xmlSchemaContentType' info=''/>
+      <field name='refPrefix' type='const xmlChar *' info=''/>
+      <field name='defVal' type='xmlSchemaValPtr' info=''/>
     </struct>
     <typedef name='xmlSchemaElementPtr' file='schemasInternals' type='xmlSchemaElement *'/>
     <struct name='xmlSchemaFacet' file='schemasInternals' type='struct _xmlSchemaFacet'>
@@ -5693,6 +6065,9 @@
       <field name='builtInType' type='int' info=''/>
       <field name='memberTypes' type='xmlSchemaTypeLinkPtr' info=''/>
       <field name='facetSet' type='xmlSchemaFacetLinkPtr' info=''/>
+      <field name='refPrefix' type='const xmlChar *' info=''/>
+      <field name='contentTypeDef' type='xmlSchemaTypePtr' info=''/>
+      <field name='contModel' type='xmlRegexpPtr' info=''/>
     </struct>
     <struct name='xmlSchemaTypeLink' file='schemasInternals' type='struct _xmlSchemaTypeLink'>
       <field name='next' type='struct _xmlSchemaTypeLink *' info=' the next type link ...'/>
@@ -5707,6 +6082,7 @@
     <struct name='xmlSchemaValidCtxt' file='xmlschemas' type='struct _xmlSchemaValidCtxt'/>
     <typedef name='xmlSchemaValidCtxtPtr' file='xmlschemas' type='xmlSchemaValidCtxt *'/>
     <typedef name='xmlSchemaValidError' file='xmlschemas' type='enum'/>
+    <typedef name='xmlSchemaValidOption' file='xmlschemas' type='enum'/>
     <struct name='xmlSchemaWildcard' file='schemasInternals' type='struct _xmlSchemaWildcard'>
       <field name='type' type='xmlSchemaTypeType' info=' The kind of type'/>
       <field name='id' type='const xmlChar *' info=''/>
@@ -5763,7 +6139,7 @@
       <field name='nodeNr' type='int' info=' Depth of the parsing stack'/>
       <field name='nodeMax' type='int' info=' Max depth of the parsing stack'/>
       <field name='nodeTab' type='xmlNodePtr *' info=' array of nodes'/>
-      <field name='finishDtd' type='int' info=' finished validating the Dtd ?'/>
+      <field name='finishDtd' type='unsigned int' info=' finished validating the Dtd ?'/>
       <field name='doc' type='xmlDocPtr' info=' the document'/>
       <field name='valid' type='int' info=' temporary validity check result state state used for non-determinist content validation'/>
       <field name='vstate' type='xmlValidState *' info=' current state'/>
@@ -5811,12 +6187,12 @@
       <field name='here' type='xmlNodePtr' info=' for here()'/>
       <field name='origin' type='xmlNodePtr' info=' for origin() the set of namespace declarations in scope for the expression'/>
       <field name='nsHash' type='xmlHashTablePtr' info=' The namespaces hash table'/>
-      <field name='varLookupFunc' type='void *' info=' variable lookup func'/>
+      <field name='varLookupFunc' type='xmlXPathVariableLookupFunc' info=' variable lookup func'/>
       <field name='varLookupData' type='void *' info=' variable lookup data Possibility to link in an extra item'/>
       <field name='extra' type='void *' info=' needed for XSLT The function name and URI when calling a function'/>
       <field name='function' type='const xmlChar *' info=''/>
       <field name='functionURI' type='const xmlChar *' info=' function lookup function and data'/>
-      <field name='funcLookupFunc' type='void *' info=' function lookup func'/>
+      <field name='funcLookupFunc' type='xmlXPathFuncLookupFunc' info=' function lookup func'/>
       <field name='funcLookupData' type='void *' info=' function lookup data temporary namespace lists kept for walking the namespace axis'/>
       <field name='tmpNsList' type='xmlNsPtr *' info=' Array of namespaces'/>
       <field name='tmpNsNr' type='int' info=' number of namespace in scope error reporting mechanism'/>
@@ -6022,12 +6398,14 @@
       <arg name='value' type='const xmlChar *' info='the comment content'/>
     </functype>
     <function name='docbCreateFileParserCtxt' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
       <return type='docbParserCtxtPtr' info='the new parser context or NULL'/>
       <arg name='filename' type='const char *' info='the filename'/>
       <arg name='encoding' type='const char *' info='the SGML document encoding, or NULL'/>
     </function>
     <function name='docbCreatePushParserCtxt' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>Create a parser context for using the DocBook SGML parser in push mode To allow content encoding detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning reports.</info>
       <return type='docbParserCtxtPtr' info='the new parser context or NULL'/>
       <arg name='sax' type='docbSAXHandlerPtr' info='a SAX handler'/>
@@ -6042,6 +6420,7 @@
       <return type='void'/>
     </function>
     <function name='docbEncodeEntities' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>Take a block of UTF-8 chars in and try to convert it to an ASCII plus SGML entities block of chars out.</info>
       <return type='int' info='0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.'/>
       <arg name='out' type='unsigned char *' info='a pointer to an array of bytes to store the result'/>
@@ -6051,11 +6430,13 @@
       <arg name='quoteChar' type='int' info='the quote character to escape (&apos; or &quot;) or zero.'/>
     </function>
     <function name='docbFreeParserCtxt' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</info>
       <return type='void'/>
       <arg name='ctxt' type='docbParserCtxtPtr' info='an SGML parser context'/>
     </function>
     <function name='docbParseChunk' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>Parse a Chunk of memory</info>
       <return type='int' info='zero if no error, the xmlParserErrors otherwise.'/>
       <arg name='ctxt' type='docbParserCtxtPtr' info='an XML parser context'/>
@@ -6064,23 +6445,27 @@
       <arg name='terminate' type='int' info='last chunk indicator'/>
     </function>
     <function name='docbParseDoc' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>parse an SGML in-memory document and build a tree.</info>
       <return type='docbDocPtr' info='the resulting document tree'/>
       <arg name='cur' type='xmlChar *' info='a pointer to an array of xmlChar'/>
       <arg name='encoding' type='const char *' info='a free form C string describing the SGML document encoding, or NULL'/>
     </function>
     <function name='docbParseDocument' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>parse an SGML document (and build a tree if using the standard SAX interface).</info>
       <return type='int' info='0, -1 in case of error. the parser context is augmented as a result of the parsing.'/>
       <arg name='ctxt' type='docbParserCtxtPtr' info='an SGML parser context'/>
     </function>
     <function name='docbParseFile' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>parse a Docbook SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
       <return type='docbDocPtr' info='the resulting document tree'/>
       <arg name='filename' type='const char *' info='the filename'/>
       <arg name='encoding' type='const char *' info='a free form C string describing document encoding, or NULL'/>
     </function>
     <function name='docbSAXParseDoc' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>parse an SGML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</info>
       <return type='docbDocPtr' info='the resulting document tree'/>
       <arg name='cur' type='xmlChar *' info='a pointer to an array of xmlChar'/>
@@ -6089,6 +6474,7 @@
       <arg name='userData' type='void *' info='if using SAX, this pointer will be provided on callbacks.'/>
     </function>
     <function name='docbSAXParseFile' file='DOCBparser'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>parse an SGML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</info>
       <return type='docbDocPtr' info='the resulting document tree'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -7317,6 +7703,19 @@
       <arg name='max' type='int' info='the maximum successive occurences of token'/>
       <arg name='data' type='void *' info='data associated to the transition'/>
     </function>
+    <function name='xmlAutomataNewCountTrans2' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
+      <info>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</info>
+      <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
+      <arg name='am' type='xmlAutomataPtr' info='an automata'/>
+      <arg name='from' type='xmlAutomataStatePtr' info='the starting point of the transition'/>
+      <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/>
+      <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/>
+      <arg name='token2' type='const xmlChar *' info='the second input string associated to that transition'/>
+      <arg name='min' type='int' info='the minimum successive occurences of token'/>
+      <arg name='max' type='int' info='the maximum successive occurences of token'/>
+      <arg name='data' type='void *' info='data associated to the transition'/>
+    </function>
     <function name='xmlAutomataNewCountedTrans' file='xmlautomata'>
       <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</info>
@@ -7363,6 +7762,19 @@
       <arg name='max' type='int' info='the maximum successive occurences of token'/>
       <arg name='data' type='void *' info='data associated to the transition'/>
     </function>
+    <function name='xmlAutomataNewOnceTrans2' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
+      <info>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</info>
+      <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
+      <arg name='am' type='xmlAutomataPtr' info='an automata'/>
+      <arg name='from' type='xmlAutomataStatePtr' info='the starting point of the transition'/>
+      <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/>
+      <arg name='token' type='const xmlChar *' info='the input string associated to that transition'/>
+      <arg name='token2' type='const xmlChar *' info='the second input string associated to that transition'/>
+      <arg name='min' type='int' info='the minimum successive occurences of token'/>
+      <arg name='max' type='int' info='the maximum successive occurences of token'/>
+      <arg name='data' type='void *' info='data associated to the transition'/>
+    </function>
     <function name='xmlAutomataNewState' file='xmlautomata'>
       <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Create a new disconnected state in the automata</info>
@@ -7405,28 +7817,28 @@
     </function>
     <function name='xmlBufferAdd' file='tree'>
       <info>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</info>
-      <return type='void'/>
+      <return type='int' info='0 successful, a positive error code number otherwise and -1 in case of internal or API error.'/>
       <arg name='buf' type='xmlBufferPtr' info='the buffer to dump'/>
       <arg name='str' type='const xmlChar *' info='the #xmlChar string'/>
       <arg name='len' type='int' info='the number of #xmlChar to add'/>
     </function>
     <function name='xmlBufferAddHead' file='tree'>
       <info>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</info>
-      <return type='void'/>
+      <return type='int' info='0 successful, a positive error code number otherwise and -1 in case of internal or API error.'/>
       <arg name='buf' type='xmlBufferPtr' info='the buffer'/>
       <arg name='str' type='const xmlChar *' info='the #xmlChar string'/>
       <arg name='len' type='int' info='the number of #xmlChar to add'/>
     </function>
     <function name='xmlBufferCCat' file='tree'>
       <info>Append a zero terminated C string to an XML buffer.</info>
-      <return type='void'/>
+      <return type='int' info='0 successful, a positive error code number otherwise and -1 in case of internal or API error.'/>
       <arg name='buf' type='xmlBufferPtr' info='the buffer to dump'/>
       <arg name='str' type='const char *' info='the C char string'/>
     </function>
     <function name='xmlBufferCat' file='tree'>
       <info>Append a zero terminated string to an XML buffer.</info>
-      <return type='void'/>
-      <arg name='buf' type='xmlBufferPtr' info='the buffer to dump'/>
+      <return type='int' info='0 successful, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='buf' type='xmlBufferPtr' info='the buffer to add to'/>
       <arg name='str' type='const xmlChar *' info='the #xmlChar string'/>
     </function>
     <function name='xmlBufferContent' file='tree'>
@@ -7938,7 +8350,7 @@
       <arg name='extended' type='int' info='if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)'/>
     </function>
     <function name='xmlCopyNodeList' file='tree'>
-      <info>Do a recursive copy of the node list.</info>
+      <info>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</info>
       <return type='xmlNodePtr' info='a new #xmlNodePtr, or NULL in case of error.'/>
       <arg name='node' type='const xmlNodePtr' info='the first node in the list.'/>
     </function>
@@ -8112,6 +8524,13 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='the XML parser context'/>
       <arg name='len' type='int *' info='pointer to the length of the char read'/>
     </function>
+    <function name='xmlDebugCheckDocument' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
+      <info>Check the document for potential content problems, and output the errors to @output</info>
+      <return type='int' info='the number of errors found'/>
+      <arg name='output' type='FILE *' info='the FILE * for the output'/>
+      <arg name='doc' type='xmlDocPtr' info='the document'/>
+    </function>
     <function name='xmlDebugDumpAttr' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the attribute</info>
@@ -8273,6 +8692,12 @@
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='extended' type='int' info='if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)'/>
     </function>
+    <function name='xmlDocCopyNodeList' file='tree'>
+      <info>Do a recursive copy of the node list.</info>
+      <return type='xmlNodePtr' info='a new #xmlNodePtr, or NULL in case of error.'/>
+      <arg name='doc' type='xmlDocPtr' info='the target document'/>
+      <arg name='node' type='const xmlNodePtr' info='the first node in the list.'/>
+    </function>
     <function name='xmlDocDump' file='tree'>
       <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document to an open FILE.</info>
@@ -8455,7 +8880,7 @@
     </function>
     <function name='xmlFileRead' file='xmlIO'>
       <info>Read @len bytes to @buffer from the I/O channel.</info>
-      <return type='int' info='the number of bytes written'/>
+      <return type='int' info='the number of bytes written or &lt; 0 in case of failure'/>
       <arg name='context' type='void *' info='the I/O context'/>
       <arg name='buffer' type='char *' info='where to drop data'/>
       <arg name='len' type='int' info='number of bytes to write'/>
@@ -8820,10 +9245,10 @@
       <return type='int' info='the current thread ID number'/>
     </function>
     <function name='xmlGetUTF8Char' file='xmlstring'>
-      <info>Read one UTF8 Char from @utf</info>
-      <return type='int' info='the char value or -1 in case of error, and updates *len with the number of bytes consumed'/>
+      <info>Read the first UTF8 character from @utf</info>
+      <return type='int' info='the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)'/>
       <arg name='utf' type='const unsigned char *' info='a sequence of UTF-8 encoded bytes'/>
-      <arg name='len' type='int *' info='a pointer to @bytes len'/>
+      <arg name='len' type='int *' info='a pointer to the minimum number of bytes present in the sequence.  This is used to assure the next character is completely contained within the sequence.'/>
     </function>
     <function name='xmlHandleEntity' file='parserInternals'>
       <info>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ?  OBSOLETE: to be removed at some point.</info>
@@ -8832,7 +9257,7 @@
       <arg name='entity' type='xmlEntityPtr' info='an XML entity pointer.'/>
     </function>
     <function name='xmlHasNsProp' file='tree'>
-      <info>Search for an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off.</info>
+      <info>Search for an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.</info>
       <return type='xmlAttrPtr' info='the attribute or the attribute declaration or NULL if neither was found.'/>
       <arg name='node' type='xmlNodePtr' info='the node'/>
       <arg name='name' type='const xmlChar *' info='the attribute name'/>
@@ -9324,7 +9749,7 @@
     </function>
     <function name='xmlListEmpty' file='list'>
       <info>Is the list empty ?</info>
-      <return type='int' info='1 if the list is empty, 0 otherwise'/>
+      <return type='int' info='1 if the list is empty, 0 if not empty and -1 in case of error'/>
       <arg name='l' type='xmlListPtr' info='a list'/>
     </function>
     <function name='xmlListEnd' file='list'>
@@ -9415,7 +9840,7 @@
     </function>
     <function name='xmlListSize' file='list'>
       <info>Get the number of elements in the list</info>
-      <return type='int' info='the number of elements in the list'/>
+      <return type='int' info='the number of elements in the list or -1 in case of error'/>
       <arg name='l' type='xmlListPtr' info='a list'/>
     </function>
     <function name='xmlListSort' file='list'>
@@ -9503,6 +9928,10 @@
       <arg name='file' type='const char *' info='the file name or NULL'/>
       <arg name='line' type='int' info='the line number'/>
     </function>
+    <function name='xmlMemBlocks' file='xmlmemory'>
+      <info>Provides the number of memory areas currently allocated</info>
+      <return type='int' info='an int representing the number of blocks'/>
+    </function>
     <function name='xmlMemDisplay' file='xmlmemory'>
       <info>show in-extenso the memory blocks allocated</info>
       <return type='void'/>
@@ -9633,14 +10062,14 @@
       <info>Tries to change the remote directory</info>
       <return type='int' info='-1 incase of error, 1 if CWD worked, 0 if it failed'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
-      <arg name='directory' type='char *' info='a directory on the server'/>
+      <arg name='directory' type='const char *' info='a directory on the server'/>
     </function>
     <function name='xmlNanoFTPDele' file='nanoftp'>
       <cond>LIBXML_FTP_ENABLED</cond>
       <info>Tries to delete an item (file or directory) from server</info>
       <return type='int' info='-1 incase of error, 1 if DELE worked, 0 if it failed'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
-      <arg name='file' type='char *' info='a file or directory on the server'/>
+      <arg name='file' type='const char *' info='a file or directory on the server'/>
     </function>
     <function name='xmlNanoFTPFreeCtxt' file='nanoftp'>
       <cond>LIBXML_FTP_ENABLED</cond>
@@ -9688,7 +10117,7 @@
       <arg name='ctx' type='void *' info='an FTP context'/>
       <arg name='callback' type='ftpListCallback' info='the user callback'/>
       <arg name='userData' type='void *' info='the user callback data'/>
-      <arg name='filename' type='char *' info='optional files to list'/>
+      <arg name='filename' type='const char *' info='optional files to list'/>
     </function>
     <function name='xmlNanoFTPNewCtxt' file='nanoftp'>
       <cond>LIBXML_FTP_ENABLED</cond>
@@ -9756,6 +10185,12 @@
       <return type='void'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
     </function>
+    <function name='xmlNanoHTTPContentLength' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
+      <info>Provides the specified content length from the HTTP header.</info>
+      <return type='int' info='the specified content length from the HTTP header.  Note that a value of -1 indicates that the content length element was not included in the response header.'/>
+      <arg name='ctx' type='void *' info='the HTTP context'/>
+    </function>
     <function name='xmlNanoHTTPEncoding' file='nanohttp'>
       <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Provides the specified encoding if specified in the HTTP headers.</info>
@@ -9930,6 +10365,13 @@
       <arg name='name' type='xmlChar *' info='the node name'/>
       <arg name='content' type='const xmlChar *' info='the XML text content if any'/>
     </function>
+    <function name='xmlNewDocPI' file='tree'>
+      <info>Creation of a processing instruction element.</info>
+      <return type='xmlNodePtr' info='a pointer to the new node object.'/>
+      <arg name='doc' type='xmlDocPtr' info='the target document'/>
+      <arg name='name' type='const xmlChar *' info='the processing instruction name'/>
+      <arg name='content' type='const xmlChar *' info='the PI content'/>
+    </function>
     <function name='xmlNewDocProp' file='tree'>
       <info>Create a new property carried by a document.</info>
       <return type='xmlAttrPtr' info='a pointer to the attribute'/>
@@ -10043,7 +10485,7 @@
       <arg name='value' type='const xmlChar *' info='the value of the attribute'/>
     </function>
     <function name='xmlNewPI' file='tree'>
-      <info>Creation of a processing instruction element.</info>
+      <info>Creation of a processing instruction element. Use xmlDocNewPI preferably to get string interning</info>
       <return type='xmlNodePtr' info='a pointer to the new node object.'/>
       <arg name='name' type='const xmlChar *' info='the processing instruction name'/>
       <arg name='content' type='const xmlChar *' info='the PI content'/>
@@ -10109,7 +10551,7 @@
     </function>
     <function name='xmlNewTextWriter' file='xmlwriter'>
       <cond>LIBXML_WRITER_ENABLED</cond>
-      <info>Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr</info>
+      <info>Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)</info>
       <return type='xmlTextWriterPtr' info='the new xmlTextWriterPtr or NULL in case of error'/>
       <arg name='out' type='xmlOutputBufferPtr' info='an xmlOutputBufferPtr'/>
     </function>
@@ -10136,7 +10578,7 @@
     </function>
     <function name='xmlNewTextWriterPushParser' file='xmlwriter'>
       <cond>LIBXML_WRITER_ENABLED</cond>
-      <info>Create a new xmlNewTextWriter structure with @ctxt as output TODO: handle compression</info>
+      <info>Create a new xmlNewTextWriter structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression</info>
       <return type='xmlTextWriterPtr' info='the new xmlTextWriterPtr or NULL in case of error'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='xmlParserCtxtPtr to hold the new XML document tree'/>
       <arg name='compression' type='int' info='compress the output?'/>
@@ -10637,6 +11079,15 @@
       <return type='xmlDocPtr' info='the resulting document tree if the file was wellformed, NULL otherwise.'/>
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
+    <function name='xmlParseInNodeContext' file='parser'>
+      <info>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node.  The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar:  [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</info>
+      <return type='xmlParserErrors' info='XML_ERR_OK if the chunk is well balanced, and the parser error code otherwise'/>
+      <arg name='node' type='xmlNodePtr' info='the context node'/>
+      <arg name='data' type='const char *' info='the input string'/>
+      <arg name='datalen' type='int' info='the input string length in bytes'/>
+      <arg name='options' type='int' info='a combination of xmlParserOption'/>
+      <arg name='lst' type='xmlNodePtr *' info='the return value for the set of parsed nodes'/>
+    </function>
     <function name='xmlParseMarkupDecl' file='parserInternals'>
       <info>parse Markup declarations  [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment  [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text.  [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</info>
       <return type='void'/>
@@ -10654,7 +11105,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseName' file='parserInternals'>
-      <info>parse an XML name.  [4] NameChar ::= Letter | Digit | &apos;.&apos; | &apos;-&apos; | &apos;_&apos; | &apos;:&apos; | CombiningChar | Extender  [5] Name ::= (Letter | &apos;_&apos; | &apos;:&apos;) (NameChar)*  [6] Names ::= Name (S Name)*</info>
+      <info>parse an XML name.  [4] NameChar ::= Letter | Digit | &apos;.&apos; | &apos;-&apos; | &apos;_&apos; | &apos;:&apos; | CombiningChar | Extender  [5] Name ::= (Letter | &apos;_&apos; | &apos;:&apos;) (NameChar)*  [6] Names ::= Name (#x20 Name)*</info>
       <return type='const xmlChar *' info='the Name parsed or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -10664,7 +11115,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseNmtoken' file='parserInternals'>
-      <info>parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8] Nmtokens ::= Nmtoken (S Nmtoken)*</info>
+      <info>parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</info>
       <return type='xmlChar *' info='the Nmtoken parsed or NULL'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -10944,8 +11395,8 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlPopInputCallbacks' file='xmlIO'>
-      <info></info>
-      <return type='int' info=''/>
+      <info>Clear the top input callback from the input stack. this includes the compiled-in I/O.</info>
+      <return type='int' info='the number of input callback registered or -1 in case of error.'/>
     </function>
     <function name='xmlPrintURI' file='uri'>
       <info>Prints the URI in the stream @steam.</info>
@@ -11334,6 +11785,11 @@
       <arg name='warn' type='xmlRelaxNGValidityWarningFunc *' info='the warning function result'/>
       <arg name='ctx' type='void **' info='the functions context result'/>
     </function>
+    <function name='xmlRelaxNGInitTypes' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Initilize the default type libraries.</info>
+      <return type='int' info='0 in case of success and -1 in case of error.'/>
+    </function>
     <function name='xmlRelaxNGNewDocParserCtxt' file='relaxng'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</info>
@@ -11811,7 +12267,7 @@
     </function>
     <function name='xmlSaveFileTo' file='tree'>
       <cond>LIBXML_OUTPUT_ENABLED</cond>
-      <info>Dump an XML document to an I/O buffer.</info>
+      <info>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</info>
       <return type='int' info='the number of bytes written or -1 in case of failure.'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='an output I/O buffer'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
@@ -11842,7 +12298,7 @@
     </function>
     <function name='xmlSaveFormatFileTo' file='tree'>
       <cond>LIBXML_OUTPUT_ENABLED</cond>
-      <info>Dump an XML document to an I/O buffer. NOTE: the I/O buffer is closed as part of the call.</info>
+      <info>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</info>
       <return type='int' info='the number of bytes written or -1 in case of failure.'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='an output I/O buffer'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
@@ -11985,7 +12441,7 @@
     </function>
     <function name='xmlSchemaGetBuiltInListSimpleTypeItemType' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
-      <info></info>
+      <info>Lookup function</info>
       <return type='xmlSchemaTypePtr' info='the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.'/>
       <arg name='type' type='xmlSchemaTypePtr' info='the built-in simple type.'/>
     </function>
@@ -11995,6 +12451,21 @@
       <return type='xmlSchemaTypePtr' info='the type if found, NULL otherwise.'/>
       <arg name='type' type='xmlSchemaValType' info='the type of the built in type'/>
     </function>
+    <function name='xmlSchemaGetFacetValueAsULong' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Extract the value of a facet</info>
+      <return type='unsigned long' info='the value as a long'/>
+      <arg name='facet' type='xmlSchemaFacetPtr' info='an schemas type facet'/>
+    </function>
+    <function name='xmlSchemaGetParserErrors' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Get the callback information used to handle errors for a parser context</info>
+      <return type='int' info='-1 in case of failure, 0 otherwise'/>
+      <arg name='ctxt' type='xmlSchemaParserCtxtPtr' info='a XMl-Schema parser context'/>
+      <arg name='err' type='xmlSchemaValidityErrorFunc *' info='the error callback result'/>
+      <arg name='warn' type='xmlSchemaValidityWarningFunc *' info='the warning callback result'/>
+      <arg name='ctx' type='void **' info='contextual data for the callbacks result'/>
+    </function>
     <function name='xmlSchemaGetPredefinedType' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Lookup a type in the default XML Schemas type library</info>
@@ -12002,6 +12473,15 @@
       <arg name='name' type='const xmlChar *' info='the type name'/>
       <arg name='ns' type='const xmlChar *' info='the URI of the namespace usually &quot;http://www.w3.org/2001/XMLSchema&quot;'/>
     </function>
+    <function name='xmlSchemaGetValidErrors' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Get the error and warning callback informations</info>
+      <return type='int' info='-1 in case of error and 0 otherwise'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a XML-Schema validation context'/>
+      <arg name='err' type='xmlSchemaValidityErrorFunc *' info='the error function result'/>
+      <arg name='warn' type='xmlSchemaValidityWarningFunc *' info='the warning function result'/>
+      <arg name='ctx' type='void **' info='the functions context result'/>
+    </function>
     <function name='xmlSchemaInitTypes' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Initialize the default XML Schemas type library</info>
@@ -12009,10 +12489,10 @@
     </function>
     <function name='xmlSchemaIsBuiltInTypeFacet' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
-      <info></info>
-      <return type='int' info=''/>
-      <arg name='type' type='xmlSchemaTypePtr' info=''/>
-      <arg name='facetType' type='int' info=''/>
+      <info>Evaluates if a specific facet can be used in conjunction with a type.</info>
+      <return type='int' info='1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.'/>
+      <arg name='type' type='xmlSchemaTypePtr' info='the built-in type'/>
+      <arg name='facetType' type='int' info='the facet type'/>
     </function>
     <function name='xmlSchemaNewDocParserCtxt' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
@@ -12068,6 +12548,13 @@
       <arg name='warn' type='xmlSchemaValidityWarningFunc' info='the warning function'/>
       <arg name='ctx' type='void *' info='the functions context'/>
     </function>
+    <function name='xmlSchemaSetValidOptions' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Sets the options to be used during the validation.</info>
+      <return type='int' info='0 in case of success, -1 in case of an API error.'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
+      <arg name='options' type='int' info='a combination of xmlSchemaValidOption'/>
+    </function>
     <function name='xmlSchemaValPredefTypeNode' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</info>
@@ -12077,6 +12564,21 @@
       <arg name='val' type='xmlSchemaValPtr *' info='the return computed value'/>
       <arg name='node' type='xmlNodePtr' info='the node containing the value'/>
     </function>
+    <function name='xmlSchemaValPredefTypeNodeNoNorm' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</info>
+      <return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
+      <arg name='type' type='xmlSchemaTypePtr' info='the predefined type'/>
+      <arg name='value' type='const xmlChar *' info='the value to check'/>
+      <arg name='val' type='xmlSchemaValPtr *' info='the return computed value'/>
+      <arg name='node' type='xmlNodePtr' info='the node containing the value'/>
+    </function>
+    <function name='xmlSchemaValidCtxtGetOptions' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info></info>
+      <return type='int' info='the option combination of the validation context.'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
+    </function>
     <function name='xmlSchemaValidateDoc' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Validate a document tree in memory.</info>
@@ -12093,6 +12595,16 @@
       <arg name='value' type='const xmlChar *' info='the lexical repr of the value to validate'/>
       <arg name='val' type='xmlSchemaValPtr' info='the precomputed value'/>
     </function>
+    <function name='xmlSchemaValidateLengthFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Checka a value against a &quot;length&quot;, &quot;minLength&quot; and &quot;maxLength&quot; facet; sets @length to the computed length of @value.</info>
+      <return type='int' info='0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.'/>
+      <arg name='type' type='xmlSchemaTypePtr' info='the built-in type'/>
+      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
+      <arg name='value' type='const xmlChar *' info='the lexical repr. of the value to be validated'/>
+      <arg name='val' type='xmlSchemaValPtr' info='the precomputed value'/>
+      <arg name='length' type='unsigned long *' info='the actual length of the value'/>
+    </function>
     <function name='xmlSchemaValidateListSimpleTypeFacet' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Checks the value of a list simple type against a facet.</info>
@@ -12102,6 +12614,13 @@
       <arg name='actualLen' type='unsigned long' info='the number of list items'/>
       <arg name='expectedLen' type='unsigned long *' info='the resulting expected number of list items'/>
     </function>
+    <function name='xmlSchemaValidateOneElement' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Validate a branch of a tree, starting with the given @elem.</info>
+      <return type='int' info='0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.'/>
+      <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
+      <arg name='elem' type='xmlNodePtr' info='an element node'/>
+    </function>
     <function name='xmlSchemaValidatePredefinedType' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</info>
@@ -12184,7 +12703,7 @@
       <arg name='value' type='void *' info='pointer to the location of the new value'/>
     </function>
     <function name='xmlSetGenericErrorFunc' file='xmlerror'>
-      <info>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL.</info>
+      <info>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the new error handling context'/>
       <arg name='handler' type='xmlGenericErrorFunc' info='the new handler function'/>
@@ -12219,7 +12738,7 @@
       <arg name='value' type='const xmlChar *' info='the attribute value'/>
     </function>
     <function name='xmlSetStructuredErrorFunc' file='xmlerror'>
-      <info>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler</info>
+      <info>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the new error handling context'/>
       <arg name='handler' type='xmlStructuredErrorFunc' info='the new handler function'/>
@@ -12239,6 +12758,7 @@
     </function>
     <function name='xmlShell' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</info>
       <return type='void'/>
       <arg name='doc' type='xmlDocPtr' info='the initial document'/>
@@ -12248,6 +12768,7 @@
     </function>
     <function name='xmlShellBase' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;base&quot; dumps the current XML base of the node</info>
       <return type='int' info='0'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12257,6 +12778,7 @@
     </function>
     <function name='xmlShellCat' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;cat&quot; dumps the serialization node content (XML or HTML).</info>
       <return type='int' info='0'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12266,6 +12788,7 @@
     </function>
     <functype name='xmlShellCmd' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>This is a generic signature for the XML shell functions.</info>
       <return type='int' info='an int, negative returns indicating errors.'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='a shell context'/>
@@ -12275,6 +12798,7 @@
     </functype>
     <function name='xmlShellDir' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;dir&quot; dumps informations about the node (namespace, attributes, content).</info>
       <return type='int' info='0'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12284,6 +12808,7 @@
     </function>
     <function name='xmlShellDu' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;du&quot; show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</info>
       <return type='int' info='0 or -1 in case of error'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12293,6 +12818,7 @@
     </function>
     <function name='xmlShellList' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;ls&quot; Does an Unix like listing of the given node (like a directory)</info>
       <return type='int' info='0'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12302,6 +12828,7 @@
     </function>
     <function name='xmlShellLoad' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;load&quot; loads a new document specified by the filename</info>
       <return type='int' info='0 or -1 if loading failed'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12311,12 +12838,14 @@
     </function>
     <function name='xmlShellPrintNode' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Print node to the output FILE</info>
       <return type='void'/>
       <arg name='node' type='xmlNodePtr' info='a non-null node to print to the output FILE'/>
     </function>
     <function name='xmlShellPrintXPathError' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Print the xpath error to libxml default error channel</info>
       <return type='void'/>
       <arg name='errorType' type='int' info='valid xpath error id'/>
@@ -12324,12 +12853,14 @@
     </function>
     <function name='xmlShellPrintXPathResult' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Prints result to the output FILE</info>
       <return type='void'/>
       <arg name='list' type='xmlXPathObjectPtr' info='a valid result generated by an xpath evaluation'/>
     </function>
     <function name='xmlShellPwd' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;pwd&quot; Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands.</info>
       <return type='int' info='0 or -1 in case of error'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12339,12 +12870,14 @@
     </function>
     <functype name='xmlShellReadlineFunc' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>This is a generic signature for the XML shell input function.</info>
       <return type='char *' info='a string which will be freed by the Shell.'/>
       <arg name='prompt' type='char *' info='a string prompt'/>
     </functype>
     <function name='xmlShellSave' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Implements the XML shell function &quot;save&quot; Write the current document to the filename, or it&apos;s original name</info>
       <return type='int' info='0 or -1 in case of error'/>
@@ -12355,6 +12888,7 @@
     </function>
     <function name='xmlShellValidate' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the XML shell function &quot;validate&quot; Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</info>
       <return type='int' info='0 or -1 in case of error'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -12364,6 +12898,7 @@
     </function>
     <function name='xmlShellWrite' file='debugXML'>
       <cond>LIBXML_DEBUG_ENABLED</cond>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Implements the XML shell function &quot;write&quot; Write the current node to the filename, it saves the serialization of the subtree under the @node specified</info>
       <return type='int' info='0 or -1 in case of error'/>
@@ -12645,6 +13180,12 @@
       <return type='const xmlChar *' info='the base URI or NULL if not available, the string will be deallocated with the reader'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
+    <function name='xmlTextReaderConstEncoding' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
+      <info>Determine the encoding of the document being read.</info>
+      <return type='const xmlChar *' info='a string containing the encoding of the document or NULL in case of error.  The string is deallocated with the reader.'/>
+      <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
+    </function>
     <function name='xmlTextReaderConstLocalName' file='xmlreader'>
       <cond>LIBXML_READER_ENABLED</cond>
       <info>The local name of the node.</info>
@@ -12688,6 +13229,12 @@
       <return type='const xmlChar *' info='the xml:lang value or NULL if none exists.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
+    <function name='xmlTextReaderConstXmlVersion' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
+      <info>Determine the XML version of the document being read.</info>
+      <return type='const xmlChar *' info='a string containing the XML version of the document or NULL in case of error.  The string is deallocated with the reader.'/>
+      <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
+    </function>
     <function name='xmlTextReaderCurrentDoc' file='xmlreader'>
       <cond>LIBXML_READER_ENABLED</cond>
       <info>Hacking interface allowing to get the xmlDocPtr correponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</info>
@@ -12788,6 +13335,12 @@
       <return type='int' info='1 if empty, 0 if not and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
+    <function name='xmlTextReaderIsNamespaceDecl' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
+      <info>Determine whether the current node is a namespace declaration rather than a regular attribute.</info>
+      <return type='int' info='1 if the current node is a namespace declaration, 0 if it is a regular attribute or other type of node, or -1 in case of error.'/>
+      <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
+    </function>
     <function name='xmlTextReaderIsValid' file='xmlreader'>
       <cond>LIBXML_READER_ENABLED</cond>
       <info>Retrieve the validity status from the parser context</info>
@@ -12997,6 +13550,12 @@
       <arg name='f' type='xmlStructuredErrorFunc' info='the callback function to call on error and warnings'/>
       <arg name='arg' type='void *' info='a user argument to pass to the callback function'/>
     </function>
+    <function name='xmlTextReaderStandalone' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
+      <info>Determine the standalone status of the document being read.</info>
+      <return type='int' info='1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.'/>
+      <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
+    </function>
     <function name='xmlTextReaderValue' file='xmlreader'>
       <cond>LIBXML_READER_ENABLED</cond>
       <info>Provides the text value of the node if present</info>
@@ -14743,12 +15302,12 @@
     </function>
     <function name='xmlUTF8Strpos' file='xmlstring'>
       <info>a function to provide the equivalent of fetching a character from a string array</info>
-      <return type='xmlChar *' info='a pointer to the UTF8 character or NULL'/>
+      <return type='const xmlChar *' info='a pointer to the UTF8 character or NULL'/>
       <arg name='utf' type='const xmlChar *' info='the input UTF8 *'/>
       <arg name='pos' type='int' info='the position of the desired UTF8 char (in chars)'/>
     </function>
     <function name='xmlUTF8Strsize' file='xmlstring'>
-      <info>storage size of an UTF8 string</info>
+      <info>storage size of an UTF8 string the behaviour is not garanteed if the input string is not UTF-8</info>
       <return type='int' info='the storage size of the first &apos;len&apos; characters of ARRAY'/>
       <arg name='utf' type='const xmlChar *' info='a sequence of UTF-8 encoded bytes'/>
       <arg name='len' type='int' info='the number of characters in the array'/>
@@ -14857,7 +15416,7 @@
     </function>
     <function name='xmlValidateDtd' file='valid'>
       <cond>LIBXML_VALID_ENABLED</cond>
-      <info>Try to validate the document against the dtd instance  basically it does check all the definitions in the DtD.</info>
+      <info>Try to validate the document against the dtd instance  Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
       <arg name='doc' type='xmlDocPtr' info='a document instance'/>
@@ -15015,14 +15574,14 @@
     <functype name='xmlValidityErrorFunc' file='valid'>
       <info>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</info>
       <return type='void'/>
-      <arg name='ctx' type='void *' info='an xmlValidCtxtPtr validity error context'/>
+      <arg name='ctx' type='void *' info='usually an xmlValidCtxtPtr to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.'/>
       <arg name='msg' type='const char *' info='the string to format *printf like vararg'/>
       <arg name='...' type='...' info='remaining arguments to the format'/>
     </functype>
     <functype name='xmlValidityWarningFunc' file='valid'>
       <info>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</info>
       <return type='void'/>
-      <arg name='ctx' type='void *' info='an xmlValidCtxtPtr validity error context'/>
+      <arg name='ctx' type='void *' info='usually an xmlValidCtxtPtr to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.'/>
       <arg name='msg' type='const char *' info='the string to format *printf like vararg'/>
       <arg name='...' type='...' info='remaining arguments to the format'/>
     </functype>
@@ -15417,7 +15976,7 @@
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the context to free'/>
     </function>
-    <functype name='xmlXPathFuncLookupFunc' file='xpathInternals'>
+    <functype name='xmlXPathFuncLookupFunc' file='xpath'>
       <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Prototype for callbacks used to plug function lookup in the XPath engine.</info>
       <return type='xmlXPathFunction' info='the XPath function or NULL if not found.'/>
@@ -16079,7 +16638,7 @@
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
       <arg name='name' type='const xmlChar *' info='the variable name'/>
     </function>
-    <functype name='xmlXPathVariableLookupFunc' file='xpathInternals'>
+    <functype name='xmlXPathVariableLookupFunc' file='xpath'>
       <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Prototype for callbacks used to plug variable lookup in the XPath engine.</info>
       <return type='xmlXPathObjectPtr' info='the XPath object value or NULL if not found.'/>

Modified: packages/libxml2/branches/unstable/doc/libxml2.xsa
===================================================================
--- packages/libxml2/branches/unstable/doc/libxml2.xsa	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/libxml2.xsa	2005-02-16 19:06:11 UTC (rev 352)
@@ -8,26 +8,24 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>2.6.10</version>
-    <last-release> May 17 2004</last-release>
+    <version>2.6.15</version>
+    <last-release> Oct 27 2004</last-release>
     <info-url>http://xmlsoft.org/</info-url>
-    <changes>   - Web page generated for ChangeLog
-   - build fixes: --without-html problems, make check without make all
-   - portability: problem with xpath.c on Windows (MSC and Borland), memcmp
-    vs. strncmp on Solaris, XPath tests on Windows (Mark Vakoc), C++ do not
-    use "list" as parameter name, make tests work with Python 1.5 (Ed
-  Davis),
-   - improvements: made xmlTextReaderMode public, small buffers resizing
-    (Morten Welinder), add --maxmem option to xmllint, add
-    xmlPopInputCallback() for Matt Sergeant, refactoring of serialization
-    escaping, added escaping customization
-   - bugfixes: xsd:extension (Taihei Goi), assorted regexp bugs (William
-    Brack), xmlReader end of stream problem, node deregistration with reader,
-    URI escaping and filemanes,  XHTML1 formatting (Nick Wellnhofer), regexp
-    transition reduction (William), various XSD Schemas fixes (Kasimier
-    Buchcik), XInclude fallback problem (William), weird problems with DTD
-    (William), structured error handler callback context (William), reverse
-    xmlEncodeSpecialChars() behaviour back to escaping '"'
+    <changes>   - security fixes on the nanoftp and nanohttp modules
+   - build fixes: xmllint detection bug in configure, building outside the
+    source tree (Thomas Fitzsimmons)
+   - bug fixes: HTML parser on broken ASCII chars in names (William), Python
+    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
+    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
+    (Malcolm), save back &lt;group&gt; in catalogs (William), tree build
+    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
+    on Python 64bits, thread local memory deallocation, memory leak reported
+    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
+    entities and _private problem (William), xmlBuildRelativeURI error
+    (William).
+   - improvements: better XInclude error reports (William), tree debugging
+    module and tests, convenience functions at the Reader API (Graham
+    Bennett), add support for PI in the HTML parser.
 
 </changes>
   </product>

Modified: packages/libxml2/branches/unstable/doc/namespaces.html
===================================================================
--- packages/libxml2/branches/unstable/doc/namespaces.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/namespaces.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Namespaces</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Namespaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The libxml2 library implements <a href="http://www.w3.org/TR/REC-xml-names/">XML namespaces</a> support by
+</style><title>Namespaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Namespaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The libxml2 library implements <a href="http://www.w3.org/TR/REC-xml-names/">XML namespaces</a> support by
 recognizing namespace constructs in the input, and does namespace lookup
 automatically when building the DOM tree. A namespace declaration is
 associated with an in-memory structure and all elements or attributes within

Modified: packages/libxml2/branches/unstable/doc/newapi.xsl
===================================================================
--- packages/libxml2/branches/unstable/doc/newapi.xsl	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/newapi.xsl	2005-02-16 19:06:11 UTC (rev 352)
@@ -587,7 +587,7 @@
 	    <xsl:call-template name="docstyle"/>
 	    <title><xsl:value-of select="$title"/></title>
 	  </head>
-	  <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+	  <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
 	    <xsl:call-template name="titlebox">
 	      <xsl:with-param name="title" select="$title"/>
 	    </xsl:call-template>
@@ -701,7 +701,7 @@
 	    <xsl:call-template name="docstyle"/>
 	    <title><xsl:value-of select="$title"/></title>
 	  </head>
-	  <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+	  <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
 	    <xsl:call-template name="titlebox">
 	      <xsl:with-param name="title" select="$title"/>
 	    </xsl:call-template>

Modified: packages/libxml2/branches/unstable/doc/news.html
===================================================================
--- packages/libxml2/branches/unstable/doc/news.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/news.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,23 +7,99 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>News</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>News</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Items not finished and worked on, get in touch with the list if you want
+</style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Releases</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Items not finished and worked on, get in touch with the list if you want
 to help those</p><ul><li>More testing on RelaxNG</li>
   <li>Finishing up <a href="http://www.w3.org/TR/xmlschema-1/">XML
   Schemas</a></li>
-</ul><p>There is the list of public releases:</p><h3>2.6.11: July 5 2004</h3><ul><li>Schemas: a lot of changes and improvements by Kasimier Buchcik for
+</ul><p>The <a href="ChangeLog.html">change log</a> describes the recents commits
+to the <a href="http://cvs.gnome.org/viewcvs/libxml2/">CVS</a> code base.</p><p>There is the list of public releases:</p><h3>2.6.16: Nov 10 2004</h3><ul><li>general hardening and bug fixing crossing all the API based on new
+    automated regression testing</li>
+  <li>build fix: IPv6 build and test on AIX (Dodji Seketeli)</li>
+  <li>bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
+    conversion functions return values, UTF-8 bug affecting XPath reported by
+    Markus Bertheau, catalog problem with NULL entries (William Brack)</li>
+  <li>documentation: fix to xmllint man page, some API function descritpion
+    were updated.</li>
+  <li>improvements: DTD validation APIs provided at the Python level (Brent
+    Hendricks) </li>
+</ul><h3>2.6.15: Oct 27 2004</h3><ul><li>security fixes on the nanoftp and nanohttp modules</li>
+  <li>build fixes: xmllint detection bug in configure, building outside the
+    source tree (Thomas Fitzsimmons)</li>
+  <li>bug fixes: HTML parser on broken ASCII chars in names (William), Python
+    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
+    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
+    (Malcolm), save back &lt;group&gt; in catalogs (William), tree build
+    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
+    on Python 64bits, thread local memory deallocation, memory leak reported
+    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
+    entities and _private problem (William), xmlBuildRelativeURI error
+    (William).</li>
+  <li>improvements: better XInclude error reports (William), tree debugging
+    module and tests, convenience functions at the Reader API (Graham
+    Bennett), add support for PI in the HTML parser.</li>
+</ul><h3>2.6.14: Sep 29 2004</h3><ul><li>build fixes: configure paths for xmllint and xsltproc, compilation
+    without HTML parser, compilation warning cleanups (William Brack &amp;
+    Malcolm Tredinnick), VMS makefile update (Craig Berry),</li>
+  <li>bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
+    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
+    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
+    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
+    handling of failed realloc(), out of bound array adressing in Schemas
+    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
+    E20 validation fix (Malcolm),</li>
+  <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
+    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
+    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
+    Tredinnick), Schemas support for xsi:schemaLocation,
+    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)</li>
+</ul><h3>2.6.13: Aug 31 2004</h3><ul><li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
+    Solaris compiler warning, fixing RPM BuildRequires,</li>
+  <li>fixes: DTD loading on Windows (Igor), Schemas error reports APIs
+    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
+    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
+    problem (William), Schemas hexbinary empty values, encoding error could
+    genrate a serialization loop.</li>
+  <li>Improvements: Schemas validity improvements (Kasimier), added --path
+    and --load-trace options to xmllint</li>
+  <li>documentation: tutorial update (John Fleck)</li>
+</ul><h3>2.6.12: Aug 22 2004</h3><ul><li>build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
+    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
+    Chin), some 64bits cleanups.</li>
+  <li>Python: avoid a warning with 2.3 (William Brack), tab and space mixes
+    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
+    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
+    (Torkel Lyng)</li>
+  <li>Schemas: a lot of bug fixes and improvements from Kasimier Buchcik</li>
+  <li>fixes: RVT fixes (William), XPath context resets bug (William), memory
+    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
+    xmlReader state after attribute reading (William), structured error
+    handler (William), XInclude generated xml:base fixup (William), Windows
+    memory reallocation problem (Steve Hay), Out of Memory conditions
+    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
+    htmlReadMemory init (William), a posteriori validation DTD base
+    (William), notations serialization missing, xmlGetNodePath (Dodji),
+    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
+  (William)</li>
+  <li>improvements: DocBook catalog build scrip (William), xmlcatalog tool
+    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
+    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
+    to not generate start/end nodes, extend xmllint --version to include CVS
+    tag (William)</li>
+  <li>documentation: web pages fixes, validity API docs fixes (William)
+    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)</li>
+</ul><h3>2.6.11: July 5 2004</h3><ul><li>Schemas: a lot of changes and improvements by Kasimier Buchcik for
     attributes, namespaces and simple types.</li>
   <li>build fixes: --with-minimum (William Brack),  some gcc cleanup
     (William), --with-thread-alloc (William)</li>
   <li>portability: Windows binary package change (Igor Zlatkovic), Catalog
     path on Windows</li>
   <li>documentation: update to the tutorial (John Fleck), xmllint return code
-    (John Fleck), man pages (Ville Skytta), </li>
+    (John Fleck), man pages (Ville Skytta),</li>
   <li>bug fixes: C14N bug serializing namespaces (Aleksey Sanin), testSAX
     properly initialize the library (William), empty node set in XPath
     (William), xmlSchemas errors (William), invalid charref problem pointed
     by Morus Walter, XInclude xml:base generation (William), Relax-NG bug
-    with div processing (William), XPointer and xml:base problem(William), 
+    with div processing (William), XPointer and xml:base problem(William),
     Reader and entities, xmllint return code for schemas (William), reader
     streaming problem (Steve Ball), DTD serialization problem (William),
     libxml.m4 fixes (Mike Hommey), do not provide destructors as methods on

Modified: packages/libxml2/branches/unstable/doc/python.html
===================================================================
--- packages/libxml2/branches/unstable/doc/python.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/python.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Python and bindings</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Python and bindings</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are a number of language bindings and wrappers available for
+</style><title>Python and bindings</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Python and bindings</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There are a number of language bindings and wrappers available for
 libxml2, the list below is not exhaustive. Please contact the <a href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings at gnome.org</a>
 (<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
 order to get updates to this list or to discuss the specific topic of libxml2

Modified: packages/libxml2/branches/unstable/doc/searches.html
===================================================================
--- packages/libxml2/branches/unstable/doc/searches.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/searches.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Search statistics for 20040408</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Search statistics for 20040408</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2> weekly statistics: </h2><p>416435 total words,
+</style><title>Search statistics for 20040408</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Search statistics for 20040408</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2> weekly statistics: </h2><p>416435 total words,
       9875 uniq words.</p><p> Top 50 queries:</p><p><br /><a href="search.php?query=libxml2">libxml2</a> 11812 times.
   <br /><a href="search.php?query=libxml">libxml</a> 10170 times.
   <br /><a href="search.php?query=xpath">xpath</a> 6172 times.

Modified: packages/libxml2/branches/unstable/doc/searches.xsl
===================================================================
--- packages/libxml2/branches/unstable/doc/searches.xsl	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/searches.xsl	2005-02-16 19:06:11 UTC (rev 352)
@@ -43,7 +43,7 @@
 	  <xsl:value-of select="$title"/>
 	</xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
 	    <xsl:with-param name="title" select="$title"/>
 	  </xsl:call-template>

Modified: packages/libxml2/branches/unstable/doc/site.xsl
===================================================================
--- packages/libxml2/branches/unstable/doc/site.xsl	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/site.xsl	2005-02-16 19:06:11 UTC (rev 352)
@@ -341,7 +341,7 @@
       <li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li>
       <li><a href="html/index.html" style="font-weight:bold">API Menu</a></li>
       <li><a href="guidelines.html">XML Guidelines</a></li>
-      <li><a href="ChangeLog.html">ChangeLog</a></li>
+      <li><a href="ChangeLog.html">Recent Changes</a></li>
     </ul>
   </xsl:variable>
   <xsl:variable name="develtoc">
@@ -607,7 +607,7 @@
             <xsl:value-of select="$title"/>
           </xsl:element>
         </head>
-        <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+        <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
           <xsl:call-template name="titlebox">
             <xsl:with-param name="title" select="$title"/>
           </xsl:call-template>
@@ -671,7 +671,7 @@
   <xsl:template match="body">
     <xsl:variable name="firsth2" select="./h2[1]"/>
     <xsl:variable name="rest2" select="./h2[position()&gt;1]"/>
-    <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
+    <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
       <xsl:call-template name="titlebox">
         <xsl:with-param name="title" select="'libxml'"/>
       </xsl:call-template>

Modified: packages/libxml2/branches/unstable/doc/threads.html
===================================================================
--- packages/libxml2/branches/unstable/doc/threads.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/threads.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Thread safety</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Thread safety</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent
+</style><title>Thread safety</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Thread safety</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Starting with 2.4.7, libxml2 makes provisions to ensure that concurrent
 threads can safely work in parallel parsing different documents. There is
 however a couple of things to do to ensure it:</p><ul><li>configure the library accordingly using the --with-threads options</li>
   <li>call xmlInitParser() in the "main" thread before using any of the

Modified: packages/libxml2/branches/unstable/doc/tree.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tree.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tree.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>The tree output</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The tree output</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The parser returns a tree built during the document analysis. The value
+</style><title>The tree output</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>The tree output</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The parser returns a tree built during the document analysis. The value
 returned is an <strong>xmlDocPtr</strong> (i.e., a pointer to an
 <strong>xmlDoc</strong> structure). This structure contains information such
 as the file name, the document type, and a <strong>children</strong> pointer

Modified: packages/libxml2/branches/unstable/doc/tutorial/apa.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/apa.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/apa.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>A. Compilation</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s09.html" title="Encoding Conversion"><link rel="next" href="apb.html" title="B. Sample Document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">A. Compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s09.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="compilation"></a>A. Compilation</h2></div></div><div></div></div><p><a class="indexterm" name="id2902089"></a>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>A. Compilation</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s09.html" title="Encoding Conversion"><link rel="next" href="apb.html" title="B. Sample Document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">A. Compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s09.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="compilation"></a>A. Compilation</h2></div></div><div></div></div><p><a class="indexterm" name="id2587670"></a>
       <span class="application">Libxml</span> includes a script,
     <span class="application">xml2-config</span>, that can be used to generate
     flags for compilation and linking of programs written with the

Modified: packages/libxml2/branches/unstable/doc/tutorial/apd.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/apd.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/apd.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -23,12 +23,21 @@
 	xmlXPathObjectPtr result;
 
 	context = xmlXPathNewContext(doc);
+	if (context == NULL) {
+		printf("Error in xmlXPathNewContext\n");
+		return NULL;
+	}
 	result = xmlXPathEvalExpression(xpath, context);
+	xmlXPathFreeContext(context);
+	if (result == NULL) {
+		printf("Error in xmlXPathEvalExpression\n");
+		return NULL;
+	}
 	if(xmlXPathNodeSetIsEmpty(result-&gt;nodesetval)){
+		xmlXPathFreeObject(result);
                 printf("No result\n");
 		return NULL;
 	}
-	xmlXPathFreeContext(context);
 	return result;
 }
 int
@@ -63,6 +72,5 @@
 	xmlCleanupParser();
 	return (1);
 }
-
 </pre><p>
     </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apc.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ape.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">C. Code for Keyword Example </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> E. Code for Add Keyword Example</td></tr></table></div></body></html>

Modified: packages/libxml2/branches/unstable/doc/tutorial/api.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/api.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/api.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>I. Acknowledgements</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="aph.html" title="H. Code for Encoding Conversion Example"><link rel="next" href="ix01.html" title="Index"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">I. Acknowledgements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="aph.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ix01.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2902708"></a>I. Acknowledgements</h2></div></div><div></div></div><p>A number of people have generously offered feedback, code and
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>I. Acknowledgements</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="aph.html" title="H. Code for Encoding Conversion Example"><link rel="next" href="ix01.html" title="Index"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">I. Acknowledgements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="aph.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ix01.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2588597"></a>I. Acknowledgements</h2></div></div><div></div></div><p>A number of people have generously offered feedback, code and
     suggested improvements to this tutorial. In no particular order:
       <span class="simplelist">Daniel Veillard, Marcus Labib Iskander, Christopher R. Harris, Igor Zlatkovic, Niraj Tolia, David Turover</span>
     </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="aph.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ix01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">H. Code for Encoding Conversion Example </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Index</td></tr></table></div></body></html>

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s02.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s02.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s02.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,13 +1,13 @@
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Data Types</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="index.html" title="Libxml Tutorial"><link rel="next" href="ar01s03.html" title="Parsing the file"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Data Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialdatatypes"></a>Data Types</h2></div></div><div></div></div><p><span class="application">Libxml</span> declares a number of data types we
     will encounter repeatedly, hiding the messy stuff so you do not have to deal
     with it unless you have some specific need.</p><p>
-      </p><div class="variablelist"><dl><dt><span class="term"><a class="indexterm" name="id2840608"></a>
+      </p><div class="variablelist"><dl><dt><span class="term"><a class="indexterm" name="id2526186"></a>
 <a href="http://xmlsoft.org/html/libxml-tree.html#XMLCHAR" target="_top">xmlChar</a></span></dt><dd><p>A basic replacement for char, a byte in a UTF-8 encoded
 	    string. If your data uses another encoding, it must be converted to
 	      UTF-8 for use with <span class="application">libxml's</span>
-	      functions. More information on encoding is available on the <a href="http://www.xmlsoft.org/encoding.html" target="_top"><span class="application">libxml</span> encoding support web page</a>.</p></dd><dt><span class="term"><a class="indexterm" name="id2840654"></a>
+	      functions. More information on encoding is available on the <a href="http://www.xmlsoft.org/encoding.html" target="_top"><span class="application">libxml</span> encoding support web page</a>.</p></dd><dt><span class="term"><a class="indexterm" name="id2526232"></a>
 	    <a href="http://xmlsoft.org/html/libxml-tree.html#XMLDOC" target="_top">xmlDoc</a></span></dt><dd><p>A structure containing the tree created by a parsed doc. <a href="http://xmlsoft.org/html/libxml-tree.html#XMLDOCPTR" target="_top">xmlDocPtr</a>
-	  is a pointer to the structure.</p></dd><dt><span class="term"><a class="indexterm" name="id2840689"></a>
+	  is a pointer to the structure.</p></dd><dt><span class="term"><a class="indexterm" name="id2526266"></a>
 <a href="http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR" target="_top">xmlNodePtr</a>
 	    and <a href="http://xmlsoft.org/html/libxml-tree.html#XMLNODE" target="_top">xmlNode</a></span></dt><dd><p>A structure containing a single node. <a href="http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR" target="_top">xmlNodePtr</a>
 	  is a pointer to the structure, and is used in traversing the document tree.</p></dd></dl></div><p>

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s03.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s03.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s03.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -31,7 +31,7 @@
 	  interact with individual nodes).</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkparseerror"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>Check to see that the document was successfully parsed. If it
 	    was not, <span class="application">libxml</span> will at this point
 	    register an error and stop. 
-	    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p><a class="indexterm" name="id2839760"></a>
+	    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p><a class="indexterm" name="id2525337"></a>
 One common example of an error at this point is improper
 	    handling of encoding. The <span class="acronym">XML</span> standard requires
 	    documents stored with an encoding other than UTF-8 or UTF-16 to
@@ -43,5 +43,5 @@
 	  </p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#getrootelement"><img src="images/callouts/5.png" alt="5" border="0"></a> </td><td valign="top" align="left"><p>Retrieve the document's root element.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkemptyerror"><img src="images/callouts/6.png" alt="6" border="0"></a> </td><td valign="top" align="left"><p>Check to make sure the document actually contains something.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkroottype"><img src="images/callouts/7.png" alt="7" border="0"></a> </td><td valign="top" align="left"><p>In our case, we need to make sure the document is the right
 	  type. "story" is the root type of the documents used in this
 	  tutorial.</p></td></tr></table></div><p>
-      <a class="indexterm" name="id2839838"></a>
+      <a class="indexterm" name="id2525415"></a>
     </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar01s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Data Types </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Retrieving Element Content</td></tr></table></div></body></html>

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s04.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s04.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s04.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Element Content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s03.html" title="Parsing the file"><link rel="next" href="ar01s05.html" title="Using XPath to Retrieve Element Content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Element Content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s05.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialgettext"></a>Retrieving Element Content</h2></div></div><div></div></div><p><a class="indexterm" name="id2839861"></a>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Element Content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s03.html" title="Parsing the file"><link rel="next" href="ar01s05.html" title="Using XPath to Retrieve Element Content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Element Content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s05.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialgettext"></a>Retrieving Element Content</h2></div></div><div></div></div><p><a class="indexterm" name="id2525439"></a>
 Retrieving the content of an element involves traversing the document
     tree until you find what you are looking for. In this case, we are looking
     for an element called "keyword" contained within element called "story". The

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s05.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s05.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s05.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -26,13 +26,12 @@
 	<a name="cocreatecontext"></a><img src="images/callouts/2.png" alt="2" border="0">context = xmlXPathNewContext(doc);
 	<a name="corunxpath"></a><img src="images/callouts/3.png" alt="3" border="0">result = xmlXPathEvalExpression(xpath, context);
 	<a name="cocheckxpathresult"></a><img src="images/callouts/4.png" alt="4" border="0">if(xmlXPathNodeSetIsEmpty(result-&gt;nodesetval)){
+		xmlXPathFreeObject(result);
                 printf("No result\n");
-                return NULL;
-	}
-	xmlXPathFreeContext(context);
-	return result;
+		return NULL;
       </pre><p>
-      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#cocontext"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>First we declare our variables.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocreatecontext"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Initialize the <tt class="varname">context</tt> variable.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#corunxpath"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p>Apply the <span class="application">XPath</span> expression.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocheckxpathresult"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>Check the result.</p></td></tr></table></div><p>
+      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#cocontext"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>First we declare our variables.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocreatecontext"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Initialize the <tt class="varname">context</tt> variable.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#corunxpath"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p>Apply the <span class="application">XPath</span> expression.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocheckxpathresult"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>Check the result and free the memory allocated to
+	    <tt class="varname">result</tt> if no result is found.</p></td></tr></table></div><p>
     </p><p>The xmlPathObjectPtr returned by the function contains a set of nodes
     and other information needed to iterate through the set and act on the
       results. For this example, our functions returns the

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s06.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s06.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s06.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing element content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s05.html" title="Using XPath to Retrieve Element Content"><link rel="next" href="ar01s07.html" title="Writing Attribute"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing element content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s05.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s07.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingcontent"></a>Writing element content</h2></div></div><div></div></div><p><a class="indexterm" name="id2901386"></a>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing element content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s05.html" title="Using XPath to Retrieve Element Content"><link rel="next" href="ar01s07.html" title="Writing Attribute"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing element content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s05.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s07.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingcontent"></a>Writing element content</h2></div></div><div></div></div><p><a class="indexterm" name="id2586968"></a>
       Writing element content uses many of the same steps we used above
       &#8212; parsing the document and walking the tree. We parse the document,
       then traverse the tree to find the place we want to insert our element. For
@@ -21,7 +21,7 @@
 				     current node pointer's location in the
 	    tree, specified by <tt class="varname">cur</tt>.</p></td></tr></table></div><p>
          </p><p>
-      <a class="indexterm" name="id2901470"></a>
+      <a class="indexterm" name="id2587052"></a>
       Once the node has been added, we would like to write the document to
       file. Is you want the element to have a namespace, you can add it here as
       well. In our case, the namespace is NULL.

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s07.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s07.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s07.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing Attribute</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s06.html" title="Writing element content"><link rel="next" href="ar01s08.html" title="Retrieving Attributes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing Attribute</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s06.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s08.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingattribute"></a>Writing Attribute</h2></div></div><div></div></div><p><a class="indexterm" name="id2901512"></a>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing Attribute</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s06.html" title="Writing element content"><link rel="next" href="ar01s08.html" title="Retrieving Attributes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing Attribute</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s06.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s08.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingattribute"></a>Writing Attribute</h2></div></div><div></div></div><p><a class="indexterm" name="id2587093"></a>
 Writing an attribute is similar to writing text to a new element. In
       this case, we'll add a reference <span class="acronym">URI</span> to our
       document. Full code:<a href="apf.html" title="F. Code for Add Attribute Example">Appendix F, <i>Code for Add Attribute Example</i></a>.</p><p>

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s08.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s08.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s08.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Attributes</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s07.html" title="Writing Attribute"><link rel="next" href="ar01s09.html" title="Encoding Conversion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Attributes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s09.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialattribute"></a>Retrieving Attributes</h2></div></div><div></div></div><p><a class="indexterm" name="id2901654"></a>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Attributes</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s07.html" title="Writing Attribute"><link rel="next" href="ar01s09.html" title="Encoding Conversion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Attributes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s09.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialattribute"></a>Retrieving Attributes</h2></div></div><div></div></div><p><a class="indexterm" name="id2587236"></a>
 Retrieving the value of an attribute is similar to the previous
     example in which we retrieved a node's text contents. In this case we'll
       extract the value of the <span class="acronym">URI</span> we added in the previous

Modified: packages/libxml2/branches/unstable/doc/tutorial/ar01s09.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ar01s09.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ar01s09.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Encoding Conversion</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s08.html" title="Retrieving Attributes"><link rel="next" href="apa.html" title="A. Compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Encoding Conversion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialconvert"></a>Encoding Conversion</h2></div></div><div></div></div><p><a class="indexterm" name="id2901766"></a>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Encoding Conversion</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s08.html" title="Retrieving Attributes"><link rel="next" href="apa.html" title="A. Compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Encoding Conversion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialconvert"></a>Encoding Conversion</h2></div></div><div></div></div><p><a class="indexterm" name="id2587348"></a>
 Data encoding compatibility problems are one of the most common
       difficulties encountered by programmers new to <span class="acronym">XML</span> in
       general and <span class="application">libxml</span> in particular. Thinking

Modified: packages/libxml2/branches/unstable/doc/tutorial/includexpath.c
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/includexpath.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/includexpath.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -22,12 +22,21 @@
 	xmlXPathObjectPtr result;
 
 	context = xmlXPathNewContext(doc);
+	if (context == NULL) {
+		printf("Error in xmlXPathNewContext\n");
+		return NULL;
+	}
 	result = xmlXPathEvalExpression(xpath, context);
+	xmlXPathFreeContext(context);
+	if (result == NULL) {
+		printf("Error in xmlXPathEvalExpression\n");
+		return NULL;
+	}
 	if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
+		xmlXPathFreeObject(result);
                 printf("No result\n");
 		return NULL;
 	}
-	xmlXPathFreeContext(context);
 	return result;
 }
 int
@@ -62,4 +71,4 @@
 	xmlCleanupParser();
 	return (1);
 }
-]]>
+]]>
\ No newline at end of file

Modified: packages/libxml2/branches/unstable/doc/tutorial/index.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/index.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/index.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Libxml Tutorial</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="next" href="ar01s02.html" title="Data Types"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Libxml Tutorial</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2788097"></a>Libxml Tutorial</h1></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="surname">Fleck</span></h3></div></div><div><p class="copyright">Copyright © 2002, 2003 John Fleck</p></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 1</td><td align="left">June 4, 2002</td></tr><tr><td align="left" colspan="2">Initial draft</td></tr><tr><td align="left">Revision 2</td><td align="left">June 12, 2002</td></tr><tr><td align="left" colspan="2">retrieving attribute value added</td></tr><tr><td align="left">Revision 3</td><td align="left">Aug. 31, 2002</td></tr><tr><td align="left" colspan="2">freeing memory fix</td></tr><tr><td align="left">Revision 4</td><td align="left">Nov. 10, 2002</td></tr><tr><td align="left" colspan="2">encoding discussion added</td></tr><tr><td align="left">Revision 5</td><td align="left">Dec. 15, 2002</td></tr><tr><td align="left" colspan="2">more memory freeing changes</td></tr><tr><td align="left">Revision 6</td><td align="left">Jan. 26. 2003</td></tr><tr><td align="left" colspan="2">add index</td></tr><tr><td align="left">Revision 7</td><td align="left">April 25, 2003</td></tr><tr><td align="left" colspan="2">add compilation appendix</td></tr><tr><td align="left">Revision 8</td><td align="left">July 24, 2003</td></tr><tr><td align="left" colspan="2">add XPath example</td></tr><tr><td align="left">Revision 9</td><td align="left">Feb. 14, 2004</td></tr><tr><td align="left" colspan="2">Fix bug in XPath example</td></tr></table></div></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="index.html#introduction">Introduction</a></dt><dt><a href="ar01s02.html">Data Types</a></dt><dt><a href="ar01s03.html">Parsing the file</a></dt><dt><a href="ar01s04.html">Retrieving Element Content</a></dt><dt><a href="ar01s05.html">Using XPath to Retrieve Element Content</a></dt><dt><a href="ar01s06.html">Writing element content</a></dt><dt><a href="ar01s07.html">Writing Attribute</a></dt><dt><a href="ar01s08.html">Retrieving Attributes</a></dt><dt><a href="ar01s09.html">Encoding Conversion</a></dt><dt>A. <a href="apa.html">Compilation</a></dt><dt>B. <a href="apb.html">Sample Document</a></dt><dt>C. <a href="apc.html">Code for Keyword Example</a></dt><dt>D. <a href="apd.html">Code for XPath Example</a></dt><dt>E. <a href="ape.html">Code for Add Keyword Example</a></dt><dt>F. <a href="apf.html">Code for Add Attribute Example</a></dt><dt>G. <a href="apg.html">Code for Retrieving Attribute Value Example</a></dt><dt>H. <a href="aph.html">Code for Encoding Conversion Example</a></dt><dt>I. <a href="api.html">Acknowledgements</a></dt></dl></div><div class="abstract"><p class="title"><b>Abstract</b></p><p>Libxml is a freely licensed C language library for handling
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Libxml Tutorial</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="next" href="ar01s02.html" title="Data Types"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Libxml Tutorial</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2473660"></a>Libxml Tutorial</h1></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="surname">Fleck</span></h3></div></div><div><p class="copyright">Copyright © 2002, 2003 John Fleck</p></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 1</td><td align="left">June 4, 2002</td></tr><tr><td align="left" colspan="2">Initial draft</td></tr><tr><td align="left">Revision 2</td><td align="left">June 12, 2002</td></tr><tr><td align="left" colspan="2">retrieving attribute value added</td></tr><tr><td align="left">Revision 3</td><td align="left">Aug. 31, 2002</td></tr><tr><td align="left" colspan="2">freeing memory fix</td></tr><tr><td align="left">Revision 4</td><td align="left">Nov. 10, 2002</td></tr><tr><td align="left" colspan="2">encoding discussion added</td></tr><tr><td align="left">Revision 5</td><td align="left">Dec. 15, 2002</td></tr><tr><td align="left" colspan="2">more memory freeing changes</td></tr><tr><td align="left">Revision 6</td><td align="left">Jan. 26. 2003</td></tr><tr><td align="left" colspan="2">add index</td></tr><tr><td align="left">Revision 7</td><td align="left">April 25, 2003</td></tr><tr><td align="left" colspan="2">add compilation appendix</td></tr><tr><td align="left">Revision 8</td><td align="left">July 24, 2003</td></tr><tr><td align="left" colspan="2">add XPath example</td></tr><tr><td align="left">Revision 9</td><td align="left">Feb. 14, 2004</td></tr><tr><td align="left" colspan="2">Fix bug in XPath example</td></tr><tr><td align="left">Revision 7</td><td align="left">Aug. 24, 2004</td></tr><tr><td align="left" colspan="2">Fix another bug in XPath example</td></tr></table></div></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="index.html#introduction">Introduction</a></dt><dt><a href="ar01s02.html">Data Types</a></dt><dt><a href="ar01s03.html">Parsing the file</a></dt><dt><a href="ar01s04.html">Retrieving Element Content</a></dt><dt><a href="ar01s05.html">Using XPath to Retrieve Element Content</a></dt><dt><a href="ar01s06.html">Writing element content</a></dt><dt><a href="ar01s07.html">Writing Attribute</a></dt><dt><a href="ar01s08.html">Retrieving Attributes</a></dt><dt><a href="ar01s09.html">Encoding Conversion</a></dt><dt>A. <a href="apa.html">Compilation</a></dt><dt>B. <a href="apb.html">Sample Document</a></dt><dt>C. <a href="apc.html">Code for Keyword Example</a></dt><dt>D. <a href="apd.html">Code for XPath Example</a></dt><dt>E. <a href="ape.html">Code for Add Keyword Example</a></dt><dt>F. <a href="apf.html">Code for Add Attribute Example</a></dt><dt>G. <a href="apg.html">Code for Retrieving Attribute Value Example</a></dt><dt>H. <a href="aph.html">Code for Encoding Conversion Example</a></dt><dt>I. <a href="api.html">Acknowledgements</a></dt></dl></div><div class="abstract"><p class="title"><b>Abstract</b></p><p>Libxml is a freely licensed C language library for handling
     <span class="acronym">XML</span>, portable across a large number of platforms. This
     tutorial provides examples of its basic functions.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction"></a>Introduction</h2></div></div><div></div></div><p>Libxml is a C language library implementing functions for reading,
       creating and manipulating <span class="acronym">XML</span> data. This tutorial

Modified: packages/libxml2/branches/unstable/doc/tutorial/ix01.html
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/ix01.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/ix01.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Index</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="api.html" title="I. Acknowledgements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Index</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="id2902957"></a>Index</h2></div></div><div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>attribute</dt><dd><dl><dt>retrieving value, <a href="ar01s08.html">Retrieving Attributes</a></dt><dt>writing, <a href="ar01s07.html">Writing Attribute</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>compiler flags, <a href="apa.html">Compilation</a></dt></dl></div><div class="indexdiv"><h3>E</h3><dl><dt>element</dt><dd><dl><dt>retrieving content, <a href="ar01s04.html">Retrieving Element Content</a></dt><dt>writing content, <a href="ar01s06.html">Writing element content</a></dt></dl></dd><dt>encoding, <a href="ar01s03.html">Parsing the file</a>, <a href="ar01s09.html">Encoding Conversion</a></dt></dl></div><div class="indexdiv"><h3>F</h3><dl><dt>file</dt><dd><dl><dt>parsing, <a href="ar01s03.html">Parsing the file</a>-<a href="ar01s03.html">Parsing the file</a></dt><dt>saving, <a href="ar01s06.html">Writing element content</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>xmlChar, <a href="ar01s02.html">Data Types</a></dt><dt>xmlDoc, <a href="ar01s02.html">Data Types</a></dt><dt>xmlNodePtr, <a href="ar01s02.html">Data Types</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">I. Acknowledgements </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Index</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="api.html" title="I. Acknowledgements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Index</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="id2588704"></a>Index</h2></div></div><div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>attribute</dt><dd><dl><dt>retrieving value, <a href="ar01s08.html">Retrieving Attributes</a></dt><dt>writing, <a href="ar01s07.html">Writing Attribute</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>compiler flags, <a href="apa.html">Compilation</a></dt></dl></div><div class="indexdiv"><h3>E</h3><dl><dt>element</dt><dd><dl><dt>retrieving content, <a href="ar01s04.html">Retrieving Element Content</a></dt><dt>writing content, <a href="ar01s06.html">Writing element content</a></dt></dl></dd><dt>encoding, <a href="ar01s03.html">Parsing the file</a>, <a href="ar01s09.html">Encoding Conversion</a></dt></dl></div><div class="indexdiv"><h3>F</h3><dl><dt>file</dt><dd><dl><dt>parsing, <a href="ar01s03.html">Parsing the file</a>-<a href="ar01s03.html">Parsing the file</a></dt><dt>saving, <a href="ar01s06.html">Writing element content</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>xmlChar, <a href="ar01s02.html">Data Types</a></dt><dt>xmlDoc, <a href="ar01s02.html">Data Types</a></dt><dt>xmlNodePtr, <a href="ar01s02.html">Data Types</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">I. Acknowledgements </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>

Modified: packages/libxml2/branches/unstable/doc/tutorial/xmltutorial.pdf
===================================================================
--- packages/libxml2/branches/unstable/doc/tutorial/xmltutorial.pdf	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/tutorial/xmltutorial.pdf	2005-02-16 19:06:11 UTC (rev 352)
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 1822 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1748 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb"/*>Edeu'RnB3cso,c'tW.g at 2QG"TnU at J&th%rK4?EgBjq>%flmBYnl<!UGSd6pAr></mjLBJdF!.`b at f.Z`U&Le$4)9u:VgKt6P+f;3(%(:_Z8s$(_A6k:FHdgKS"JWYlhbc?cU?N]BqCn5s,ZM+%ZLqMaNV=EM-P9!/kc<`u&1g=kRZH(\W6tKF`a/&CJ(iDpqG/FX/Z.helHh^?\0.F[A'=8<R:,?iISc[D%ZbpN[@h#u"=gQ#0&L0rkiE6,nF_*3uH"X)ri``Tp7GWUXIU:Ci;/C;1FBVZu]@Up?ma&0fH$)>j9`;PZeI]MV8//%QdUe>pQ>+;/.umddKkMt8p91ge85?B+i50(p+r!XPlU9i%bRl!/2qn]I at hU<G9lD`/J:jqHRQ[L<Hj)TuG5ED^_MeVg_@<K*EdV/aqg=emm48FP1^9HLErHB<.W\Bd3sAZEg\4[u_8W^3?5QA<?BqC^DA/2;r)'qI&8,836m=-uo\>Ron_LGcGf_%.A9b2<D-i6J7$9W=WB412-?\s6 at e`tLp_1uVkD)bE^#6[EA_M9uDpC3g6o3&Qq"8XMt1/#,'7%s`ZG.>O'8P&easCDGR3nqYlU6NT5**7`>5'@%SD459t\>3.-57T19BV:CN^MSh_h=\T$H2V8WHZ,Ih3J4W+:m5q'U-]pHpkffZ.VH5e+a!JITB<`2OKHG&0K2n8"+qBuQ\CiYf9R$AY)\i5shsXPXSRNu\;[i=Ls%-,W!F'?)#^a?f5p-or<[Pj-q!LjQClG;V#.sh7SM64%;,c$e7:iRXWhiG7JWXceU&%/e`,P=VFB#<H4KRobJ#)Vr$*Q:8inNXZ/3-8oEQ7[k=H0ZnQ<Vl\`#LQe:KK^L.SU88'`#]CL`%_TjVW;-D at _7A9;=l,OFZkYr2!=OEl]DZ8lQ&@I!A[Ln\gNGVsBu]b-7si(\dgt,eDpdJ*JIBjO!^sklB16W at l!C"BjTon($^B7N#VL=,/&6r2F>iO@/1C4o4O0U??C^?=!;EZW0*cib07!2bDi at 4Ek['oP)r<]^drH7%RiMci'EJ]/J2KOW*$Ef\6-K=A5MP%F,;<N#:ETlXlm[^)\GIc/PJ<#rPuMd+YS^;btW2ruZ!s/B5fuo*I0Z>$nWsEC[,uT+RNP$]e#sP]ia_]@_)d]MZRgDk-'D)Q)Co=gqRA^STedXN=:8jM&>iFLGkOkF<B\?UC7 at G*\8:hG[4f+c$'WOHJQH_lQ8m$S,b:C@]9EI%?"Ik17_[M][`"(/=Ck>)CZXMsj_]AERp[bR!+*q[[BVR>.4)O!cOsIIcV`FKT;GLtG<J?9aI+K9+E7L/baNG)-%t+uM54)WrHQdWIL0j5so`D3,Dm-H5>N-h#E[V at alG&XHI(mIjo6aSn)GI.Y!LbNFL],)ms`Z#?K!^3L]\-9p^_VI/&lhB11(GV3G%a at .&oTjl>?42$$sU-8!_nn=.F_GKNIhRU/Wo0_mhoC56b<Y"5V[E+]nq]u-E<RJD#Q.HlfGOdh;##l at DH%H9?=X\;iSq-LASk.O^87(FI(5,UTIuTcNN<GDsnjhj>cj0/%2`NLq/01aJ<#U$$LFUEhJu?'=b5*h`eq[Y8m)PGqOBMGQG1m4k+GmQ"G1s=9qu680,ONs]W(T0 at 6<bWiR39`%]USu@'`&(Y;GY.B[m at H'rMJY[>H4d^<Y^QqnpVMlg?)ZNqsB;94;b9cC.EXI=aClSC at H%<h3(Qp*>a>5Q9cRIUX%6TR[l68LSQD".8?rd]iiSYWp=*ZB,QFDct^$?.ss)U<jNl\0,DG1p"i81T/3mN;R^]SgR;;^7f44FD]p2~>
+Gb"/*>Edeu'RnB3cso,c'tRV<@2QG"Te1sI,sZ*n#KKlNVMQ<5BA<CZaL=]`*:HduRjm'>q5!'k+!#c"8(NNgbpHe&;a;1aP(M at rJfk-$BS+$?JcRY,(_A6k,SUN`TO7efXhh3i=3:BXHM%E2OW]0H+sk$H[O\XG#u0mW at .r"s`W.g99!tcR*(\/("@>q at BW^Q2G*D>/#n3]_.il=X.o?OD#U^04dS]Ss+,a%^lQgnf/]&ceW at ko*%B0QokTBn:$jairCK+PLS%Cdch at t;kIOGu!8)fQ]DhR/U#>#9%l:;J>aO=nBdX8N?;VToPUM@?BfP;2DbSCG8.#;H:nr:@X[RoUP5#8V!2XYms3+,Pg+L(An4XOouF2iL at .s#m5[\'e,fq`PS,Y"o@$je=#b?gu9;/r=qMt:mb%%G5$FjcsdUbn".i6X#Km]hZSOE(i at A:'C!]#YQVN-&c&_nu&jGD2gg2I,X>Af/QL5%8n)7XSCb0W0Z8*)+\&9B^bTmkJ.5_$RWeH_2p2XZM9 at ot$UX[_53q*&3VO&J)5%86Y$AZWkI at N:&FKcs%p6WMQCcUFbh8)(40P\*ZA"bb8R+Uti6J;Fdmlr'!#08-$\rUW.S*`0l$l7lOkfeCu3KUG37:dV;6?`SiLnX<n!4kq*4TfOBpT^m(\"nXUCddT at TZF=,%q),uW\\A[R"4E3]Qn:P;P2sUfK_uU5s2`jJtfm8j`_P0-RRuL2'@glpXN1mQJT-EqHY]=?4Y^:1$"B&ZEASTkKDdS:=NG[qkiHhiY7uX6Re5WhG;&S]OHL=\;B-\F8W6&_3=DhH3NbV#F];7UL+)*hY at q]h'U$@""^j(`qe],MJ;RBq^QtF<scN!-Japj9N?UVJ><g=gs\RDaGkGq,!_YHg5q[/?$QtD7Oo--g8SJKtBFH7:ieXAm!,]<3VO_=2:C,jI_(!EGC3:b-8O%N at VcEs3iRs;fu`m\L$KOn9:ZEq/;R97cpQB+03O$#I/1`g$QYQ=GYbdYjj[2(\]fJXL:PpABMO$+\J4Sm"Ddsjld]8>36m\Ar>kEqpnE4+,0ZZ3>mbtc]/Ye]ERO8`($8oE>X;g2g1^GaWe,."f<Z*X"^Ya?i2%8I6fN9J#r2iKGoom91+Os`\R'=pEQOgA/h`u^U<s$,"p=U^Ksck/%*3sYDJpf-S,B8":bJs5_!krpr44uPMaD:C7&(hPhHQK_IG&[@W\]@:&U2`1u#r9:g`-]8n7b at -u@A9iV6?&#s[;]5e"4UdB6qSXPPL-l/,L"L$5aSa]?LYMN6(@@R"?A<n+G]^6)SF=NJP[6=s^W9lnL6L`-nZBNPTB3?F\8$LUEQ74;&(dRT7AE8hase`F5)b<2_e;\1Wr/aMUVD at N9hgS$\LF(ih:9EQGof$TjN*3M0mi9'Hh;7*B_XM"3,n.tf,m:'pMB[[p%hS0kCZq^%2W]_E6<1X4H)h+#J.A0kOpYtT3`f4"ks8Wg2IK9F/SBsr*be4ce7Bq,]SL214R->\E*6Km3M;^8S1^,jb5M4kL$muHb\#!ZDs2A'bm;94ZWTnMuE=%!9!G)bJEiSMujhEeJoj\[m_?- at s8c*.C1268G+TV1+An"dq!66BOQ/uWk*6"Zr]hpdqsAYX6mH:4q,p%/mN/clgm6_*Vk"=D&P?A)R&GV[-;l5h5dH^[E8!6^<odeltSHSZbE8>O+q)a!Ngs^]Q]QTYaG>BGrFu<d3N?cpcWuA;ji)u%bdDTfKSgY^PE!j~>
 endstream
 endobj
 6 0 obj
@@ -45,7 +45,7 @@
 8 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 358.611 193.44 348.611 ]
+/Rect [ 144.0 336.111 193.44 326.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 9 0 R
@@ -55,7 +55,7 @@
 10 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 347.611 189.82 337.611 ]
+/Rect [ 144.0 325.111 189.82 315.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 11 0 R
@@ -65,7 +65,7 @@
 12 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 336.611 204.55 326.611 ]
+/Rect [ 144.0 314.111 204.55 304.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 13 0 R
@@ -75,7 +75,7 @@
 14 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 325.611 256.22 315.611 ]
+/Rect [ 144.0 303.111 256.22 293.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 15 0 R
@@ -85,7 +85,7 @@
 16 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 314.611 312.05 304.611 ]
+/Rect [ 144.0 292.111 312.05 282.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 17 0 R
@@ -95,7 +95,7 @@
 18 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 303.611 241.21 293.611 ]
+/Rect [ 144.0 281.111 241.21 271.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 19 0 R
@@ -105,7 +105,7 @@
 20 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 292.611 213.72 282.611 ]
+/Rect [ 144.0 270.111 213.72 260.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 21 0 R
@@ -115,7 +115,7 @@
 22 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 281.611 228.72 271.611 ]
+/Rect [ 144.0 259.111 228.72 249.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 23 0 R
@@ -125,7 +125,7 @@
 24 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 270.611 230.94 260.611 ]
+/Rect [ 144.0 248.111 230.94 238.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 25 0 R
@@ -135,7 +135,7 @@
 26 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 259.611 206.23 249.611 ]
+/Rect [ 144.0 237.111 206.23 227.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 27 0 R
@@ -145,7 +145,7 @@
 28 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 248.611 229.83 238.611 ]
+/Rect [ 144.0 226.111 229.83 216.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 29 0 R
@@ -155,7 +155,7 @@
 30 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 237.611 268.7 227.611 ]
+/Rect [ 144.0 215.111 268.7 205.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 31 0 R
@@ -165,7 +165,7 @@
 32 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 226.611 257.04 216.611 ]
+/Rect [ 144.0 204.111 257.04 194.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 33 0 R
@@ -175,7 +175,7 @@
 34 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 215.611 287.86 205.611 ]
+/Rect [ 144.0 193.111 287.86 183.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 35 0 R
@@ -185,7 +185,7 @@
 36 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 204.611 286.21 194.611 ]
+/Rect [ 144.0 182.111 286.21 172.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 37 0 R
@@ -195,7 +195,7 @@
 38 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 193.611 339.25 183.611 ]
+/Rect [ 144.0 171.111 339.25 161.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 39 0 R
@@ -205,7 +205,7 @@
 40 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 182.611 318.98 172.611 ]
+/Rect [ 144.0 160.111 318.98 150.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 41 0 R
@@ -215,7 +215,7 @@
 42 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 171.611 231.76 161.611 ]
+/Rect [ 144.0 149.111 231.76 139.111 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 43 0 R
@@ -223,10 +223,10 @@
 >>
 endobj
 44 0 obj
-<< /Length 2063 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1970 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat=,h/D%;%"HT1Tspj`W`^F0jM&$9$Y4%2%e+uLgE+Yg3PJ4R<9]Xcs8Al at AQ"PqX@%Mg5O+898+LnR\%VY.A)r=o5E-:o]>%NppK)pTK"o+U,lYqZ=-:7T2W"/krI0/rfsWO0gmYg#jo+F\ItI''03H%WfK=$[iYWM(Re^)+j3CG4pN.rnH*>+BnItBFFA+23Dj`.VFl06H/N@@oWqI]k*1KhJF_+9iceNqU3<OtiIGHYl[45S%%<HPt9kC9'+TF'A8lGBIW%-9gjg[1"'u=Lgah6rs5(B"V$>#JeAShr1#(g?3>IR(e;f:(8&#R\iC\<l0S=_S.]"$ZX5Gn;r#cscqb^$]nfY`#"KOd4cn$TD at K:V:$c>X3&.ZHUeo5^W!9K#<)CtMNq+un/UAlNHE9\G91]=PH[d4>?I-[$sg7Ql89[4;Dr8E#]>#Oqg=rg1oaN^J5ZT3Y>U^DC,a at s7OJb0.NGK7>$i:UF<-6Dr.4-WjI_N:V?T@!f0DmFSs!UT!d5-io#Z3LV7\:o6hWS8&"45ulYgj/>t#_6W_JGQ$t&Hr,ENK at 3m)-FfGG!^FNN`$,p)HVen.&MXmQ8I042hfesP#\UBWVC_Vi[d$a=AV;a5Zk^E[[)US.cnQ>g<QH?!<2KFWAHYDjUTZQ(NG]n7a2LZP at 0'F'Hu?*nJ8Nr5g+;iJBhfcUo)WQ%K/nn;eIKuaaj*^],)gqh>h:g/aXL"UjrKX"&HpUgBkM3U?KuEOgLG$#p),rijucF at m.h2[QX"$A_^ZBAmKe5Rkh=7s-8g!V]=JQo-(F%-)7d"k0_+;Y_;I4hou*L]Il:T41Vs<@U<"eU&Mh78]3'9U+(_akRC=g\\+q+S\:uS$J:##1FtoK,igfa(hP?'-5<OLj\Qt;4ooo1CBY\a&#]XZdUN<b#=ra-RWF<W=1g)["D,JB%GU at DR=XI3_?<;;Qq0N#<b*BB:JO[,1=`G/UcPSmFZ56=ap at mcXM9c.+0?^1cVOF,3KM"Kt;<GD$=6s0da:`;->nn^<kOpkUIj_"0PX^*?6tl at Bl31neDphXK6DHOu\pJE(NhEPKFtT\#\1s2@*qL#aP`@b]af7SnFNYN=:E.Co6l%?liM.0q.>9rkj`M*u-`"2^J`0ZHjlqMf#?/u/9F;P]C(t7Ggei:Ocj$7emHW!jqn7M;e#0ci:l#WAE=b+.#L1>IAVJ,I):;:XN/WkF=-,5oK&3L%N^c,tfJE)DVo+ai*j5P=Zk'KrQbfZY*n1bpCq[]#*jfK2]&ON#&5K$#q:JK!8])-l*(8U:<'o(@k86Ui%%]-KFo1]OG%#HZ31Ib_ZctkC?rb1^##DU[XRMWt[q?UggG5N$,Qp&Qa%4#q+1,/:'O=InA.\Z')aoaq3.MTq%[uT+N,X`!RVCuo&%]10L1 at bf,+:hQ6B!Z#S4<imP0I.>NnD4seb9S,je+HkA(5/JB6rJY1)19D3#3*)dOmYb*9YhlTa6a<EZ"ZCoYEmG-^8<2M?M),/J2TS,H'jsVJ[tA*qaF-Sg[un?@42Ucnf6m]W[)OaO2ma94Xuqbb\X<gE,6Ga;XJDALctDaJ3';T[e(.le3=7Fsj.%PKbf)>X&/72g at Zq[4p5-I'941?`giRj:*ETOet$H"+EGi:[Y6hch"CLdVKQ.02S_`""#5u/=:pR"c;GT?eg&lkIOXT>#u,An[0Uf7^+9',P^P52_6 at 1[T6dj5 at mCkkNnC=@,s8oq/M"^LcdFHnjI!K&Y)"q&V;^*#c*3H*_,du&i*\$@bP_6ZN]Z*db,D!?lYfXB1V at g0Y@NSi^:INq87_Hrk<NH?Ut\`p86=mc81s:%lWBfZ&p-68-_uHLg'bZ2`0eBVln1k_U_=""iA+=71F?*"IM;afXQiC137J9Q8]5AZCh/6%,T9Bhf[\rEA]uEr,9.eM=l8GIDbP+%\cbC\\1#D5'[q@#\N9[S/?4W4?NSE:QKWKWrL!3KQIPbCp1S3&&$8h1kq;*;p at Qp48)kFmB:uLHFKHiJe7(t9sB at XnCgVja')HO4[2'loKi=DZg,gc;WtG.goE0O%p at 7D, at GO-~>
+Gat=,=c_>r%"@)@iO:/L`pnKL/_:&.,f(7`!X7:ABPbqR$=B([4oTk at OWIA+4)'QU(?B+bQUm"&pP5fY2lRStIc)5A=+PRF'mbH1$b\5c1meN1+6MFRp&93T.bTmCC[Xt;`dSL&60,^g0&&(*cX!K=g*;q:et62rBUCjRZ5n?05Ff\bT:/_4"`%09AcElf^08^P=?A?TFKJcGeUf"b7J5C3b<,X-$:\'NQXH>\Y#;"_As:Kf[l:Q."b%M*F!R*3AN'##69g9!fQc."g"2G at I+`7q@&5U'r$"^?k@\d^C1kkf4S(@Gq.OJSaUa\R=EctaF!:u9NfqLs,%M0\b<%#]H])4C,>^$F,<;gtL22]H)KKDnY251JPZj\_eqmgMQE at Du&XI!2GcuSro%=1]VO6g=97Burk(cB>ITR<U_Zd*T?6R<!GG!14Na[=D4:DnhTujblSW=S.%2mBrKj@$j)PNc$9t=sUDe)5*(@uu3':?4pgi>8R9JdtsHgE+k=Y'S]VNL4U<"+-#;V85td%%r\Xj6![NqhME,!+"t90\oA1k+o'>"$rlgTG:gRa:t%=mj>_$I7F/7j+`9b?+Xi^hU:Bh;,1 at e9s4!-,?0#(UN<<bVZ?VB%f0pk^)=l/SElH;SC87e+(\+;"Ds;AQ2!c?t(%-IKlbX77mQ&B$*P59F0p:i7e-QS5phm_1WV!1Q>#4[8>'Q at NK56"R\7)dp;4j$:,H[&4!7)rI?Y68=RN#]qkrdkK at JH&pq<B3PBiP6X3e6%\U6Yr6W[p5Th/!enQ=_JMjif1pc6kYUL_+I;i=J%#q2>:D`NOOr+d=Y[c]gWC-oViQH)!;CLs;hDhq)GuRnlk89ZK>+-C0.HtfRmQ5LA[Kn^hXV3ei2*!;C1nA4A`m2C'q29lVD77t>J8P9p3`RP`$hQgfWHkO#_dki3GO?PeZMhFM?]pW-r6Hc`op.:b4a0TfB(JojgKl7A\h!I&P;]dG4)u'c,+fp1G+Abf*8<IB8t6#3LW<h<fJ+gMG"m9af/+RU8DHcPkN]/F:@0PBiu_ at JP`e?l\t.'&bNOGqpjk:9@;03NM#N?TrgTm$p+dM$I_u^P%5/m$1q@))C4_c00^u4\(&oq^D]FO]*l_U_8*gD)m[&3\jgri%%t+<C'HHGM:;^O("m[*`S*R?-Y7<a"KN[m:pcon;NuQIbi"T;!Y`G=$U*9AX=7qbP59a+u5nC`CDP"$`GSW/s_l-t at Va`^B(["scNcQ.uo at 29\RSG6Ip6L0q-d1$#"&']USCn"RS0H-k%RW!jF7!1,&.):5F(X4Tl\Zd(`'Y#\`qE%T.T5U)I/Ru]IAHmMQK_?JE+X1DM_os!T!]:[]#thKX?Mc$<D,PB&;MK<.P9r>ZAaTcL,fGt;[+lkrH>\r;ljeq11PAF>FXedJZ;>Z&l)EkXRIf\Ha:#=XgB)1-Z]&q+"bP*.A&V'C_X"L7PlNNX?lVp91%H1n=Yn]oa#3@,Ib&J[LZUmFMg?jPE<d\/1a1,)43pUJL'!U:k-5^fU2O7aeW0H30-qo at UJVU".\R_(kJpt5t[X9Qu^t[YHu=Ta@'0d/9)ao#T9=,6WZ[Q=kXMZ<o\djdkLDl=l>Da2sgp0db=<KQVs1c:5sYfk;k$^]N at cO.^D)43q]@B:%2`rBYI!)kcdh`L:nWGam!h[g7/>,c^&1/*9LC9rV/n?;UW_\>iXRc"`1qPj8u)8'H'Dq?7ZQ\j`KtH<>V9O at M`ZPm(VaoFUW4Y&A;KK>o#o*Rsd0gnWrK?R;#r`((7;dH8YnLcA1=o[9G:t<a.Y&L at 7IY_(GP_(D-Bt^-#/@,`r<3,*+QK*ghjUf0g0<',[`X_M8_Pl%i$4Y8B9;GIB2!SBeR,"O$R653oR^1?-dAl6#f['7TFEF>*4EBVooVn0Ia'=2/(T5?Q`5l'GhY<u.-0"78nd$4`D8_j1dLI/Igr\aBIoS`qLM5I,n?"VGl9*r~>
 endstream
 endobj
 45 0 obj
@@ -251,13 +251,12 @@
 55 0 R
 56 0 R
 57 0 R
-58 0 R
 ]
 endobj
 47 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 384.46 642.674 473.05 632.674 ]
+/Rect [ 384.46 600.674 473.05 590.674 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.xmlsoft.org/)
@@ -268,7 +267,7 @@
 48 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 253.694 631.674 331.744 621.674 ]
+/Rect [ 253.694 589.674 331.744 579.674 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-lib.html)
@@ -279,7 +278,7 @@
 49 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 293.348 179.0 283.348 ]
+/Rect [ 144.0 251.348 179.0 241.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLCHAR)
@@ -290,7 +289,7 @@
 50 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 352.782 249.348 469.722 239.348 ]
+/Rect [ 352.782 207.348 469.722 197.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.xmlsoft.org/encoding.html)
@@ -301,7 +300,7 @@
 51 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 264.0 238.348 282.88 228.348 ]
+/Rect [ 264.0 196.348 282.88 186.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.xmlsoft.org/encoding.html)
@@ -312,7 +311,7 @@
 52 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 217.348 176.22 207.348 ]
+/Rect [ 144.0 175.348 176.22 165.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLDOC)
@@ -323,7 +322,7 @@
 53 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 283.44 206.348 327.33 196.348 ]
+/Rect [ 283.44 164.348 327.33 154.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLDOCPTR)
@@ -334,7 +333,7 @@
 54 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 185.348 192.89 175.348 ]
+/Rect [ 144.0 143.348 192.89 133.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR)
@@ -345,7 +344,7 @@
 55 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 212.33 185.348 231.22 175.348 ]
+/Rect [ 212.33 143.348 231.22 133.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODE)
@@ -356,7 +355,7 @@
 56 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 174.348 165.66 164.348 ]
+/Rect [ 144.0 132.348 165.66 122.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODE)
@@ -367,7 +366,7 @@
 57 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 424.512 185.348 473.402 175.348 ]
+/Rect [ 424.512 143.348 473.402 133.348 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODEPTR)
@@ -376,40 +375,41 @@
 >>
 endobj
 58 0 obj
-<< /Type /Annot
-/Subtype /Link
-/Rect [ 249.81 88.022 414.8 78.022 ]
-/C [ 0 0 0 ]
-/Border [ 0 0 0 ]
-/A 31 0 R
-/H /I
->>
-endobj
-59 0 obj
-<< /Length 2226 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2255 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat$:fl#S'nD.HVnOr3mAgL;%MY82pOhu+eFFt at -qk-PdY@+KBTsWYn7K:%GSg.C\.PP7L7NB^%OSa'HpAJ2[>koH2<pS"u\%4Zm=!%;8.mFCA)5dL,UXa\"qWm-!LuZ\/hlHE'5a>Ir6P+JS8^d^ZQX0QY(EY\X\[m[3IfDjYM]_:/M"QR@&s+ZNCm,$=&I#DPi?]H4/Il4rhh[F<0mjXQ!FJ4q\iGL0\g>Gh+Vu_W>Li)KhppdLG'gbf*_K"7c(Fb=j?XL1`lW0]Oq*=moBH)iD7juVIl0I6,OEft5Y8%O^"J=Dkr-!eD-&J9?CZY_%m/?amZ</J@,K_4FDuRT$J)YT6X;nh,fFP at mL1p]mo,BI`Eoe:+I_gaD**fA9RGp:e#&/RO9EkY_.chX$4*gqf7QM at B&,u&]/MV59d<rKaSesUP)*;0kQ7.``R+QN#tODJmIVe68Y"!aSaH.,iulBR%"-<X;&GJG\,#l$0F!7MR:\iR6]sm9*?PFsnZq8:#Kou2oAK`q,Dr1W6'L1f;=+#)hH)r7M>guB"l?WB+?WtIF6&_WYU@`NNf-C]iG&%>=[XH``]`FISE*6+DTa#='YLtDh]DMoI_kh&YtIL\%#'q.HeONh)Nd#U-J+#E7$?oDlbb\+)-u6J#X?u07lCVXh(<qF&B?#If;told9@`LO<HKckMQFhnCP<od'9V:d:TbN]CdC5TL3Pke?JHo=eMf3 at U52H\fq3OCRXpTF19Y-THU,?6JV8a4BL6O!iApn:q*Q1#??afF&CqLPZ>pci/nhH_]5^pMnbV/6WG2uH5n8024 at CC=tb>OHb$qD[%D14M.Sk_5tpc_bDLWX0FXp\7^$%9cj(:4(.+Wi)JdPODp^;<Prc"((uc+q2JugFSHV1R`O+_>hl9XWs$6G+`AETuj5\6p([S;>#H<kFD at Hc.%mH]NLGH2[IS7IN at k[I3JVFJ&P$#hR_`RQl^I\cG+L.X8[HUs^4_^77mrl?`0`.%%p,1PH$`dUsGb\<WI-TKj)b3983#]`-Wnh"N4[[8+_&RSD$T@!/EgtS"&"Q1k.<l.u6s>`dIs&$IV+Ul>^;"hVgB!@?PR\qjk<gOtlS'Y>>>3$?6UW7a'r2j$f2A'<BrOBG/%&DV7c=N+`"3E3UhLh at C&R`T7=3#CP92#9mafaR]=^Jni%s&QI9dRC?SnXE,r+j<Njd3"5Chm,'`l]4(""K#ZReaN,EGs69N;4b#%J64):/VZDO=>C7ZMF9I4`aAYf5[YNphKcOfPd>5!^Slq^k?eVs]:tSW$>]:lG`"BNSWGEq/?ii.M=^>&@55_qj&C<e23\<"a^F6QG`i$cK&[H9&(9'XD(AM4]#fHq9"TW-0%SiUS;D_8X0%o2`&;@,\h*TaE^q)dKsGE'[P4U<H1j\@BbjV#eP*eqo8Ib`+>([BU25'PK%l/i?9I%F]m(oX(E]_K=.]+_d;#@iHJ$V_Zag9g^A at K+2\a/u3I0G7:LYbg2JFdU]"]GZm[4nP08mi+!$g2>J\oaBOqF$9U)Q2Y3/bP[2emfL8*G/pcCj!SB"3UB5[LX/PHpBO?6V+:cn&QJjh;F$pSXK8MW)?2a:'igUU178>qOo*L2YZ\&<,Wk<MhV/Xa*$&u3jZ<h2dr^UBR8/tnCP([A&#8cG/IE<QT?U7 at WjErN"kjajecq+Eqf*58i"Vg)qK2C]-lb%4Qk!W+'Wd3Oq")H<#,+!FrQ5P\o6c.4E6do%2L2Ebcls$$R7/,e%N;CoR<-"ATcqt7d)B*Ek2\-AISDWX85TdlIEKEj:]f)(>JkQ at dIdA!jTWRF*CY(#;+hEW`IIEE:87Qp,3PT3f8%@BF3u%)p)V'mBH5t%'Tg^fu at o_q/LJ_QP#%2]BgT<j,iCC&90;eB7RFOY`n!"IMH!Xm^IL(!7_:l1)+`D6,k5B=Z+2^!)&JiG;IV<<'`a&,h\.%aF9A9\&)5@*IMqbZOjjSqidSUjN%T3\#Q`,IOF50O\AHoo)Rr5!l3</-*AL%Tem,^n.CaGcO]t>N)i79^tk_>G]-;YN^,bTe]jkJdr5[il9$,57ej\npC&s#dMbrc^H`mOcc%M?pu`l^5#q;t`.V-m$t/&?gMfE=\#AE)]]<YRr@"BO`OD"J57Cr&4"S+YHIoui;Q_^+k_G,7L>p0]3!C30+'fus&am=R);R3)Hp'BsgbDdVf?36a)d$(YU>=X4QO/%EfWqL%Q<qB'tt2fe~>
+Gat$:CN%rcn9]V<QS2'gK[]h'@0>)f)7lYMf=BOaGonl2NeL#u91a,^@K1brQZuE0=@IajGN?FZ4NajnBA_M>$dU!$+"`eJ1M:]Ojt7YKEu/OYS42f>`:;<qZ<I0KnKHpe;;]&l>^:<_db'E9`C7D86c>iM!V?%pq(j]8(TmjVJ@/hO"p#j at 3$Cj)4QYlBcgm<Nib'B/5Bd:/NQ&-54A:jf=bS!,R3a#Wf*JTRTcu\0l0>o5=D]d<<gK'fgm)0?*AK<5MQQE5F2eA\-ldAlDeXY2P))Q_FCg:=YVlC1Jj8[HZsFQ0(3=oWHTui9I37GdGXDqCJYOOK?u:@dLHX[5Mg4i\<BCn%2g?8!e.X`d0aTup at HBpT:Qdo8n=5RcacPSg.UTO[6S"CX*%?6Zo'^/rG%2.R<cC/g0I?h:n%g.Laa(p>8.JRsJY8>L4/XA88AID>np at tONC8KI)bAGC3$m"!ol?'^:h?4-6L<"E#a5rAX2ShL+&_V,VqYEtn>0Fj43E%+&Ekf?Li<4)g$teS2lhk6>sg2KSjV/BMUnok;DSIBKIbUhDRqs.9s]Bp3=r"*W]mmU)T`L'&is2[VesK?nNlQW+<cjRc[RbKm3O#Hrq9t!)j<OY9k=<LjX8c2A?:2X;W/Z7O*OmdUr7>U<rNN00Zc!VL,t@#i,n=<1aRT)'mj-Og;BTCAL]eYbTKJKOP&R+iKSr#7d_/A`$pPU)$pjB.>ahq#nVnFM-</`g=6:gTrZ"uhcl[R46cF=+%4pl%V!9>VB)JSoeo1rq&7<6]P/6JJ0/D,$3%QY<05[,$Bu^Ae]k+F4_O=l2g^<#2LmSAW:Dg?r!I#$;1'RT^-d;:$PNM0SfjJc!"cQZR?[dCCA/snB&hh'4#.+2d?roNc-)'@gK;cN$J7'="QakeCFunHn=1U3USH&9&$/,lqM)"Y'4*H3g)qD<)kXPS;]okLL`JWqWMRlE%3`n0 at O6tXU$U;4<#MC&G$?d=.VcSME<\3sIPJl.7[CM!ZS1#ahHq'0`Oa78ENU_Er5@;9oP[b`k;X'n*oo_28P_AZ;d>63&TeE_^UH_:)bSM4b*=#7>H"2PAtLr:%D#t"<i$81Lpn>8/uEm0<IT5KH#@/0.Z8eLOJaiQkIcZCd at BClY%S"CPLXh>)SGaq+.A4rZ_<:#;WB`mk28O`#XYBYHe(CXl;7[=Zmnf>CFp_Qk&EE2=-\/)BUG5CgE:$^ea!Vce4,h-eulDr1h9jd6+g2s43i!`Z.X^b9(aAqnjcQ@#)-c0&?Xo*d_B%7i[ujL\pI$,cZci6BNbt0l'I+Bi.ml?R'^Z`)<2DCRJKmENilV[D6AmL%9&fp=rSnhn:Er+E!o"Oe/%nf]X^Y]=[(V],=KW>)Qr9^.hEfHP<SEW,+$9C0l,GT1]=I5Z6l+1a1WLdH(gB]+`<aGa^PsF*\GPL_<-L:&OR;[L9<@,alRZ*E2[f(>[P0--L4i9JHYLN4q+nC%k"+67D6+u7]g3=L*SSkBV;5s=(V;;;%S<aarB_G9uH>/O/rCA\tC;K[g]Og43!D]U)&(IYu4,t5,Q"4p=_kW]Kf37`!Q/i=UI(]S\AY3NrUr9n?lPpei&m6CoL!F`f1+bJ$84s'f0tU@=jQIjTU("RUJle at h7c`d.fuADeA4tVEWS[5H-"W0_a^lq5DI(Z2_DWJIGhSjqc(nY"rdP.V*G7.LOF'<ouse'+^QLS2Lrk]TjoHkQp`WNI2)SZUP\4!r(3Ibo!9"jV>0]?;ZgSME\L<!;;;eW73tNPS\OJFABIZL^!I0A]X&Um,5l9DM1rF-+I/MI1:QNW$l+\1L4_)/6h=R]Z<\a=T!/]n6siV>iN<YTOsdC>LcOJ+n?Na8g7&Y at WgLo39FL'PQ9aFr<B9Pgi,+VjWCnUC:g?D-\Wu6#?F%8"u58.Cq,\GE/#2BMY=Zn/Y:2=as\XC7R;)2NAh,3DJTY?^hIJcVHjW?%]U>##"lo'oaIMH0MX/E.nHkg4Ja0!6:N$p!WhL5inlikLtQKUXVR8#9Lh=1YEJL(oo\t'U@@iK;.<GO at n;Kg/>=#g<Q.HZ7SRqBJ<<]6Zkf?j*k>=V3+>Aj=?H/_SNohk*67B;HjI&#_:l42+^]%"B)M<=5DK%T79CZ_=P(W3NMU6`#oPccelH<4)5@*IX4oI:AR5OYQ=li?mjlg"1":[Y00-:\@)_A>F8"AAX!RU?Ocn3'i?Sh%Z1?T8k[CjJ%Hk6[#]Abe7DpY5@:0R%J)<$X+,\`)9`~>
 endstream
 endobj
-60 0 obj
+59 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 59 0 R
-/Annots 61 0 R
+/Contents 58 0 R
+/Annots 60 0 R
 >>
 endobj
-61 0 obj
+60 0 obj
 [
+61 0 R
 62 0 R
 ]
 endobj
+61 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 249.81 674.674 414.8 664.674 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 31 0 R
+/H /I
+>>
+endobj
 62 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 361.83 277.506 395.71 267.506 ]
+/Rect [ 361.83 222.18 395.71 212.18 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.w3.org/TR/REC-xml#charencoding)
@@ -418,10 +418,10 @@
 >>
 endobj
 63 0 obj
-<< /Length 2423 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2246 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau0ED/\/e&H88.i<C-b$jitYM(:KWm@'_9<ckI%%@HlUOm,u+/U<LaV\o-bGN=nG;3BBC_r*2\'7$eBh*_%Xr8d)WTD9Q"B(OQ02nM6CB-.!K=V+/:l3Am5BCkNWpTnm_5.aKNaZ`qEn&bNOo=f!tm;?oEm$l2eX*cEMka\BMg<MH]rl]H@=N3:Xo@(.KRnmV'W_XGoo(VnSm#Tit-Yl5<8NXS8AMMoDbF;PFQcl>1AR,l'@*dj1fhdoR.H(<f*(Bf^R,PqAR$!+S89"h>Z;SGY'S+*\^)JQL,*J$V^8p>ZPoo[mm\`R;S0!@-fBt5B,jACK%i6M5@)7mj`]++5ZIrBi(7&'f9hW28lZ0>=A5t;)gj7L$jU[R[BuK!^F4 at 52*&TO&0FV#:X6mH-EnOW2=-lp20k!]l7k=t]^m$O4@=`3OdR(>'a$L'dC;1K`2p=$h!D\E4f[R;cq_EuXr]%"&@Vn]uTcTtV9o+conV2T"iflT8ds+(42!O0^%9YC*TEe%>Q#>l5B;r0M:#63I]j!GgrcV!R_ at kQ-B>+_OVXfI8<h$<*Q0$)XB?&[&$cfWdZFV'9J'>U_TiEZTC7ISM4jT$OCaE=UO`*-el1.C@@IBIB\j/5)@"cN:&;JH+1M\E%:i8/nbNc+NbA'HCR+!MQSNa_#T+6"MCes/QKri<;?J$u%?5%`4%0Jr:/G6T\j*du6Y:4lB[$:+clF<\FY&T+1obImVg"$m8[',A1EG(H9GGZnVC?jaS=i01:=jhMeWCd:nJ$=mbj7[f\*6a-W9mUDm45At(YpLj3,_oH=Z"#.e#!og[iF)jp/oWA<^$_hS;)2CrVS]9h7i\<U$ZYm\\m,`OK9Q4tnT:es63;V7Mmj^@P&;M!$#cK_3&=NT[cF[Q at gA!<`WDXl!H<R;s(nu-U("gI+WkF!,9>'f)71p*@^>YWPH^3AruPZDR^"gl.G)V"+Y04XCkRGCW-(mlH#GlO?VcA7nE%KE@(.EGrsA%6C!s6RTfl>JMDLRo-<-s''rleb:luKcGVj>b.peQZ#E\2`W`p^XnNh'7B7C%`-M!s#;9$++ZQQb^/c+K)X^1s,]3&%16m,/`.Pg)/j8B"gC4o\/R3/B#5pV&$$J.a2BAn?X[?8L4llT)f8>I;Ic4Ybd7(7*7#Ei&'#rBlT!=YS#4(6(ll1mG.V at 0!Q at Ws]^N)\nCd2f:>)EaM;Y/.Fk-$XkA7LR*YL]47*AAND6BC&3hEN'+X8EDf'7r_u%K=e4jP_OARF-#ZWe4;7I$V.=R&=S0K9,!,kH9(d\BF^a-(_9V"'p$AS#P#4NTI]M$[%1;s*c9.:Pt_(#Ogd_T?`P63;(/%pUSKdgbpZ`a.jcJDBPZ%la/cLL>"U"l,^Sc-91S,R>ZN-RPuZSD.SZ3[nHsr&"JHII1Wt(l`_fqGrM`Sdf\QnA$$_D:&YVEeQiS3,p at Iq\SL4[D"ijLZ%V&\)FXSD_6rm(&A=I8//X]/JRM1W*?@PJX$[C0JLNaEq_hn$p.?XbWBkofM'<'MK%4"n9e]kCa7:G,A0\2Da^nCEu"LICV`(2<&9dr7=;p51&4U;@!96qj-k=8CNmg5;qN,%>aBK(I"I$cn!a'/,rc2N9I$Yt@)Jnm.!W!!uJo/frrW9qVK1Bo!3H8U3kV at L>QWAsM"H\4#[;I1d8jar_r]X_&2%J5N5=iKTo""@r6mV28JkC2L7;XZ\Oohm2Y6e>o(%fkHS4@*?2eD8UYe16+RJ@&YQ656ua.`WbBBKu#RGM/>NL;4$BR(+p06<4p!0d@),gs9NM_HVtrZ%m$[='d.UWcI$i+'U$JSqqYqP*So:T%kBX]M&PV!)W"YXt#D6VnrG#aCMMIo`0V[e8i/9D"]%Md(81$&SYM<Hp<Nl?pNP'((ie9[E=Dk0S7IH2Xf3L95,[D4'QJ+pQ[2`:4uJWi\PJT at P=uF:$k!lSGb-QBb]MMF`,(;B:pY[/k[`cL4a=Ta+o%P?:OQWg]^7$-c#^;L2]PDC#`AId77D!Ej!qc8miNJ<G_A%\Q)/hZ4FRYGHK]iG'.:9CjI(u$*;:<:`W5j9qF0jmWSZ'=pRc:RHP*?8V>B[<cm`=C]tQ1(i5M,;E3!c3>&cJLb[7`fY>,77Calsat"A:ABUKBafE+$<R[2S=g!s+MOjXu at gNed9g4((RN)o;EUe`R%G@]5cuj]9D7I.I)G8DN[<*qi"u(m_4QA%42f%cADF<KPUiSKogke7>j3MkpqhSu&7!(O%cs(jPCs2o%qOI0$F=0`9QXS,Mp\B!A)),t3`56(+##d3<6fIYX=u15d,]P#5I8QE:e)4T"gHSFPATF-:0YNpIr.Y0<WAp_nL1BF5E\&:q)_kQfr,V@;:*(T>j*hCmTrb0SMPjf[p&:EK],G.+6q7;tB3I_2QekjbZ:N0"XIt%Dq(R]e~>
+Gau0ED/\/e&H88.i<C-b$k=YJU0^l:5hi\6LTK]C(E5'sK.>?T<a3]l3GC26^[LqAnL2SLMfnM*hMM!D]ArE)rH*&Qoa<LL!=<@roiWu\3MWn\IWS&s&=>1`KZ:@;DYDi(6aa\!>qr$"?Y%npAuc0WfOT1=I4j at Nj)4aBQ+q3Pa3(aU<j"&f^X!Z[Jd6#Y6"cab.1sc[^T-j25TC&K"q4i].p#4]H<%(2c(U4R_RQL.hq&MOKjcYL+T6C#*mCN2"%Eu'OpEjlaeEIc,75Sd&l1i at F;4t*8`.*&n?9QY<Bo4PgJogu=M9*0JhmubC"bW^TAU-@\-HNlq69M)H\C1$p$V[&H0OP-XJ*?F6H+rf7$8MF`>U75?9EhY]l!(_GIo\i/[M"<HcE+lBcTPG,=DHX[CeV?g8]TMb&qj@]MuWJ5E\G1&OIerN8A/h,Mst*C^V_8mKJ)cq079YS<8mO<IYNkfG$UH7-P$2/`k#rBZ-nV(eM5UA3B+&a,>`c&W]oL@>WG])@66`<K&s5Q-:l7NHE+MW#P@\=-`!j&dm&aeU"5O`$#^hC=qnF:1OojT`fAdSp2k(NMCBlU29!+^2O[ILjt",4;K't]:uDMX4a`h6<W]"Z>>;!2H^Tuf2u+>EkCXSYS$Jd,P;E2f]]etge+?UA!d^F52EY at d6K^eU5Ao`BTU$H"J%tJ);S?DXeUbSelaNNpNBJ:qjS%,84V;iGk6&C/X=k"Ec0X*j/C,d`ch#rca=9PGr$LkQM(\i=)+LfKG,7,5mV3ukqfp2#4k[g+o[g^=T[UHJ0EXb!&7_2]id]cpVh;;n>n+oX=-TgO"HeIrM%V&aG9Ym?8^oG at Nk%=e4V_YOgd_#ac6BF,E@*'](*M^fsd4%&6;Ho*r<CAS$r$Tk1'q[FO=&61:/_+X7=.3EPImLW62*!:QpTja:mf6TW(\^WnnO:DS*SeHQ0:\>8-JYbRJc!Rr?YK0 at 8i]-$F+&X!">e:>m3Q243PU53n6(SnKNAVS]:$7i93u=TieI'rtbdbTmc6Skbif(hQsKIh3RO-bUDoE'B:EbR#3YQp`RO"5j0%IfboC=\KHS'!Pks:fn&tHtHb&d[6ii,[f4aK-WW*YbPsnK`Suho`#&;[P_2iGNd@@W-FaZ(iMbV#?.=*)?XIU0Kbd_>Dh$$dfO'+X8CHRDEPulqFjCEAYaJV#F*BC4U[/%os/M]h`1EbRcUh;7g`\I;3`m.H.m1e(U]LN,P.<5>*P+>9]9/-&eb4'>g($<V#6%280N-$;\F2>8 at JE,4OBmN$\u[*!=YS#46d`GNnr*CJK6<2jMm^m*B$8jq*qg5qR$LQ?#-q-foc\)T7G<kHt:\JFW1Wl(EY\f at dI@d!1T[fpXPh)48ReM.ii2p*WFh=]+Hi6Q-J)?CE\@B(t<+'K=H4jff3Z"jRk%QB;n!2)rJgl]`Yj!e]=VQ/'Pn$F,;d7o/t>;Uo<`^Vdra4PYor"Nb/t3r*ki*!SV^2ZK$)$+&4 at u&XOYemi9M?Aj3AuPS3;^gfV$47i(4oA-`?*'oFB!ogXt:2?o<-;^ckYV(R@!(pI\H^S+=*bkTe^Y31&$6j,=d7p.ffdV;nY"lp3Yb0UujM)F"[M+DKmK+2Ot^LO>)]O.5?Rm8?]gr^%Z;IDLZji1m;=uketLoR=IZQpk at B:]K at 8(&(g$k?8KB7>E%K_AXend`36oJc5)8Do0cObfGJL;Md\*+:U;M%e5gK8VjQ4PaL;o]49r5f;Bfcs=I>R;I(u3bPc0]'j%aO$dLm"A4"se*j%-VW,kPmgToCI:i7pJ_F((hrse=HpsIi at ee1K[Br0lq!dSBrQ(8#g:+6N`R*\#939.tKt9rlACg=OC8VEc8jEVQ3f0aicZH-[4CpkX"l'pke7rA*TO?jHJ.#MFgW'`J!2Rk=a"k+ at 9:I`]'"7BMU;8/]l\"3aNSo%"bgW5lGYe)r0/(d?@=ZrXohAR73#)Y-6q.8-I0Of'7Z4lVE7sDnnK9Q&.&8FpPttORU@,_l?"4F2!]:RGLkj at 1?YAcGB5*9[IcG_`i]cg7[hiI_1SBC/McQI<ZY?H)bWdI0Ti#K6oX<^%-"&*)XU<O:3fZ38c1jKWFq5hkUF?73\/2s[Z\dUrVX>/-<foOm at N3V#IRmn-;3^m"^J^>s=8 at 5`p8 at _-a=IcI$)hi$<f\`<S?:+d5'sk+%im*8;?8S;rnie&m^:'3Ha/>FI$&9dD8<i;:Rd/=i!W:HX$:]`rW*tq3d1~>
 endstream
 endobj
 64 0 obj
@@ -437,13 +437,12 @@
 [
 66 0 R
 67 0 R
-68 0 R
 ]
 endobj
 66 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 186.56 574.98 240.56 564.98 ]
+/Rect [ 186.56 514.4 240.56 504.4 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-parser.html#XMLSTRCMP)
@@ -454,7 +453,7 @@
 67 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 262.18 290.36 382.18 280.36 ]
+/Rect [ 262.18 229.78 382.18 219.78 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNODELISTGETSTRING)
@@ -463,42 +462,43 @@
 >>
 endobj
 68 0 obj
-<< /Type /Annot
-/Subtype /Link
-/Rect [ 363.98 122.574 381.19 112.574 ]
-/C [ 0 0 0 ]
-/Border [ 0 0 0 ]
-/A << /URI (http://xmlsoft.org/html/libxml-xpath.html)
-/S /URI >>
-/H /I
->>
-endobj
-69 0 obj
-<< /Length 2247 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2448 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat=-D/\/e&H88. at 14""XGJ9]H>V78D458]Juh=FCd?eeZ:r;D(!2`>-J>X'5/)nE=gHj,5eoJPm[bZl:.P0Rr8bo!Ckd>`T?Yt8rp9=]c$]MGAge'J1I6SIP1fbNp at 67;np"M#X4,b"g&+o((\Mg^9U^9i,=>(D7k3)9]i;j+&#A381L_tpE3-uqC. at pM;%dm8q*sAol0KB[Lmrn"m`NsU/(tbEgX<[=]R"G8J%j+Z`fd^:j!AuPX-KO7L010%l7ElTaYlu=W\-?;#G,L4eW'9?i)(1kO&gqqZkSCL8GN3QHD&<CJVgNUB9m9=Z%R_1$0/$g\0V;adirFFF!T'Nif[.MMuO"5Q.fQHUo7A1_HJp2D,UFt4QL_@'!-eN3O at aIgF]C*oYGS)SFs,un&,8;68&[OL_nO5#((<':eer5aRuIPeN^<3!ObWb['[F+G!_c/fUC?$6b[ZL+g'k5KJ>ukgY-XRg$usc.@"2g'dF4t/m;D0T0&-K]C!%SFO\LL(it:)pJ1 at kJJ0[O8%@ZJ9e%T`ZDn5%+GqRnJ7c52XOMTgm at GcdBnBe1N,eddCL1<K,h"+W`a5*fY*O33($FVKqoCB'.3T<^b^?["F6T&=KF3u"L=6^b2-"E03LDY5Ip;n@$MKK;B6N]l6]6pMBiUDRM?$'R)Wib`#uPY2]SQ?!mmU5,AL?A]VRL=]#=fI6Hf!VN_a9b>>u?u7#oXd`n+%$i'#C!&7U"l=0SriA)#Mb\67 at .Y(K,fmnoB%g.DF_LPCr*A*k'kniq/ia0aag$#JU/r/:ok<lQjN>\fuc#FAV8\Im39[f,c3dHY&H2c0re]`u\#E848U5,WY4J, at XSO>CPPtYf(`Qm^8etE<_?M at rS9Y(M>n6`'4;>'N#gR(RA87Gf5Eu5MJ2Sj5;8uQeHs\ck15j#[K+MG4Ash:Y=FqnnuVl(YY/GQTE2JlG]`^;PQ)TKpaXg^!+F8[\4GrMSHd&LQSiD<8Uj!#!.",JPa+BU-;`MRh+-&j.R?Fa9t[Dr&_Uq,7eF>ke1^:l,."DcNadY?JY,SZt!QO(-7s0Rm^$FNqJ>#:u[?j/SI355o!XeU<FRlW&r?kI*EV!01u at Mg1cM&mpJg!@tYJ5/';O3d_CPHh.0Ih..rbAe^>i>V!0#AI(:b=gcWU"."biX/>)PI9"YeMaoDA`9u@<:#8T?/$VFZ?8F^s,Q3u(1/eA8E<MK>E+Qg)Kp\d at CX^SI>ZRQj6b2k5t?()4fJqaDI`OY/2FsV[.];5;[!f"A.!4m(lJ;S(AYi^ab54NAD:i&(C<kK*\e$k<Xm&+16ob4Wo%Vo6*M/#^%BlZ\YjJJoggC7\D=lkPgFC2&)!mEpqNk at F'f!??A:U=ieX\MaS at D%N:IUkU-G7/[R94C^g'Oab=[4L'&C;tg@:UmOV2*'35NC?!*Or\ho)ZPHB0u%1$Jhhk\[U]-4)?]GG;36Kal;Ym[/4Pc48alKA,5u:u<?-IS#l(4u"d(<I,$UP5'n at FQ8JBDJ?*R at 4CSF^n9hjjpe9^1!5T>-$Y;qenP[]0M]3>p;#uWd`9;6lC!V^?u9]/l%Sa2F+XnN!"bV*\P!!IN;AoBO%GXlFe$L[\hC`!54RjNV)pMOr$faBk%pU;",JtD/K]pD.",IKLZG.:Z`U;4sHZ2S7==`d']X$hHdTeH?,QDSj#P9&rF;)OIp%:&r*WSD5_*c^u^\DM`nes]:MLE_/pNVDS0rOo'[qjF\_N0f7Q`Sfb<pqi*U,Q2``;VpPL\S=Y]'S,:YWm;,.5<(dlPr6-c<l+O4ka$ch]jt#ZJ3=<uWb?>fdmA at Z&XMl$:A;E!76q6gh=a]/X<XF^OE``"I;. at 8Ec2[-cCkragA2K9S)lrUK-1Y0d7moL>&0Tn>^c,D^s!W00?m?oGYF*uZ at b)7\Kc*%JT1OY/Jl/5fYt`D?[pAF>:M%g2<:8#UT^Plr>7&gZA]gOQ_FaGLOT"ri(-O'eUN$<^k'hufLI2?2WHTRP!Lr`h<Nt.I3a-u+S^]#IDgIFj at XBtM3eN>qR'F'pL)!Gg*@hc_`W'U5qlT#3b-:S]GO:6n%c)j]?E^<hm;FsCsAAZ/]gc*-p?ZD8ag>T4+[2:-[;:]jH`^)Qoa"Z at 6a:d/#;bO`]Qop!4LcjKhac`JM8i6F#cJ\U4.8`5<";UpCZqkcS=od6Y>YJhbRS)6$:Jc$q5PTgAf699p`LZ>6FJWebo,ENn]@W&+;H>A=O`M0@]hCX6;bTD/;'~>
+Gat<BCN&8jn9]Z($43\cSr*'anW8d+KgVbYLcp=-nfc8(]7Fe(QT3S4`.)D>^W'uNY0_Xf9KZ+sN+]f\Y0XhlN`OXShJ0_co2^'JFQL?"Y%SXR1@]`YPL]N6qYe(mO2n-Z(TS>Q&1"=J?.2uMn!F9ISR)9h0'@QhZA2r5\uol7c6 at ODf.H$"aZ^nd*TPs4n%.1-b\!IloaWu8OPh*54L,b>X$9YN+%PJ5))^OljfW,u+S$c9T(A[.3GZg.=O_J#<>O:H7=S]&cT)hTd=]/Jc1fE`g+`q^p$ReCb0I0aX9GV48Z&mj4JT=WFuC1C<R#r)iK!#:YqPE)MrOWBl0g<c?##QS7\=tg\j(8kT=OC9Pg>=Z'ad&aEstoX%'i'X,=8^f93::pC)9og[0ZJf+-+kWH-<u>0'[nm7Cm-U>l+aLEu.5n6<NKQ,s at 0`k!7M.=;`haR#&&a9j_.<-<Whk$WH)k^Y%Rpdr#UhoTU[s8`\7&M?sAG@]0pt4JI^]+it6$%:VnPdr;`@7oDSanMJ38EW-ORn`N!%4pp#0?-s1:_;]".bI*1C#n at iIf!k"NWOEY/ITA^81e0IKP4(+AI>Gh9Y/L^Y!BO<s6(K\FD&L[C$7.7KrfX#e:a7VFe1jo2Q7 at MZSO+'WKh;oQT%2#d:'K^YKiD`#fsoh1gj*(]L'6*3lZct5[X><Hmk.<c`(shcJ at LG&=2ie_8r\4;V6ubO[1N,2eE&pT,q(EYbPP%8_iX^?Y[S@"Z4DB:%Rj-$i%j:%7=V]1]XI-]6T$QE/TUc?j%W_c^pt[.EQ(t>%f7D'VMp&d2+Etg#SN<[44`De<!B3'O[*=he6e]mcIpnb:e26<]?4g)Y<M+!("-XljMI:[=m0nZolW!;4%,a0fd9T`,]&in_HZ?B0Eh^tl7Q*SkUlXSBKQtQ7j#.q5Mc=\$N?'pQhK24^)ZPE"dX:.p%%NL(lebeN*&=ZS1,udfNOt%;P!<=l.o+R_$L:^Si9f`-o+Z2_DEGC*?CD"H*""k8Ks<eMWBff6/05ofGimi"JbFS at UPjk:eiYq"<1\9F7f:7LEd)]>l8(gVW"&f;/C0 at N??3!7V3o??'8&33a/QAs)Qh4#Y[INpQ]=lcL3:$A'#?CoI.#2,UZ]G8SkCVa^7+N*q['QpWCjB3.oJp.=0C/`0o"'nP7F=P=Pp0Wo[7`L_t.0QVS+N1j(r0(cEKLH at i_qUtfgg]-*Jj at JiiDFZAs4NABV72_)m7lck-C;U*`&KpX!@8N)Til]s7C,FY%.BgeO>K^)N![Um]LY>9&)EF<WAod@(.P(`Um3<i@;/G[Qf[r7Vh3L$6\!&Lp[r0lp7i\ADpflj;G\4:[VbDIcf&YeO;(&p"Df)E*eW9Ki(d>o7fPNR),'Q<9"Q[)U14`7fBj2RuG8J7AJ8\\EUIN1VlE2g44VcX6WG;bkEZW:Om=/(':s&[4Q>$g-c7A!Wh;nUtni\/\Wpdct?R*)+1eYYlFf.o6OG at 63'I7/02kX'pG&@H1]ju\nT,eg=V<b9!@T`GI*RW<'&e]ka0U5'f7&].7+PV^3mfC\`Z\mko1gO3ip77(;O4O5*Am.b$V?Y*)r0,YOPqrknEbS2p1#V.YQ0C-p&jt8'/",'JQXas3YK36VJ"WPhP8NS,e&UW^AC7#nLqT1&Q;A'(]`jRW8,V0m<\JC5c3G7QNIK.Y"oMsV>!#;"2.*rb]h4^0dck22HQ7jY4YFIj(`#bd;?9cZ8`PWZPN0-\j8u`$dWHAtfHX;DNVX?aVkGPK(\MeFW8VRUe6r0oR?^Y3C-US'%*,4'Xol)QZ.6hiMOH/UJXW at or4nUJ8#`r>KbMr=V'Hb=+l:3IpI1[F:Q8MR6D_9n[2+Ws*CB`4.0NO8B6H*Rs">%I7+pp-l,<nJ_p4lk,/n=fQW?6c>)ZY34E39q at l]IV<Q3&RkJMJ)l!G:1>7M?Kj1"#+b]gpRV%%qatk)\!BNJ=Q(V*g<,Qp+MrS_l%0[)!EUc,Ilh)dAaW,Yk3tZ.[.J+d"E+Ah#=Gp:dnQBpW2[V<W,5_gBklrL\R'\6=G2$u-Ipg6>>iC%LV"&sIFdF+e5Whj,;_T(-/IP_H`oBZP:3JKt$)r8YaT_rOs$gQpBA!SU<3RVE0e/;qN-\^KoBAajC]>'%VZD40K)Vo1qk<K%9SGp;A"-mcU!>lK/c=edgY6chpU]L/C8:mr"H3qTFBi*mGorIE6OE4MAM=j1nN$]#US0'U*L[[i].Z!O;P+iX'l'eb9'<HsDG:h;$N1?tRL%eN9kq>A%t4G/D0Fe.c@?W8]uN7[HPWM\hHKo,@]Pd(l_oIP%.r;#R_'?lqV0&Hucn:)5f=%HZaVnY2b7^Z at mWnQI5p"9TGYGD(T1)-q_iZT15JQ9lo]<e-U^0RKrK=6D%Yg`TZn[?)a>dHcJ4`=^PX/9IH+UOH',T5Mb(^1WRa>3T&E\d:i~>
 endstream
 endobj
-70 0 obj
+69 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 69 0 R
-/Annots 71 0 R
+/Contents 68 0 R
+/Annots 70 0 R
 >>
 endobj
-71 0 obj
+70 0 obj
 [
+71 0 R
 72 0 R
 73 0 R
 ]
 endobj
+71 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 363.98 698.0 381.19 688.0 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://xmlsoft.org/html/libxml-xpath.html)
+/S /URI >>
+/H /I
+>>
+endobj
 72 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 263.38 661.866 341.98 651.866 ]
+/Rect [ 263.38 597.866 341.98 587.866 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://www.w3.org/TR/xpath)
@@ -509,7 +509,7 @@
 73 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 270.38 650.866 424.81 640.866 ]
+/Rect [ 270.38 586.866 424.81 576.866 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 33 0 R
@@ -517,10 +517,10 @@
 >>
 endobj
 74 0 obj
-<< /Length 2413 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2451 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gasar99\+"%_g8m;#-9resPF&8LC?T2QlVjQ"8Ke\[LK;HH;Dk*K$ug@<j>fs1TTV&thX4>e9P42UDH8)irRNmEKjYK8o=\EM,5Eh2T&BFQ74Cpj&?.3US5;"31l!c1\C;rUrTaZpjZPgW`AUNh&"M<P5k"V)apCSJ*e`[0,r[c1YMK7^V\jO9R4od_.=;Jr13h$,[/@WTPN_d7BYCNeFPi%ASQYSf$-$O5%?Vd--*MXZ6_+-SpsX1XZg-ZhX=CpL?Z_>rRE(K>D1iWgJc69nL<)]Zk;2Z]6R^MQUt(-XAp16\mF+DJN`%L*+ at 3?5ms>D-Z[Mp:ZW0ok/?f^LUHBKOLNKcf.Ag$7qL`])mtd07,G@=R&SqP8nB1bGDkGC.p4nfrepPB?"B&CKo!4MagD>U(>;mgoY:pA9Sjs]*HU9)!JI*P:e>>UZ%$ME!.h_f%*Vc[BhNRaQIu92s3]]#o*[gNa4u14FAt]-X5aD;ms'hLed*%Z<T:D#hdE8>gD=#7kP`J?rrT`PN?dj1li-af3Q/@LbbHhmhst(O/C'X0223+D at .NO,(KfFj93S0aWEgC:i"_Y;0nfip_eK(<l0LYI(]"O?>V3 at E58$:m,%,'D5p:ROPab*$(5f+BkfG:,H]Be-NHGdF1$bGs/nRm/*7!)-0+_M$_dAn&ic"Ldm)S2?T^8E*&pPBB_,-4K1R/'^DtCGg?c;WAg50i4%:p_(YHsbN3')!N,5]:[suaZs7e1prgN3D_FoMZ^K39"S92.<UT`1)$[`b.I55I"eMO2+q9o8P0?ROg37mkjpM\prpk%"D+_[&C5Fd(#-,$=lD\H<`2JlMs(DG3pE$P:#PQ"n]_(\)I_'$/HK8!O&e2bQmDq<3.&ij9ec<2d4G',rtW"5%Oql[!*[]i+-;dgcIFe1MnnZXbr"rV7i5nRsj:Q-`)'4Y+Y]\&Fa&W+hKePqsp[B4&7k\(@&>j?7G]e40!abn%;+X8J4eiSW2d:C5!0Hts/4KSbn\;u2*=#TAck4Rp<7EmiJZZt+hjmeRB1#<(Q!5lp4#fn$>p:=]%?n`TEJupm**TN>k44t*&&7J^(b2o^l8BGU<'3TB^EqZKV at JH^&[MleB=oDmCT#$JYLoV:ZZnMQ$hWV$%nQp\\;`,(9-ruf^<(V:-S#r(B8h^`XN^+c=g-[b2di+pb.8,HT)^3I$LZH\W+;H7q2tCq5%dp.jEbaomU9bUtL):rB.ASF'*UgdD:t$G,q\nd\.HJ at sp+)#f3_q4Ha4BQ*5)<.9.qU4oM#?*M]:s1HL61(r0t>b-_?(1eX^nQ<jWHC%-;2gdO;^>d*^9pVJ%D<_EgZE)gC6U,[%(uk9Q1^5MN/&`*'hN3I*dh`7soDt4R+!4FH>ojnb at SS\SXU>d9)>O`:Gn0.tmQb?p-#[]'Tcs9<58[BJFn=_EsCP2.&bVn:cE/FGROY5!K-;_?6s<HT]Tl%);usPEgq;"L'dngpD3j6+S/&-/(H0Nihl("RooLWT6JT6h<X`jr%#MRm/tdMKN(PgIb^a;`16&XC09rb`R&nK,Ah"Z"s0hbNFZ6dmN%Ba,bh;Vhb/XXc%t;ID0Unqa_>G(U@"jD3c$Fb`P:T3fKQf:mAP'!c?sO5+N(!Tu:**Wd0CX$3APg''5*LDJU7'9p(cC^Y6d)d)Jl4;i:)(+kuRl2VbPKl2?+g0VAo'(lo\]//,&$,jOt,;4i'hjGe4^S%KFfT:-]a9cgS.XAJ"bg3.u-`;@pX9Z"_[Ir-Rs]8>RI\X;L<a:D4 at Ekdq(,+.dEEsAlmf6%*\dOQO[nVf^O9B_o)E%HJFiq""IgXR5!O-LBYZUL>G)GJ6+51Bio-9Bt,]Q.M-gcq-aG<?VDFpQ*cU at F^\KQn^-\l,p16,JN+SP.a`,<uBZFr>i>#Y78eitqj7&b?8?mc?rsOcLcE0..nq[lc"$8[5k8ouh/i13s-E-^dG;4$=.FfaB[mA?Qa0rke2(Y+pAoc8%6E6R#^I#o at tkVo%SW.3$==('#GuE'2^m"/q,Rqj(Z3ZiX+<N8ge_*<:d<"S)R).BbcUjM=+"0ZuNN)mSHq844FOp:;"#mR^Hk7^ch_ at 35'9R&>4sRgcUE=Wc9RZfER5lW0\Pl"HA?Tl+=S77CS;@(/SgagA+P5!oA-p[E0a9Ef[5G%V=AE1?].npG<A6)bU=@iCXc.3!WYO]prVq6UnYi)cYVYelG at 04HFaSsR6M^.Wn2MBm;,1mp3,@=Td at b>L`VJ6g^)^H,9DfA*lBJOn&<Y\(m4>H,nM\0KF2)IEQa*RnjN_isjP6m&[a(%R?O=6tV%GTY$VerHrt5Ab?<`4qZD5K9B%j_<ZI at i%VBg$EVUIIh2(b_8O8MdRm-g_e:a><K^hnJTu&OGO<M0!Cs8-Wj^WZ:;3X5ZNuN=O@'KKa_.2~>
+Gasar99\,?&\cSp;#.ERe/0A(k2nMWXK.k63=fn at .i%6_Tcf72M9pjMjf)5YHU)b,h%2$\Q7i+ndHGI1q>n:chYltM[ZRg#2V\19Yk`;e2hCqLND)^_9T)6Y.,A]8Rt&-NW&s\Nk22Zq?`[54OTA!Y8S"4pI#0djP)3Z>\iZ,sTaU`q)@"KaDS!FT_?JWUl;/RH"<5$a+8,VfPX!C$Ui)#IWp<BSG5&q$<,^.L.o4WY4KZc?"U2fD9Y*_jl)%BRf+J>5UnP;s`GAC=X"'IMXs`mid:Tkn'iC'LkXnGfe]Cu\MVY!/@-12l%/-Z=9P at Nu0klY+@3DjA"6hGd@;V`,'L;ehIl4Xg:O>'Y/4d)V2i!d1;JV%=*mSLMV9%_6p-OYlRi*'lXH$_uW[2a:RqG'l2*g1S!bfaj8"D]I3A/IDI7L5`e6gnLcXE1Q3gZ]aD>0)-p_X-tO'kMC9-H6tGIm(e60+9TNkhJR5/DOf_\;Hs)YVLn?eM?n(j/3il+Hc)2gjKQX.%3bpm'nDq.6ZG,\/[e8knrl#+tD.JIO[_bDO+DVb:-Xq0[>6.`9!bh at RI9,Dbqd)m4UJ&8q!HnoR'qq_\bIgs0q\HSit'dGa)5.I2_]o,A8;%H(7 at C%GRgHi8hhFP,Ds^-#MXW'7KNBLPaZ8.72(3*Y0S5Ss+Ln[RpsRS@*pm)?UP')2']J'paRlLmd\I+Jmt.$F#J%g4!"B at ZA6DoDJ9IYo014=Z)BLiUh]+'i%MX2\FhPODTbr7QeZ8J.JE(F)omVj"D<?\&l,qrIF!YDd3G2M-G!NC9S4nnDe'Mqq&SO_(>nB at V7o57L+u/YQ]2\K=l%T^OWN;$!H,l?]pe at Y.Q)dG0sF6i=:YI")%]FSrJJrmhrrg2M.0a:@uYpX'pWonJI)%OM#G#<^n9^F.lf-Z<NXGGc;KI at R3&.NU2?*2_t(ed`=TkFTV"Uq1AZ1AqgVlf=^Wlc3?rHslFY)Z,E^-N!g".noNMcn#n8k$G!!B&gn-O6o at AE.@krl9>[fXZ+XZs%B1rH6oe$X`@sD#[%k5`,*8-C("llc/[TChY0apeTqX-Bfst6]3WSkOc?p`E5`>S(1'jud28EOYW)//EEi[:(n=UG/&3&Vpme`DH^4De?0.ia8p"Ms-L_R]1[.'=p8k9??Rlns*hV'D65GD+oPCXa%!aoWfE12-5V*t^W/.>`ItdY57BqZHjTC$KJ`oq="<J<=*^FlfTfP\k@:C&/_r^t^ek]PAAcjbF/Qos6X1@;Q\-0YBmBY2d1cbN9qdFl>M1c3M5c>J!4)4Oj'7D:DZCrS,NNGh-ZRq"$M<ATSb(^4_3=S:!F<-V)o=)qQFZ^"_n(DN'3[%S]B-Eh?ZK:8t40t.<bDC$@KOQNHN);Tm6]k3(rF?_e(2p+VHNtk:'P6[G%LQ>Uos9IME-aU:7ktce_UEdpKYq![CX[G0D'lU#luaWj<+8+:>dT(%!n#YM/.KL[aaMT*5;N4WZ>HomM"=EuO4Ds[:3Uj",jK9d`hhK#jKo&l1HhFA"10jInOua:6kTBi*`m2H7[6el!edoBk,[2%mSpkZj)iZLg/cGQYYddK+G6(*gD`ct('-"@Z>J_ at DU[tK"<\'^G<0#<2\H0V0q]L]=bo<CPn;o_1OWj+qe.MN5,li8_[A9QAMeHQB8I#/bDOD'`<p,J>@4\)S/:Y*@<Yj3XYnA(9QuA#G#3_:I<Y+khsn2f`eBM[=F".rkW2X,p?U%)i+-N-G8SZg8gA#H(eo'4(2i>,\+Q^aQA-6dM^*Y\T%H3+b_MKP6=GIror,rWc\urD!MCn*U at t)D=stWd*g;6#`\^>a;:M$Wl^*+6-\-(-8 at u;kj-`jX$em[0fZmdsEc15Y03;]$*Y$ErD!"QAYF-gMgp`&C#<iE-1:GlN\)RjK>fbEeB"9=Q\YLAZCH4#P_e&6DYRS-[Me1u#(f(^gLqVA"ShhLe#=!b.!XA9)O-@$"Lsmk#m7XQl@)Ilh,s<D6h=m_UeO0q/,4:I-lsUBSHOk/SR%TEdbc_uIMR:(aA-h&&4RfD$AAI5_"$@\+$PjRm)\C;V7?I&T5AH"%3"u10 at FOU#dHE>(ArJWdWe7>@WQu#O/[KVH$+TOb.EGl at Wr.S2QeJl4%"48C9-<cPl:mYf6%s&4h^**39>^`lK`US at it7[TbFp05Si&l;.Dp70if4#V&HMgQ#Fr7dS)dH"LnU,O*&_8?-0(L!N'l:'9)$11?,[a;ShNt%e++a]:/s3A>]kOElQo=j]^-L#T$M0)''pj?#*a8*/[SZ:SlN8r^baQu;VGstii2\od]W<O at rKh894"d%o3=\gbJJWqNig%'N[6L5VGkAJJ6mo!'0g@&IY7[07X\DjD>b-%"!(LdW6P>0mrr]ZFG+Ln;96\9Zp?hWb<FF:G%OXYm;8r*bN#mg1`"KM$6,=p9bN:"k>,fdrr_0 at G\I~>
 endstream
 endobj
 75 0 obj
@@ -543,7 +543,7 @@
 77 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 272.33 641.674 455.37 631.674 ]
+/Rect [ 272.33 574.54 455.37 564.54 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 35 0 R
@@ -553,7 +553,7 @@
 78 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 186.348 500.794 276.348 490.794 ]
+/Rect [ 186.348 433.66 276.348 423.66 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNEWTEXTCHILD)
@@ -564,7 +564,7 @@
 79 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 324.744 287.888 470.014 277.888 ]
+/Rect [ 324.744 220.754 470.014 210.754 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 37 0 R
@@ -574,7 +574,7 @@
 80 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 276.888 208.16 266.888 ]
+/Rect [ 144.0 209.754 208.16 199.754 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 37 0 R
@@ -582,10 +582,10 @@
 >>
 endobj
 81 0 obj
-<< /Length 2391 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2156 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatU5=`<@h&:Vs/0M#jj1u%dhZ3"aDTV,kIAO&cp&!!P8e#^U`qUd&[r-,.O]?21A&ddZr^RD=j]"5JqH*oj5jsmSTS(ZA=G at k'gB9$Q at T49mq&&cP/R1i`hKD"CfchW,.m=k5gNI;RHkG#Mkrj(*>J;e$#1%<4<Ze]RGTkV^H at GhHPG[0F!LZ*O14*($cNtm7icO3-b*7l9jno"Gn[&0K:#t%OIgHGA7WCjb.,SIOi"D(XZ!#IgXp.tU&4+kN#ad7XH*<4[!M$ntjZ<8/\QAli<-Xu&g!K5tM8&=YOE\"7"D7TQA>?p#,o(W'"c0sE=H]`7:LWt+qeLST,Is^pM^b9K;j#&JFroI\>k2O>n$jpj;,_JD1'+?')?r5Rcoa-8"Y02^V at U)/-k\<C`#Pa\K.XIe(ZcJUB`Gpbs at 5q]*&p5E4ab(959O=0q:8Arh&i:t$LU#`*7-X%q+>:(.'kMr\Ejr7fJm at W"5'o[tMPB2f%i43cqjn3)2%tYKa8KHp"%1[ri`9BV5fLTF`F'iVbn%FhaJ>);p6GkYPBua`6(1E[cm-sr0]j9!X'EDoJFMr at JSce*"h)$H[&krRL9JPg<\tm1rS=G`kg(J?7'U]K<V+P2m)W4VT,oJ]ba]3<B^gQgWBGI7(YPBFib`6aJV8ro$&26_6qRh!6Bmas2arX=i)qNq6CJ1:b_*]l=O>sl&%o"JR&I=le5%8MN3)W;E8AK-fCJ''?>60?O864K,L:EOGu?C3HU at Ltk1t]dmgN[e$]9;%`ak>C"?5<_o!G!Y?Tt1p#rJ=c_&aUVdE=q%/g'#R*F**K*ieBu]?*HIO]#H,47]I=4 at E?r'Bt5pl+/",pO]V]Bg[ooj3R99+c*8LXJNR?EuuP-<HRBsrV#2rhKYu4A)f^:Aj3*)J_HZ at D8N"J%>gr=]IuN5jf25`)3f^4/ePh!.UHr14]9#7_AXJlZPSB.d]qZ49m,%R]<Xmk;glZ55I")099QmK_Yua/=2DA at Z811Mq6#+37rmccYob=&ASp-PBMWI!G,;rB/(/f=Cg(.&A!/a9&GjU;$=460ll/-Q4^:N-XIKWiE7)gde?\#Wj^_k)2uF7rgG3!X]./Wa<BF(Mc"00;e%hFEk<O8?3s=3r#1C9UJ9,\nQI8eY_$,rP[hDWKm,)$a=lMJ8CYA1NYjC'IeXL<I0D=?J(i7O::1WF*8bL!#;9_=JU?5[7UhfNt%4+NZ6r7o)o8d1Cb1jM[fm'sKggmM</T3lGSaVEYiC3_XlfG)P8pe at 1QlV[`T1cG[pQHUPf:CFs)d_`shNZ^>Zq8h?8,HgF-DMU.[r!`/r\H]D[I.?0mr`O^89qmEM28@/O+&h0#HrF:qa6-`1"X)@rV:Y0.(";.PZ2Wg>R8#;mjiYRnr`_mq-T3coRsMdU[-!m`!`70kZo`_<:]2L$de at o[a#B57dF9S#<H"(jHHN'4*:/68Xg)C5A`%6hm#e[6\l*R!q_,.Dhn>@#/\HDFaCt-6(2p\B_jl1jmY)Is4"Q3"4A;SPSr_20m!5VW+r7j]8bg[6igXPRn^.IE)#E(1%TcdZ)a>bblWNXQNLg*:POA^\(EDCh5@&U!I`%:cFF8*']Hn`AdaP<8ad""X1Gl%P,3'$)^W`%-aHLkSM'\^aS.%kSg+a:m"R,#Xn.VO!<Fe<RW at t'O6_SF:].J>baVNgd at T<%iN^:"U7la:K*9kW0A#LA@?)EOWMM9)U/&EAYUGt(,Wj]og61Jk9)I-bQ"MqR%MQZ7o)>T%p&Da*rMZZW\mbpK=i7k01KO^i1X->nUpe;fo5WuBfq*N21kPne%1Rsc1?[&f_kULm!lIEEI`(9:oc"&$hL'oRBZi2Fb]kqe[hJM5Ki-3=K8+<2Fu^-kbR0)iDXNu+/\aI67C9mn4W&!E\loF[]g2O(CrRCBXm"`$#4)Y;Z/aRiE6MSb[X_N?BI\I:(8#m.W3[S6MB+*s?=3]gUojL1j<dQDbp_=CZLUhgXgetRBHN=@e`@84SIJJ=a:3Z+R"-3[qr(S,6`IhN%4<1gG:JT]@L%<'`)7#-rko:.5Wbe(SSE)nr"cdtUc/go#*!QeoPadX+jk[7dm+H'HMtmFmh"\;:p4e__.tp&(d_Df"*8GaKk?niL4NCZPLf?#;<"?.lb+]1RQ*RiW:I#B]A#IpE!0D%Lt`!9G.CpDkYKS1V,`cgr$84tJuj%b\U-f/an;7)Bf_u?8T]UY4KiA!KY'-ERHhN[\KB'!]Vjm@"I1.EQ9d-r>CTb;9tfEnQN(rt6?J:t32D8,3[pE^f]mfkOE-.[.n;*_hQG0gl$o#_O8$Bd/dg1F)XaM'F)-!nbLrpRGp!cd3!&B)LX5neH<!Z?=EgF=)LCSlJ0)cnI0:r9=FnM?,<nL\rrJji)bL~>
+GatU4=`<(R&:XAW:]hF%()p9JiLg?p3H,S?BtEP%[h"@^o!4S#NC:_qMZ3>[77oAa9'ZJ2!J<2fI,pfffpA27+"pR9F_o+P'PEGKF66X9r4/,_HGGKtIhGqS46t5aLV*+\m+?YfYH2B!UL_Y#G$b:=q9&QWgAD"[i;bb9"b?^^4Zc=pct:T(_%1oTYg.%88>JX.+Jm+LE1+f=7TbGIDV/`eT=BEL/eCJs1#CiVP$Y'.mKf)?D4aoRC@\L/,VP:m-_KrmbAYK'K&AGjNu(4U[O+HU65kh1AdmH\#?J,l<[m'S8RNoHVpr$BP/MOVBS=`';1C`?3VQXq`q->?Eq\]<CF$^,'iLTfbkea\p[_atRM'WDL.':)p>fG!&9Ofm#eM)ig<PEQ'0_npZgS;@.jJC0<cWiG\-*Db#VXaQ>;(k/pqh)=4%VmS-BU!gI_qpR4EeJJ&+\8BQTP,L4jVl/NV)naGOGh5Uh0e2=d?<@P>0f^o>_RQ;o]C'6)"'nKr>,&PY#%.NYHeHMZ_MKR"-[5esp%eaN&2TGqTRHgC7e#0iOX;BHhE;CL*&B#l6`goi_Su:Z)k':'g7,IM[PjKgl`Pa>:q,KcEr at C]u3<3mhT$3!`h^VW)"2567"61``P%T_ at Dhn^BdsD0U2u;CCgY at 8\gbLf!]:BWGBPC!UBo#kb$LrtWCMa[JBZf7[#Q:gN<DCN'R6XV\n_?7q&if3CpRQAh?Loo:u?8H%@f_9efE5^9\Um\+6"\7iubp5n)Ne7IcYi5C6W1o.S8rLW2!65"'X=qd&iOZ1+tECitPGR19R5ho<O_n_$q[UVOrJWQlk#iaK[>Z2.t0NiHn;+C_98Rj-*Xn*?jmeg!6=n?;c&AV57Gejf[n#<339o!1R(gjSSSZm4]+Pk_&df#`VD#O8Vh=*L4B(b54n]6-7UBu-`p?9<6]o7/JiZWi]FtepGHIP*%g.]NX*@o%(b)rS2dY"GZb':M&O`aZdc$N2Ro;j+UhQs+kM'Tmf=Y?[)g"^qqOI^UXp3ljX26T,)]49t$+R'e!'Cpn-k1&_2IHq1('$Y,m?\!IJAQtHkj^>S+,[VN$XP31LjLiIK)BFO<T1#\T(u>(SWQnZeRRSQ9W6_I3V?ldFKW[o!56g_&jI9"LR;[L:oe);Ek=`(P-FdVsg+6(CE?%d-RnK?<@qHt=Tc(2DZ at pUq(32)l#d\IE&:6r=$7;Y.'.I+1OXhp4>YI&UWSnGnS]KFSVFk;S<Pb`M\I<2%)Hr@(*#N$OMZia`Ts?=6i%PGA*TaCn^_K.9gBeQHqtHCI$=)asXnr!f'WkWMH?33PMu>V%h/colS3/ElIQ02bZd15,g!3(<'mZa4P+uA.-opVha"G\;[Ou_]^>mmQ3kj2TP99YHpI'&sEH!1LEGC*R('l&C*OG^&i4F7rq2l[$ZhM:j(V1r\>Y"Cm%Q`;k:FC&DgU8UXs-Xqc[I1aJfkIW'TY/uk"QB[MUS#lU5r7Lg_9a at .k.5cp5PqtnKiS_K\gBWAN8_E+[_:NunDoiZogef7OTY6/ZE0haWh..]2"Z,.GE_ZL]KQ9)me=>po=Mn at hm\3JIQ]_t<*a-lVOeW=]-?jqG,>1uY;A=oG[[?7#G"_R"Q)*K`ic>j,8"nCXSLhPDjaSBdrbNR`[)Ud#4P/P,ReX8e;(u9L5JoG4,F=JpqGF!X2TX*JeuFM*+=Y/er4G^"LPoFkS3o%pih1F%u(J+-2]7V6Pa.VK:*od36#ccZ,?$)!Gth@=%?@u(4-P(g<g&h`8'TH$-)j$%A"dNoB\r<*EhR7lmi^UXD?,'hg.D`;*c+Zd4oN6eO4%>EfJ*L;i)j/nJYr:rd21V-a)h at ajIM<i[s"9n3T3s-[/H/D$Fk!E at 7UM)Nr6!)HDQLi$ir$]"[k;^/Y'0W2VDgOQ9p]mk2mj0uV?o1/s at H^2LXGa.[8l:H`5X^iaM7#aeu]I+i`<[-Qq3 at A5^<E;=hO)@<r55J_KlNoeWTZ"@%>i")]=kt'84)S%&-9*-ro$:^7tm[FfJ09:DkXg"f17Ub?+ooe'C!qh2N)/DpTU5(8aYhhlg2J8ZT:ZG`Da6L]A$gItu*E^k9.aEK)Hat<aQeEn4oJ&3$]aN`f:Cuar^M0OC]9[d2%&gE0kp,1%pn;U2#!YSMrrD8WN7%~>
 endstream
 endobj
 82 0 obj
@@ -608,7 +608,7 @@
 84 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 204.89 616.56 279.89 606.56 ]
+/Rect [ 204.89 545.98 279.89 535.98 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLNEWTEXTCHILD)
@@ -619,7 +619,7 @@
 85 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 338.334 508.234 471.934 498.234 ]
+/Rect [ 338.334 437.654 471.934 427.654 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 39 0 R
@@ -629,7 +629,7 @@
 86 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 144.0 497.234 242.88 487.234 ]
+/Rect [ 144.0 426.654 242.88 416.654 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 39 0 R
@@ -639,7 +639,7 @@
 87 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 246.998 245.614 306.998 235.614 ]
+/Rect [ 246.998 175.034 306.998 165.034 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A << /URI (http://xmlsoft.org/html/libxml-tree.html#XMLGETPROP)
@@ -648,10 +648,10 @@
 >>
 endobj
 88 0 obj
-<< /Length 3206 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 3062 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat=.=cXf:&Up?Z+o!4mlY,"#+#XbIhKWE5M]As[IE2NqeY5Nm[(>?_k/a_:aXVHK>:n*90JE>fZ,iqSYukP_&"B&,mZLT.Hi at cd^[YA92o3X<J&*Uj at msuqkQTXSF'S\0rND^&g\etS2G.I4=hW_%h,+S%&UtCF+>ie47qhcdm?`"_#bAR#TbBp?WeT6pE0/n'b'm&Y5F)O at U8PG_,Z(qigCL?7Y;Um$gZJg*IE/dq[@1MBGd6`7iFE($IfAHt[s=PZ[t2`GVJLHVo<<E&j4FkpZ^!-qgZD at V_gJ&LFg6)'1Qq=LCp]DiH_lEh<l:[!C#Mjrj)gu]K1K9bT9$D'mDl(DWj_.TQiD@"@^Wp&nKaR^X at q_3(^BGTQYsk&1sUbKJ1rNdfIk-Z,Rbtg%0nJrjI*)gUY`(eU3DI%%Y1MTQB5Bg5e+$d<-kl%c'IG>CnE&h(V,i/!SA'coU$'T=aOOn-6aL"<Jt]GM1W-i2H(6ES_D"'_9^YNBZFPY_O@^b1OuR5QE6$$a/;5'`"KKVoY,0c"IpKe>\Vb+J_<?A`XQ\'l)?8,#MCu/-3gf37uXm:ct(k+e]Y6E;*%h]@ql6ZRIMX-,66B]d'f>FOG`bPC<)`VBbC'g[]9W=<Y&i<eO-TM\Ka'N_7j]GKZoU)KKkLQEiMgNA2:c\c!]*cMW/>SU'6M at a4%$TL>HL\(*\W56/oMpY1i?@T#IPLKBP]`^mRGEY,k8[_;[Kh=*6CEe2D4(;madQqh'.!+2&_.JJY!ei)I^`nDT%gamJ#sbi_?)QC81%AqVph1f;N-Aissj:Dh^O?&WQ- at ZKb;\W2f5U8rCm=n7.d9jZJpiCQX$Y#?uO+`KQonu,S`Quc_2^I[Ik(Y7!Rb*!b)HYSK8fUDGipgI-qcjUPf%)Zci0Beo?<5bFK-nANH&CQ<Q%,\_)N?im*3JPY]T;:[o"P^UapYXb;8eWVX-I($pUbk_ElAnh>mBc!pF)7N]eR^P13;%YLoY%\>*?[pN'Y,Z7No34_N`A<"s%&IZf+NgT5Zm+uQZ.*nd;8,/jD=J+I/7Htc?p,'+F1`tMLl51KO!HtMU:Ec at C&]79>T>AI)g\6V1S=FDEq&!2W/CIlWV6$B729gVI7*Uku:_1`q>K@@8)ucK#E=KSpQkhc2-r9a$1,Qm0ObCH"b*@KD^9$k&"YUdthBDf0h#k[oEOn'/5MBQOF-D1'#Hd(s$NFVaG#&FG/EpIl_u`U,>-*T#_ujE3/SHd6`XA-:hs_F=6sj4tDH*'L*jAb_#-18T6t4RkL]dET&J6,]!e*9OVI.@>eq%f.UpZb*-YGN^`5"%)kY#H;>S8<"06*9rOC).ZOXtMP_ttAN:686B=*J*<8cd#Wc]2:+ogb"4UP;rOBV<g/D#'bLYp#UE(Nt<fAtH(ctTIheX$6ou>sg:9m!B.OJ*,/D&m$;UAsD"(o[%*+@/[+&bS+1TV\0YoHjn6-[,a]C4Hoe7[R*-uBEWh<fN$oYG-D6a3$,$4P3Vb6GpG)5L1JQ at _]f`K4Qp$I?2<JR- at d@Fi8`!k1&H]=&_b7`)_(P%Q8[/['Y8<nOtS?L;i@(2)fACiZc?Jpu@?lLXQa$Z:kXQ3tijaTHii5bOG("L/HhhE3rqmb3[/_g]M[&5[.OT%M\7!$dkBr_&Gl\8q.,*?0b_NsL)2<]L</>hl**H[%>57K&WNe_iT]-o&@i%LYcND)ehpqmdPj0d57WCPZuD`Y;Q.'B=TX'm)$ZP]8Y52'JO%^*WRQae\37 at X_KV+dS^R=I?'+3d'W_LrjV964*S2hD9]XBKXXO-HBFN4hVK];%`C.B+gH?]LUPVHIOg7.a#\$m5k at J7MakETKVd!=H^%Dmc5+nMd&-_eKm<'>]ltAmR8)fNXo`"p>'KZ>p at EorF2C'^njlP]^)c")<c:*a;m[jgf;VeUUmM[V>Ei<H*&mA7E)#Ioodun<q1)U\KG5*5j(+T$=j1[h1o]j<Th6BF&tco]V+^X"s&GtO#J/uIJ3qWim>j^;C6aC10gWYr[V^>5>h#YQW!Q"<;rk.UVZna56g#iQPFU=JP[%?TZ[&E>oZiDn9&u&Bq-lO)]H at nS.BU=,tM7s/,f*J^F9obN;"F>L4uR)fBAUQb>2I=C03l16=.q7f=gI**,H$9(iVKGn#(6hOt!(3fsLN0;cEhB,;LQiK.1%.9tC5/3Hac_\ua#@5?R))Y%i3:5orf<bt0.`aM,lg,k_:CbUe-o3F"strtk2Rn'&K,Y,\=%KDYCMh1!=b<[APLr+cC4!?&8G.TiTdCOBo(bnFePQT2XHa2/tgdPu?f.f3Ku_"poo[HOLV6cb-f0B'cHCW^siKP(Z>dp+t5U;Z*q8%7U(GP)Qf\A`(eb9gumo`YV#)7#bO0?rQKCp"hJ6*@*+ at oq`L%?,no97u"?`L:I88!U^9h+Pmr:Co/gV@?UNBKoIWP"F?,h>kdALihH5]DicGebsDa",i/kpJS"O&OIq'@/=hq(i!)rOp&d2Pc]&J7P7,8;U#<6]%+)-pr)8&Ie>%NHU415``13j8g_rr4*2d-M6CaJ+>$.BQ+Kd4cNW/<_F`$?q"d8Z.WL=FY<3.lXdk.68GZ?8j:"9G6CU34>n-^emU=%<-o)W/!;('B4"f8eB/_1l,L4s&'tdk-JQJ at iG@W6o,n[g)?$QFhM5=C>ZeMabLKg^Gq$;UG_##J;P2?ceO6IU,!R[IN?uM8bHUiISSmKF98ZCCW[]ls0cHD-07c9])M>chn:S.p/k=p?fE?='h<i#3=Z.Zf:C/kE,W"!'/]NbMV8il:ar<jUO%%1k.@]nEdO at 4WR^0Eal_U&Z8GM^qIgaLF[0ZdV*:B!FX*UXCnZX at X^45^A!*G=8V^^3;#UZ+>PI6=fB>c'F9mj#@,g%PIKm5<c$qPXplj_!8\DXi:o5l?kU1lo3R4RaH_n\VZ0-k at B8c1r"jR-:ks!6/O=jaP_:nlJ5YHuZO>jM:HZ,W^'ceEiCIQF3:.^n-_H&AX!@WFA<YV>0-R)u.RDffFtM8)bZ9&/Hnb:U6LbR:r2bLfHXSs4eb-rnW/^e,NH&mRb"B]RsKR=+`i)FJ31pQIF#;/S?r#;fH*EBoW/',^XD5\%F]"d91&S:1n26EHC_5r21;-#?%X1lQZ9FB]Z9q-Wg27J):+- at FH_GK1,B;qEGRZA2=^4B258!3E1DH?(W;k'X,\6*'^?PrWa@@&p"~>
+Gat=.D/\LD&cV3*Z,h^W?#-KeIn at ugaYcPj8C84+iX41(5k!--,$J\2;>.Q8^*I?i)9Q.;.IIS9a5h2O3#p4Wn%7u+n#s&l)Fme.DROa*n`Kfpfu3#[Z>%H0hGeJ1`EBP#*]O+Fs*_BBpStk*YdmB,.VbunX>]N3p>(?@7b)])2ZMWMs(k(=Rj9nMNBf-Ja`Bh6<?9V8%at>%ZnRZK[#*5UHV(N*g%ECLd-=Z>8j<o9)Z&2h*_0\X+:7Z\#Br#U#PNp_5O)XSUXe5]]t1gS];a=QNbHnYNj9ijXQEHZjWO:u7$0sXk5FZ\NK(sPK/ap3PDJSd,6?WLpn*'3Oau_1HnRQALmA=oYmjo[qrQJ5Y<7Y->C4:"Xd`7RABsnA\mOqLo#gm\G])`CqZA2kJ\<&RI7G-%%caI9)@22KWDu$$Uck3MfXOrU#JD`]+4S at INT7rVGZ8NQkTJX/\s[h0Ar;@M=nh%.b)q%Z($8UC_Op0LGG8rH0%hN=H,QKG#;-.>$,KJ\l82YSCrRN6![?e>*'6s"R?HZBb!3>d=1,HNbjB-%otsYjL^8LX!)4]V.3OFF)#Mb`KMbAFS.pp/UY)g+EkEZ0S9>-(@\b^_%fg\BY1=%U1G[<^cIV9KQ:[=]ELb<T0]ph[J%_lJU:El_hC"W4O?QDl"#/k<L3VnPRU5FBmOH-2qgg$QOG1'*(e78j6n5lfI$0Z_\=[2;boCV[]:6C&]iJVWnt5>:Cecr8*_!!!9c68%"6&&Qdf#t;dpfQi&Ve7+ZR!jC at 5'E.+%3U+RQ+FQ^,spj`cOR5ZsunQ+#b<)=sB2;c\t:5drmt$So8AUaMd"-86MVphQa=tA%"cf#h9:RRLo_$%:c7]&2m<P"@"DbkU4&?iKCF[2LrHLf$#\7d&T`PeeQ3Vo.u"A\7NbKgbC$m[g:$!8\LXV`psK_;IV>67)W4!#gKg&>!9!W;Qpc9KOVJ)HVG*fI>>('-\+n/5H$_Xk/0VIdb(06+?2U at NQr'$l1Knk at 0CdAIjF(b/L(+4)V,R6OgC3]OI^PbT at nDimj=L=W,XkhqE^/c.rHN/(mPeT8D**'g0I$kG7]DZBm:PP`j6,r7l]@5j13Ya&kXCW7GjYU5fSZuoQsmj;2.,^>8cHFL_F[,E'b6oT+B'b2ICQ.&B=]@Zm"$qa'7^@`jtAh at 6=t/?g'ZMNfai]3*2Oa.4]FVV1+XAhX*)@9Fr1>VKOl\k,L+_Yh`Z^ES2"pkbD^+*TKX.Mq1t[JF=j!%&RFLEl2nJ`G8'nXIMRH:ic90+f%bjM8"=gU*&pA,oX4XrCMlT:U%Tlk*Di!W[q<ho,P`=]J2')!h+NQ6g%dZo5+u=.I3qL2;_Tt9hm1,VQ"jA6/5=s>5TR3&j/f(>D*l`N"luAPpDgS]ms?Y5:j;4jois'^e0d9>952;TVuH5KXi:L$!-i&P>\*8j%d<uIkp\KN!O;e:B3T6r(QQ^`+!7u'pC*!XIpqD1F+Vd6VLA:_QGepCS.qQ3^NiI6s+s@#?`+fnD5:;@"A%k)>#^/35S<4N2a:dKD,Zh8>^2!B>pr:</r*A`W+sa\LJUC[j[gi++e0"9TLRl#6k6>@UHMSU@&/@/RN?5-e!^M>E\-T-13UJ'RG[tNIq]S8N\nl"prl^1"-pVeCPoe^!Q at r<h<iWPq5hr![u0&[:atJ9p at nZ',osBogT!575pN>jDNCX^PFjk*!"35#R245@$\"'!SV>1rciW^2<_6qN/LVX4(QBHnP8:^n=?j<_U[l*I2XBShl's<#KqEBT%1rqf+u+*'WHGj^'OTu&RjP!;%M,NZUob'UC*pfqqYf?[S*?r0l66+56fQD:U?'hje?+T"&\CX<:Odcc!=ES(.FHTC2F^"C,5r.OQ")dK!tl/2<'D*f-)Bt3=j5E.R9%R^9T7og?#DbIO:OscXcI,0DE8\pTEe/jTAsm1mA-u?)\M6W.;[R`sKU&YjXUtU9=BE08?N^ZQYbiM0WX;iRpZ(aS=pVgN)E:RIW5YCDIDo8T#1 at d,OFd_AA[R-K:XL;B<406j`gL*#=H#qH.:&a5o)M[=i5Nbn(OLN at D/>)J0je'%@=UZFHL]GJC\fhoi20IX?)aq?o#B>gDk>5)ZVOb+b[?[ekkPE%X3Yn1Wb9n?:dA/>&;9Ms@*KWQf!$e$<WCWE/4/OX at r`Blr5DpVar#3>cNaK4RP+F>%!'GP9HsFVuKJ'kf\<\7[D#=$6j+q6*fah]f at n.Mi&<"l'FWbId9J*>A=L,7A%L-.f0OIl+:,5IDS,I()"$SCKYNb,>U-Gce`PQR2IMr\h$X<>#&a9Q&:aHr8iLWp=&H;0YO_^M+X9AW/4$j1]ek.V3#tnZ#Q,:kc"geUJn4q?IqqfXg>0K?6-Uln#[Bn at RbNj`uF^k"R6SOCqJhcY$hC5Q!FQ3[_pr]ME,oWtLGihWT/B7QW-dB;;-WnE.VEW at liO[#F#?UuLAC%Q/g-c46u92`R&(3;CR!dJeNdhTW1G=Z^*A?<=n]NheBAT$2@'YM6lpTH.*`F>(jt4crCCj>Yr_N)LahT]P]ccBcE0RBlTf[T"TabbnR>Dm4qt0Rj$n4NM<iQs?[m)XlRrs6Al"VQ_MN(udb/+I/$Gl\^:.=ikUBMi",Y(CL_VB!!m]U,#Ms<Qb at 6P$j+pGHD_ET7E"<Mch6WVr#tk+UML$fUD6)a2 at PC9iD7rXXC[r^TKPgUm.O";NBVlq]oOpKP1$f$aq_&N(IkEW:OE9Y;S"+lDRDA5_qAF]n'=NgRjJeIO'^iJK$sL%c_p/+PA5OZ9*RC(m1pN(S.*Q50dalr6N&r<)Q;E&:]<:0`NDO(eR^$ap<spJGnba8`#;I7o^";VHmahn?Z+;r5C:`Nfq$`Cf0"][>Jrq;5D#0BAb;Le0H2%rKS_L"q%"%L:FX._].JPV[T'ps-5e1HGsI<jk-c#/jYk+-M>I^`_,he%/1EYQ,m at s!3j0842/.%^)-WpHgr3QcR7$#._!)hQJ-=p7YBLO?2XZ\].Kkj]SW)Q0JdKK?7p]!K6hN!l$cI'?/NOFY3b7%WlFQ%QD"/E"T8ic:i;a~>
 endstream
 endobj
 89 0 obj
@@ -671,7 +671,7 @@
 91 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 219.0 421.866 435.37 411.866 ]
+/Rect [ 219.0 344.54 435.37 334.54 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 41 0 R
@@ -679,10 +679,10 @@
 >>
 endobj
 92 0 obj
-<< /Length 1620 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 2048 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat=+gMZ%0&:O:SBO)=.MjP8O;4#l"7?_TrUqq54\5-*H'T'8PaHDmQF$\3'n*!*%Z7..LN!(=^F(XRY7HE!>1qTFsp(6brj_A=1lOgRApgFOl%^IZF@*!P[[G4r8?2TX.es(D#$5drfMsFia9=(QhMgT"4D(TZ,N*4d;28D8inHe\6DK5*mLR2i^=:QLq[4]licLqPteP;n]b?1RPl;DJL.[e:F^.R#2DRG<N[>L_a/KVEJhNp at PPR@)rjuF5TV9,mGBW_*;.RY*8;.qR_TuB&?;i2FoU7sbIM_**pdsS8UMNrMEM./'2D5h]M79W\r"+*eDNET=$Y!YF08A$.SF&Vt;_"eZQ`4RXV6=I;0V=g;1%\cu?(Dgha at HUOjJ_<C*GUHKVS,bR6oIXaE<&i?@g^ubQ;O"`u'@mCU$DNNk>BH\))_qHo/!>oA)@XSN=KMUDJE:iL&F:X&oT>6`ruFufe?[`W2-$Z988rG9'LC84AD5VKCk<XcK/+N/jB[=QGd][IL]cm\]TYTAH#:26;2>N<i3r2XrR#X-D0KhNLTOp at Ge`?cFT;mU;T$-I"[HmV49*f*)V8k9H/bP$)F'6:ZH&RQ`[5)bNA-[pAQ=Q<'1(d3K!((=lNsHaW]1T6rE:&ZUk'5?p=6#OMq_^)/*Ce**^@q_h)dEM at j=Gh8cn%QRh(G3IEiQA\^[3fS'5NVX;RJ\a?@oDaBtPIOY$9cbX at 6;]pR-AKUE`f,QGR<Cm^\m)A3o-LjUV6;o2`TD+NE4_[VY>k[hJ1DUMECW'@c?Z!0cpq<Xbg[,M3*OTWY984;pS:j]@Yi\)%8cPcdnfT)")4YT&U`naUij'fldfNc)F?k.=@DgSV?p$oLQl*jacFjnpV[H[)GI?qkA7L)8N,Ka\8pq,t[Y)%X08^[ZWbe[1!`^4W>=hnDae:r%!9@'&]YrnuP_C<GCf$9_:b7+BYHj`L_`*icPpe;_VNKT2c&5!P#6p)2u@[82P;&O<TG[Hem1)AG>*JWb/8uU"1Lp[Ni!ahTAH4oaSKG1ckkL_bi(l[2`\M?oF\_]^m`"+OGIPU2NJ0Ic)#Zstc++#&&(Cb&H-%b<fMZ[o^7D<<t)8s',ILlI2B&Lk)GB`4Z,e38?iW7;ei,ke?LDM&J^\^XAgKiJ.Rn$\3fs;/1mA`\L&P:qlgl9a%32qC?*-1A(fDi*,;G]66f;8*l/ZW6(Fl2gbGa*@b_:iZE:6+T,*+3_ZP$-ZCEjZ6-A.UsTJFCZ8bf:VGL^[`Z0fr'/dZ*0I*)IbPc=+4;RIbpQAO.:qOM%L6EZ!=/V1i?4H:);5mffs6Z6^NC=*p(%?o>'Di@]i;&6:=@_+ at qD>ZPg)Lpb.Dcj[]B6d4"l!;&@;?GFi0q/phoh:://4.hfH_sf at DKdfATTG1*fAO$o4NQ;A*J#K6Zf"p0-K/^3nL1<[]>f<#7C]!Tko0<sOf8*28mCUH)dB7"%^^#T%EB.(?<=+g)g7l\eU=SEiY4#r&I?lbb2sCH%OJ)apo:CkfC+R!CbL*fm0&MnKkJ6Tg4r!ZG*$6cKXjuWrdFHZm/V0BpJ/N%r0P6=tm+mq7\VG)s)J*N-DLIEuR6-dd'0:aJB74Q/n,ijd++H?G^A~>
+Gat=,D/\/e&H88.Tk5.-$o'>kHJR!`l\c!i6+8$*Vg0?uM7/,\P"SYDK44e.-^#*6>B5=hBZiL-T&[NTkdSaAq''d^Md0o*5'*:>)0T9[K,kqd^l5LQE9&Qoc<hC#8BXY=7QcVBf6'7>JlZ$F(Y-OfVH%Li)OdsJ9,j@)(AH^0jUVUOqmIpKXJcU@\BUu(2P&CK"(b2(*sccC0I;+VZIt2^/tKbJji9`0?*):f=X at qVK$HRsWF##YU>hDO#-X$ZQ>0mb<Z.7E;OlGPqt0^X<`?t at YH,5i:l<7XXP53plM0rSp4r,H[eN$?_SdI2=a:T#,_BM, at D"%n'K-NS6h-jk--regEJg8e]N>t,f=_!Y6#1M:Q$=A at Lo".+lblXl(a1Pg/La0([KVlj-2".T]&;]U[V9r)c=Sp2@?_1n.`B3o#skAJZ!,<f9;8BY/_?fBImqj=[lu^?5uNPem'i=hbVDaR(483;Vkhk_r$[FfX_F5 at OX<Np`[hPY_*SH at ACdo#\>J\Rr6$P!@TQMQ[Yi\`IEGG_b9oZs=Bf?ume::TV-V*R,^"a\9O7,_e27Ap?'klu7Zo%%&HRM3qhq=MRr%dT)_tR&c$$"qi.J.F"U:#T,28X6bJc$HZ?_M\VV?is-l3sQ-qQPE<bS.Ml,,nF$iP%s\>\(5jbok/+0+[\4$DhX6h8BU\8]WTeJ,,6pC>Up-4YcVNCQ<o at ha]LeFAI<gaGK\!',&hY28Q(16q6<3q<>"8-0J;/9,RHPlb&O[$Ip(F&o`[BFKc^l=H0a at aD57"%9g?oX]1M0t7ceY,P+5<=trle/De_)a^r=DeMSO3mjI?R;Rs>X_W(s5A=<fCXY&f-Sp>Vj:=2O,g)kXU68G1j;f]$HWG&e\na.cOVOBb"&(Qn7EN%Ld.])&:IoOBiYEKKkmS8:ZtZC2M24&YSiUihY#.d&7/\NonBR;rc)QRh&iN$>nSAY(,W3k`Q79jM?S2KPh@"-RU`lPaMGR&&)1;MaQR0dQTf6P<.^I_91nV(jK at 5W>)[U6Shc7;Ra,te:;oUDN1:(m`Ul]`nV86mc at H=4),`%TO]uZ9e/b^V$nKAm$FC`I6XX,*OQ!Pm5^U7:h?+Sc`@g:N]3YNaSM:S_H@>%1eYla[rNU/Kq.r8)SdHbk4h"*H`UIF+YeVnK$hsd't*Gl4r`pLeLAfPSr;6B/Zc#B#eB#mu8oUF<qDejOfZ//OXE/Tlk?`rSWgGher:dB>k*86\C%lYS70o.;-n&ebM."+6;pPqTG"GMK_^<iduRcQL#>9=0*VES82q]4_"nHk'X+3pd4,Bje&61/sSfD2\hjUjY3ceu\m9lm7EHF)Ca\Q^*$>g)Q6LjoBsI#o?"Jpj#1HS+(CoMQ.Sac0*g)b8M$!AJD7f5:eRcU[@<)+bG_"UEnsH+q'"9H^U at k(@l5GB[qkf35n4#5U7r?AnQO:PNL3Ye+gE5c!E.eEsCZ"/V.s2;1eBlU"fH:'l-.q385kF%/\qWeRrE.36<j&ku$B\*tC:mcY.40SpGH.)F6h5\`-?9nGWni8,%VFchaRJf0[B"q/5Y/j6SI<S,cpH2bXJB'+5JF9pOg$1bpdOgT"JWQBW"Pp]n9g^@!3gBf:s[]';t,IE9!a5q8rU-:k.PEpK2SR?Uc5`7C1[-EZ2!U#1cmQL4KgSno$L&]:ld(S^?g";i.r_Fa!p'qj6rrICfnZ&)F3QlUCPrruMmc]q4*A22H\ba*5X35S79$^S*h4G>c$G2,S\9h>V"+f[7o2J8!Mh_7(q44IPeNqj.*,L#BX33kSWrkUS+FVc6JBZWGMr'8^1r/k1C/pfDLp1G'1Q7D;kY,/68llZ-?5IYkbq8-hrpON(?pB6oj<[r06)u&&/I]t>31<_imL/Bt^V)]Gm=(*W_ at i]&@Go&>'UIC7^eE=O\Dcq9aGee`WWg<q$6leY5d`u=fkCYamrEJ#]fn!n^<5=I"^L+u'KDo#CE43lN&p:25L81=-XNP:gr0:bl!GurpRR`qQS#QinZ1`<^9AQfa4(PJU'16FT(iXWd6R^4_`S;o~>
 endstream
 endobj
 93 0 obj
@@ -694,10 +694,10 @@
 >>
 endobj
 94 0 obj
-<< /Length 1178 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1148 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm;D/\/e&H;*)Tk#!J([6W$P+pHKrQll?:]s4q]"ihG+&n_Q%+p_5bADi?s*[C/N[UC&=((M6;**RWF3hPpm<ESqP6AsW"ln9d"nMa!N.)UO'%0Fl6;SMX=2C6^5GR.#(k:2%LuJu/Um at Babp[fS0ro3eHi*TJ>$_r-pU^:/.*CkP?Ko*rLXT^qNdgRMNAuTk<k=[+MUFX$NfB*lDf=*%HiC:J3#)(/,WUZ-T%VgKnoC$+2s"!XF)e?algh%*5lPUN:Xf7>d*Y=Ti#lU5O.s9A>#V4[Yr,TBLSt6tk]1J0*Xk at F0g?".'7f:6M-TjUR`T;M!VZ(YSuqWR#K at tFPaqrjHcR1;?arq(Dp#pZ&I,0'Q&1#fp>EObZrL!`?C)264a]1W5'O_(X^1r9dAT4i`RMGDk&=em[m(H[(;Q-+b+2K5,X7h])$u,KZ.qno+Ha^fVFk-ZR`0;^FT.C(mBO\XYU5V',cuDdk3T!=7YVOBmUKB\4Sq@!<mtiHc\dThl0,pD34=:/"Q!OtcHJb-ZI`>cPdlV]HG+$'''.HC-=R;H6s$DkerQXl-ULBqNn1Cq&VTp$$.rJp&TE#[J4(rOit7*Ca*91e&ZAun[5I34 at 1acEK<&gNVmYRqJBZ5!J9M\(Jj+ZG7^"is*\5#HdTm<8KB8:=#p(N,h at X2PC<s)SN8\KZF/^9s6JhC=o?WnBY$\S<J),4DKQY]QM2Mj#hnH>l4p#bu5]tMB%U!/a3EHddjg(2f(pLiNn]/i*at(-n0uIJYkgUDgENcsR5^U/N74LB/c+T(-CDFfT'nb5 at P04dcTRnl+43='R%frF0\LSd9Ti0B2;$=d\oc.XPbR2fZs)jZn&"PZ2O4e8b]4GK]?%ok%0huBkC;BXVO\_9IGNQPE0"t3a?WOBKG^/6X'ib=?4K7C]9j[PYL_q7QHNrTqXu(T)a_6HE7-D.OG15]Z[F=f+6stS$*]WiN-O=`^WtIV&Zu8mUZQS,O$p.$@Uh%I"])[!Hn'*sbn74aKqO"4qNUc:AUWM?:UuK;AfgiK7M;E&\gZ at u4*&!='QjM2uL]4TbZ1sH<Og_L-!I$[Jr*=79'g7dHO9#mZ1F4A%3g^BU(qd9V#in8hKHd*]+R)q]Bl5H8g3SpI46%n%j at -NLgS9aaHd+^CTW5Agb]?iUenY$t4Djjj~>
+Gatm:>AMtc&:XAW:f7XD8LJjlD/Tr%P/8B,SCWB\Pm>iG-N[Fk=)sd,c at 8'jP&*^ueo%/aJp'</Dn_X1\'rb#PmT2H'MK;f'\n[eJF"?fYTid=+p&A^dq/#kr3/jJo%?`O-GabSSB?)JcX'@ugL0m(Nh3KT6b_+JOO&&FEOIbH77dO/>1$Ml2.!baf&08=$@S283c\,$][Y?I at usVs9a8_62%o;Dn(@[0q>.ZI3,--WmC4:_>mj,Q2p![Q-HXD!1bQq]2WjAU6FL4cXDEl,H0;DPM9O^qZ(B3^;(U:4q?WW7U?ltd_o=j9+B7abk]1Mq%haO^fKf>kYQSEc)m!k0I,NbDhWs`BSsPeCG.CUTq?k#*##l$HT^Q?f!68O2Oo_I%f_'8b55'e9<T+LL>VH_0bLnD@[E[3b>GK%QK_RP!S2!k<&G2K3+ERl8)p5),ba,::YifpEg!=suk#kRT$M<aMmNDD.$fu)"k2t'#n/M.3%TIcDSaXremmLI<lh9hsjOmi%\&VK-IZrs.hO&LD:HG#u`9euVikY(+eW)'gJfh0:$TUb#W-1i?5k8mK<2HWfPGE8p1H,n/rjVsVV"2u,CN%Cdr,Kn6- at kY1Q:9ht^Ho5q?:hTH.uHcZ]f<mU`Ba[3#1I;gIWB0b_tgBhT!sYHJ2fO=(_WL%9XQoirD4!UKIR;l@/j+RJ^WF$@&"nk0R8b1G&18@/jWm+o3-`<#WF!Zp#M2CZ+r:!0&n48C<6nbZ+90$hCn4Oqt#k9oP--J+j^\HI1+:M4cG%="Wr+9>ZgCh<Ms=$3898u5rL01k1Ak\,/2MZ>1KN>n!0hP$2[8`oq;-N(#A]l843_lYDgjGq.`[7!p$Cn/O:*_[9\;f4G/TpU;FA\2ad\ASc64amQ*j^-A'`jl`3tL.cUQ;MIK\emF&I8mehqH=98fbI^p\@2`%b%^Mq at +Yt_#RB#47Jr=61NMqmsM?Z+lo^3=Yo&2.+&=uLia[<BTm]actPI?J-IFPV at d?DYb&gVDteC^0=b%&[ioPrrgB@:c5+fa';D^;!lRP*aYFpNdj`6m]adD%!soAA='5(8H at LDr(98p[TS'fn%2G<X?3Dk&hE#",p:n:=j[K-?2*5cYc'kd,!9,L#'JSF?@8lC+]Ap_h.%C~>
 endstream
 endobj
 95 0 obj
@@ -709,10 +709,10 @@
 >>
 endobj
 96 0 obj
-<< /Length 1310 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1343 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatU3>>O9K'RnB3Yc'#t/=ar7j680e>rGZ!&Z+3_<!i/(Os.>0m*p%-T[j&9cGYqAP*tf9+]*"#q9JC)c:gE^Hc'V:?j%kp5P7i,leqj.*unZ[oZL)2NHd-`"S_j]Q0TV5"Qpp`pAJ\hGs;QUK(3ce'4]$2+s:IYo\F?r;BV^>fIZ07h'M1S+-1oP8U4AQD@]KniQ>Z-at00bPq)*1 at Y=8$T5=HF)4oASg>M6VC&IjMZda!T_7+=#WcUiVPjKHonuPf[Z5$nJ]fTmr"[XV*e6D,HUJS#ag]rBI?sC1$<BFNob1jejWin>*fJF]l\7)pY5k^C!iK'^n?BY+tZdb;A1s^9Q:$^(7]&8P`0qbtCku1h7X697\Q+sIkMe2]&gJ#mGm<j''G]5Vb_G!WU(i\6aAW^T$`]^lW]3UEVm,TiP$P>-"Kq$r.?Z'aD`Gc"np@,]"d%$B64ne2.WVp5]C)>u^UcU4?=10U;KEIpgPfGK`C+IjeF5%fIgt&r*;EaELjXu+[Qo/G4Bl!!5s8+)`e8O.- at M&iR/*nBldUpTf\N@\3#?_GWTm2W*(]p]rNb]4dq&f(,:Ra54%#=k]f<9HS4n43c+V;9sB5-3pePb2_cU+<&J*d\76X[2Sl((c<YpU]JeCPjJY/_92+Rr4_c/onHeB]3TNQ&pt;Q5jP!Jkq&rahA=e5*L<O/pk(%<IKfcWY^E\OR1E*C(hM\>?UCO*ng?63-ZbXKpac6JDm;O-<]#XRLii$kjcY*lJAX:I2>DpI4s7V?.t;k+6dhWLX-u3\ER88-Fa[3+1A-gZ-9c?n9WW>V<U`Dk7Q4_4h46S]"H51fI""d//P?)@SdUB,0U<B\L4JGI3f0G9S.b!bOr9`T'$fc$$Tg=62*8r*4!.cao*SV(tden'd'`bH47_q6Wtd!B=jdbM<bo)4)@0g#Q>"l6s`BG[X#DU>?mPTSq_"#pY7Z>=d=s90i:A%'A*RMdUF3&gdYNA!/-;!g0V_5?VQC6&>`q=I+#nAF&>_;QNh0pUsm8!r#qY at b984o9^X,U3#3/?IJl^+Ha4D\';1l>iQjt7\E*[]sT-+/EgGTVR0Z/_Pj)VSk`M9^[J.+^Dh$Q`H&-TRFGRd3f+EDDpUE4+4=s\?V_WanAD8rVE$bG3fCur1SVp[NDdFGg.I6tU$([8cWak,j7YQM:He<Cr`uHk?G-,B,-5_8Do+'7Uo?(<j5.Q$2mFrj?l6E1Y3%OgT*c;qp&=<+1uI*`6/rF-V.R>Ioe*r2`\A.fgVDilR29QmGK8/k at d4B2&#"8VDQ(?%5/oJ.J'+[;H2~>
+GatU3>ArLj'Ro4H=@e]"929(]2c$p9LYX:WX!g]MXAgXoK*)5A(2R`TCnds0^#KL70k6*@8-GD<kPBViSG>,d?/8*X,='P%2+#T7KH6lgY_+CT0*QA^?t[2r*[b`g/`Xh"\`>0*TD4Vhf-"e!0D)GFYZ:\0H2%'_H#i&^1g6`V?ZZ21Yu9oRG4T4VGfX'G[%@$SF.Nb;QKL<3>W6#t^5!h&eSVfnrhO_ZU6$%-7B%tG[6s8[Ds>%:Ed-+J*/N.Aq.n7]cmj[K>nTW[b+GK_;C0G$X<ZV@<Ko at 5U:Bm#b6(m*cfon`:hdMpD`2O\El*mW`t;A7.03JG3`4QoM7TB_nj3WO.ae9`,qo?Kb^*"V/'u3H"cP$J$OPrm+L4JVmgh_Xp"/@ke06CS at QGY\0N',PMO,em=hBo1KZuQ>q:%k(lV?4-Ve5QV7_uuJ+$[_AVI$ThO[])kS7/:cQcpB35t at ZtrPk_OA`-UO=12q(.+I.TDj?dq]PX0HQiSp^in-e_(T5s%&-GtpmQcNs9p3GsR)<UapAqKsaafumG3UdnK4(U/JKtK6GsqoNIIe(fDI.Nj1(E87"#*6olj+H:!`7/CM(UW&';b!RSN>(V\Cacr,N$hM+/Kq_4266XPRQ*(E1ldg)S-nJ)6>"D+DP$U%C1)npoLcne!o_WHTU<PnjCqu[,:lT\._iU+q>5-=/mP:6'j0$+pFWg0(7gaq1k,%49>6DA.]u8$mpmO!S#QR/M3r8`e4ZVK+4DK!MTo^bQjb3L'[:KW4#!j)&0MLA<<nIh7L.L>j.ee:9PcCH[r.&c"i7aGK9m7Pl*bL0!=hs2Z;JhDi?iu5=f.g at iA][rMeYf`Q<.:1$<htRQ4Q&]]3`1E6EOcJKXu.4Ls5L:UDTWpBQU=PCTkh6WLX^UI9\a9cYn-9(VsJ/$\kkZZBCYPk57X,n8Gjqr[*dBrCgH[](-+leqHt&O"f,ls^:&__lpqCq\XnZJNXHeA\"qn&W%(7UQs;i?trLllj/TGgS.I""./d/5X#h&'Rf?lIO_=b,rlsLSK1A2GLm6ji._ZX7DB+f6u#T-\T%7=FVBXkZ)spl@*o9hR<d<6Kf"G90;l>>Q3Hj_.Y\"om_S/X%HKVa0rA9h;Kt[Z_(4j3R]rppClG(AKEruL/4-X$BBk1AYPo(_5p!U91E/c?Q*ZG<R,_8eRME%@TA>+IBCk&jV-92Gm7\rR at -UBKZ$A>O_2%kn7BV9L[49J_9U;QoN-=i0(7FlM`AZ"^M<s5M/lXlhaS^Z]/cq\k)FGNhjEY,blG?`T='U2-^PQ3c1bA2KYbZEO6\<^d9LNTmg"/=-hRgsEMMc*4=]f\~>
 endstream
 endobj
 97 0 obj
@@ -724,10 +724,10 @@
 >>
 endobj
 98 0 obj
-<< /Length 1243 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1240 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gatm;D/\/e&H;*)TbnX)'^:U\U:@?&d&nED"@]f0T;m:cCcW/?9-,Z422;)(;(n4`R?X&4#[g'MOa$O^GK33l(R+=N1;F/lYZO[tn1_ZZ14M:!N1%X]&r:e:fERs\:O0O_%dntgDaU:UJ<[Ih0%##g=604&*P;kZH13AVIG&Lead4(Wh(>f#j\>J[$pN`&e[&@!Zt6Li9WWHAr_gf">d*/QDXF')E$f`A>Y'F%3k3UrH=!O'`Oj04Za(hB48\O3p==P[2Vt=^=rY8<6apK']&aVCY2*hm*-?@9=(B9!n-7g#h%kZ17,%i>34^Xq"XtuDN,:Z[cJY9?>P/GejcTZ'B7X1gT;>f]M\o:D1#h-IZS>u%2Yici],bg9L%MWDI at b=U4DU+&OAm<8@$=:hl.RbFrpaq'Q!kPjJ4*MMbUEeH,eMpt1b7/ICgX9.ei-M0fjUqeU,sXDXbVd$X%N,Aj\kL?lbd=U"=o9fS"=9F\0i7%[EHqBZ:r8r%H]p0V_BV/-96_gHA43t*@Am8<UiSN([j;_bdKjikEZDaP.E(+],4 at bR0XR_J:r[`[G;S<?KkM'N$6Ah#R%V:4P-TN2eR$Q()?u5?UG$m+YYoK"qEp)(N(S0]0\0[]*cF,57b?_XQJ3MkY_&V57q^NVu(MC)cZeAi[=qd4c$;e8jBeZ/fn$en>u6J_0U=\g%"Ajn+G#Lg3I70aXM*d2,joJr'bGM8-"r__^6*"-llf]EWI=)Dlno at MC`h6BpFs)eDlSr&5 at 2k``dZBlKZ?*7B(f.]':o>?%%XZWs^Q)ep18;nb$$);0h%s at XdR/#3cMUrdF7KbaTkt"F,#(&fC_^0FMY%N;. at u<9D"eH^olt6uSIi7VO.RL_1hn0C%8C8\h8$YO"]E%@'2IYdR,<>c)\r-Mh08f+P:2l_houJm\ntM:=+Y4HL]m!^$-6N4Sal.9fgL''4]i"P at u[Pq[=+5?Y(Ob<:L^C*i.Z:/4%@P6^bJ\+R@]0>Kk(SI4"S=>rB`Sj&or?WlD#%5_f^6b]7J3V!R.g4H&"W&>5Kqk/fRhg=,ie8!V_.K:R0G6l3=n[MCX$08pYnDNR6"lWJ`NsNgnO&_$RM0tXPWHkYU8MM;\n+2A4A'RAQm3'9]l%T$&rF5>ArCpBg!l<)%1MFu39e?KO"ma;!PIKX4,]CF at 4#bUCrnQl*B'4%-Vf?=C,J8nOEA0a at 9f?m=7dX-P]@M\H7n\OFX>qAdm\Kj_qXoJ:~>
+Gatm;gMYb8&:N/3d)q7\,\-8%gdNh\j4XZ?_ak^=WTo*[X_a`EW%0 at +:upLi98_k0imLC0#SOMfR at VM]1HTtC)kC?8J:nI<Zh5^TDFYrXnO!AP-uR$JKpW"L/GOS_OJQ#JlX,S3I'UV]l)SOf:GD\E80u,[.3;JA;SC.qS+d;seRh#8C.Sb)eQPG/4-NHmQVhE:S'37U7u_Sj(,I)7<r6p!358o'M1J8<dZHMIJCB-lQ[gDr*.nlW#Et'TV)oX^_K=ADXB(nb+*rEDR-rhm_]mj2qU(Kb[p;LW@\B1.5"kHX\uVnS,(@3W=%NF:DgR*POoljpasP5K^"P1G.L&VFaX=98`.9AP2Q at tbkP3;D<g^Sp*5OqF-dUIF[.,3S363EYT8R7101EE?Vj==mr)f\+0#,aIde\B+g.c,QMfsdU2oq&?`,]K1M<3R1H1q0nRN1p5]D$e.nO4jVZF7\ho_hHJPS\O8\oM*C>.aUrqV#)4&*CmWhP1<'PnQ`:cBSC\0X.^irY"6hJ7t,DV-bJ\&?@^D-C9.T6@`Mt(f`d\arVlo?Y'!\UmGT1;f_/l"*8rZi\U]`**dgJpLo9n6qrJ^I]N%:6`@"2?6uSRg8U(`f,U3;5W(hQCR5gmoA=X-iWp#>MK6>RY_Rp,]^$#MOE*LV?o-0L]GP/4G+$Y!p6<4/();o@?+7H-;K'&1?(12tnRA)N:LcN>O('5hphg'NN]0*F#0)$!X[Q>#;3O:6cA)_Gq3s#:/;j!ReMc@%X,c-r,?6BL>oQ;DHik91egU-`TsIJ(mr5c<B.1Gm8Kco<P94nB"@dhG&fOF$@Ls/%,fHcCH0F/+dO__!Q,f50O*Uip(AYE*!-ciX%rR-B>MJR#1Jap>EX=MpV1!Ja"GPlZH0<sipSQ#MSS.hZ)h9Ap:*mG0hjMBI`c2MO9L24`'2ki\L`_86.%k;d;PFk]pk^K$&?QM])p[[&2V*>86n00?&'*M$\FrtUflpL7M%u&M^%@dic@,s"CYgB5\u<+tT:S"dm6s\mKp1u`Gg`-O\s%[=RQlHCKfC1cUP=BuWSU`i!='8K<%J/,>jm?#&9Sr)YIR\t!l;u]H9JH"'PZag`7AL\N$RetRk58[RCF!E0Xj^TR.2.<J*u at Fj_XQrrOPrGM)bSK0P^Vt+p+Nlp#s<WSUJ0a-a*N7,N;+aQL2f%CY.+LCYpF+ASAM>&gWCBhjtk*Hd+^BYdZX<a1r5K'AB&M($PHk('~>
 endstream
 endobj
 99 0 obj
@@ -739,10 +739,10 @@
 >>
 endobj
 100 0 obj
-<< /Length 1217 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1188 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat=+=`<%a&:W67?r[o&"(f]i\D/,+)TO=((l$cp:Ji/IC*aPOTe<=s7a_7m+Xr.=MCYBT+[]MZ2odkt%c8oef*g[P++/";SbV&Z69H at iLdr/u6g7O2`*9+qVqJgdhIgd&q`l>2.4E_;(gS1VG3-CHr(?!c2']0&T8#&F/!sj4=C:UkJpB`c%4bcii\UWILdlgoBS&h_8eCF8DXreT*GffGHiA/oks(N2M8(%Q53hieSaI0ic'OHV^+1Dg5ff(On)Grk%^l7FbWcp*-I1T?h.YG-EhMD3fYlIgM%2L!Fk1XIIrV1d#Jo2/KKc<U21AGok2sX^#QG&"U7V>;'\YO3&-75!$As>SUPI9VMu!KglZ]HGKibVEEG[b;D`2m*X]%CONWoOi'<eRMkC5t%R>1hH3H_AkTp:gfDLbVM+?JFD(1e!o*K1(<#a"<[1=K#:SiP.aJ79P1WpLsUNFr_X$\5\E at Vd(OQgQA=IAg7T`/.gFN]`BpFeb'%^tWP^XZ['gqCMgD+7JVK_)"ZW]K52(!'qRqG)mYBDHAVFIVm;VMCCW_3\)chEpKDOTM>/c*25t?`V,B=049(1b,2'k2YNOG5dh, at 3qK@j>kG6S!(G0C<#/"I/V at ._Y+/mi^Zk=84>1Ud>m4Ihlnlp4E&jAR^5YEb/n]ek#m#$W6`9hPV:RqSEmE*+,tP)%(.L5'58rAjKD.j6?C)9h"J;5Z#n970A<]4Kn#t/-l+Z<MmCU1C_UCUtb$O(FqK'bjGZp=kG`eE;Zr7hD(G=E#-V]\,DO6F8]RDV][^1F0g"QOp4R[EU4mB_fC8H'#4?YM,6)agM;CY"plr>L24G<5%g-Vb?daE?0Yc^a5f2#'<>i%T_a_&mZo7"/NO&Mg_g?:*9e+p5E**s9^<-9fnA,D3X%jp2ghAh0P?,.u:2I>9k%bn]!hC%&8:?jp/-j at K0E$HPAKIt)]<Jk9QJ\pgE.$UlEZl7\!]/I:BIAO]pT>+^He;<[G[a'o:%HFN$/4<7QJOlX?`-`-U'e9F'I5>E/;l6;*g9 at Y^TU.#0_&lYrIQJsT+,fees4Cb0.!dKUk#bVE33q_\b^BBMIs,t<,2JF;es#R&^6!G0EEc,GbK8Yd$V=VPOqSCO2,rIq?dED(48ECW^3Y>B-_!0Y=B7g4.Kgq7`HUuY>-7^s%UaRtOVP'`EI6654_jDS$%-a.h3?m#g?9oce+=_t3$om~>
+Gat=+?#S1_'Re<2n.r-jY2In&jmfR*Zp97s.`Cb0-ense32s<jSK6IL#k?f_:@*5lG[*L6Wd$;^I[kcJh!rSLltW46ie$JIf/)%3b_Y<=+*!+2\EMn$?T?6Yq)FH'6 at J)\n_AHbr/Xi!ARQMWH0O*FbI9j/:I1sWgjekn51_:m:,3sYM#3?Q?g#i6dK$%<$ViD6jG6I[*?^`)H4tGIc^o@<BlM`gHl\TN]O(:k"4<pZdn*TCKDEKA,2C+446Z-%0>O$@a5'@OD at g=p`[XINq4i9U>Ro4sr%\I_6_BC^8nYuq4l>&U:)Wg9BA^^Q\/\&W:(q%Pb4 at nujEB=<:`O/d7?`tl#dkQ?3A>T5ACSCIe4';hr%XSseO#.T*!@3rLn<AY%);6pgtY$I'#N\ea]!uo)h*e`\PC%_O_j(BOE&6a)Q at B06#c>8ahpHc2&cdQend>O-)Oj2:]ZfK*G*5_7LZ%`KFn5Yp'k@\QpW,q^QsiXG4,1a]1jCU5SmBlN/V^gr[M9o]nLU3Hd at 2D<rM3eeB+Vgm%^_uK^#XO\r!7^Y<aSd"""p)+!k'sX]@o>Se^?:al2[,B\Ju$^ss,9`F*1E],l35de,NoA4&07JWt=76Er&Dn<:k+Y4ksY^'BNXB]j?g[+0to^_f'FjKYgl!cR+:cZ!9[)TFcSCoDG2FU4&abbtXncGOsI:,$Kh?Zj/.fT\O0<+u`gotb2Qa=P'OE,?RhPn-9+kdn6YkRc>sB^#U8A6Ln=lMI%C>),l<@hT8#I#r/d at .rsuo[2=dTMe[J at aO8MDT=+_J#r>'$S5GG``["PO;e^c"u6BV;+4>e'^KMGh1H:CN`DR/;Pq6H&&>a<*Tc-E%okku_T)hF\dE]*+EiaH-CEtc\GR`#bNj"M-Tij=`)e)'BO1HuIX5lDWUM6IX%&WIb'iaV*/ZO at 0C]`_nU>RT[29^`GJ@)i,$^d]Z6Y+6GZu+5YFa7?Nmca7a!WME)MG/:<g:;7^$=pHam__rU at 9?_5<q;QnKqnDI<B]=E[0rAcHtm(SS&o%\,FTG5j*F],ah8ChJq8b/`jfGlEd*6.2l7XQV+7`hF\"f]jB"`5JDmmL5P$p"Nl/k*K07IfNHQ"T"V5_>K#4UV]8p(#Xm3XHSg+k(j#?b66&<q<_,LhDTD_7jc5>341W.b#[WGYD54 at 3=D-k[/lj85~>
 endstream
 endobj
 101 0 obj
@@ -754,10 +754,10 @@
 >>
 endobj
 102 0 obj
-<< /Length 1207 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1250 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gat%#>Ar7S'Roe[:gFKcMtTOa78iK\!c&_k(kNsT]Y.9m:i/6*TSl<5=b:)^]gk$I;Gh=?fFVbgn(^,K^"k4lf?,6h\B\^$E1OTEEErDQLFA%L!e5XdC_Gp[`@foB at A6iK/)ccq(Vb-STt,OF6pCX`E]uRSho?j'"f5sq_F/PIC'0P+#Wl0D$#g0p;8;T")710om.O8(Yd,Yh%&g7m7/IQi[sZcUq=1ZSlX88Fru1u;YM9n`JOaJ5a!CX?I*h3',[nEI at QeW^mdsQ@>LON#*Ws\`)V.BEOf/8^hD,;0aiXS3-R])3$+eN0 at FDll'=JIu/&_br-&9:&CZZ07e1Z_rGao-JT%hos!DnJ?-#cX6kMfdUdt<X.Ad7R*SXW/77-WN8qmRQS^D-K?q!TmhoVBUaPG!T-D7Fm#P=)EIQ?V.>&op!O6>N:X;7_aF>q_\^*:mI#_>TipNLo,PpmeQSVl\<1#H;<8a3b^([,dmI>oH/:L+`"ckThr[<ZE9uQ"P*:^,/k%:B5/4nW62Oku19+f/e;Wo38o[7]5!,pRj8mqO?9mg'8.9`/5J'fG8)%Ja6)#L]H+SMC at r]_]H`(jHSmMo3;<r/J6Jha]l:Tl:hF#`B/1A1iXFo.1'l2X+0S.j>"IM+d,1\&DWU;g(4eZ0=Z7-dT17oaW[VM*RPShB'D#lKR+?.@'qh.es=.Pr61NRb,dBJJ[L2H]/NR8#G'b>X>[1ne.P39'9$((QaG5=oRP2Pmt46lFU.Eb0aQ4h\]^bait;Kg!t#Mh!d2/<F(Cca0`a4'QipcE:\gg_0t5X at otb2T29c`m")1,"'E'bo1Y2k$Cfo4".XdEF>WYmCK7=5WF)PRbL)&1mL?I<TH3srH at R%[1e%q_O!EG]K'K]DBM#uO[@%0[unYUE2]]N"V]Bqd/9&ZF#fmcBe;.oV5SfL4TYAateFR7b^a4ip"o5][r.h\EH\i at r\M^hN7DLF(E>CAX%M`?0;Se]m5[P<L2/rjrCPu\,W\i>Sl<\<8_N]^sCUFlc3LYFB'Y@:eK2`h`dk2OT at R>%>p+!(IiF`At<`EjpIr+T!4<@VU58I1Cij4K.$7`H`>q0+)L&R]>fs/XE(TDB"jC1?E>i5dS51T&#Dg=\.Y=M-6C./5_W;q[q'E0MioV?Xc;"pFReo#g8mO_6!Jj(Wp4ZYWOq8HiE:30rO)h;AsM6i%/[B*a1~>
+Gat%#>E at 5m'RoMS#_Q/m&Y-*H4-!H/=pBkk)Bfk'04Z+jlZOI08_6[LB!p at m^*gDPK&$p:>/edtIQmbVl.a2<EiqMsJ9["FKQrsmoa$#F7hrp98Jk"`/Q2'71t22%^="h+76jJ!l0Id-+l.UspC$pr>hpa]<VI]+/e@)i\,Q0qqRX/K0RBj\cBe<9,S\LPT6WBPim1Ii!WIi5(f=NPk!VV09YTfte)\l:i*__^Dd5>/LCBEI>oR&h9GU?(q9gJ4Gpt at oTRJKlT3XeY^`.BZXK]le+%2<2)COaSP&/$qc">XeIX)n,i-=r(?f+;YDWbAR at a'V3M0*8/o?6,m3rks<-u%4!(`bYj")W(u1O>B at 5P7e`rRpj3aMDf1:Y,J#/Ks?/YBi(A:8Q6\\Lf'3dA4K4#jj[A?@:SL)u['@rG=b)YQSK90i?N*Tb@%ejQ>XBBRC"(!]d>,i[Qu43/#dY7C at e%J2G>(d91BU'c"E%\7#G at K**I]2S`Q%VuU0GUTbZh`Fc=2oj:/u4C)>+!J9$_@,UUtlS4`r.g)pW"QEOK?fF.1cV5;oo44mtLPn7-'m1NX%g>LHoIr587)DA8<OQ->:bDgK-%Z-<TT]/V>%4HkKo5r`W2;31^.0KRY\XFeEM=T6%6>R2?#V,VnA+dq=*7$s2V,DVX?Z$f,l0.82M:B]OLLDqLLR4[/`%PU2.U&+?mM[\GlJ>Q]<+7dhK?&b&sj^EX-K8'flDH'pTIZq@[6"nqo8'OQOp/qb"*<fV`"p6pa9?cP93P:)?Q1AD,eIm]#8Nee(jl]ZpR1Lkug*u]eh>d/.=hO5htJCat=u-ODViR?$pN/HbUclK\sC*A_4qZ)G&cdEP@,]Tn'M<U6VcL[Nid,d'c?hPEiUrs2CJM.*a`<<#MFJS?IIN=P_kpaCAWXQUlu<V/`A_[h')70:G'RBr`r2F;NKtNbAcDo5%bBTH8Xuc$JDP1b1d<640_kV[>grW33jcSj)A4*6#qH?o<=7(pgZ1Zm4<M4n`L;(j+n;la8X3g)a6$-V$(fi5hTgiCu[no,b4OE%=7o`d:DTA2kO_CPGHW2X,20L]dhc7Fii440qjOE*@A:W^Rc at U$^WXVNg)-eq2fOmDq"&T"gkSipbMbs6-F8Uc=ofH8]YS(#LYkJ(O^.WWXS;<M\UE)):Z?p=>GB-?%(W4Q<8f;:9uh!jtY[Xo2O,jG:O;W-g0,7;e95C\NT1k$-X^>tA*-CVUndP]rGm#FmCoV#~>
 endstream
 endobj
 103 0 obj
@@ -769,10 +769,10 @@
 >>
 endobj
 104 0 obj
-<< /Length 1276 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1203 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gasap>Ar7S'Roe[:d(nae+c>DM;m+ITj<:[#_lX?V^a)WRs"qePXihu]64.%UdS at M6TIR88#">kqp(2ADs!gq>7mPGib6%I`R/:NU=fC;#RP;WH&R<LBYKBg:@e'7RO,5(SRdr1]Bp]*?LIO?A9lP.)n">?94)(0W3Y[uN;VFcL$fF'Z>'%g/uq<g).unJnD at r%+3f:!6Gh4n-O*\q)G'2-c;h9t-=sTJ>$m:k`U^6sb4Ah^W2g0V^&4u?[IM!.ZM3nTU@=,?@c_=<\F,qmgcpOuVAOu"YaPRIC+4W^QJ'3l*)tl"&8>+NX:AF)au,SY&d"FZErUh>-irH3[?9#.E\4[u9BdhG!:`UL6p?=dN"H-5[k_qQQp>th$)LZ4&J.<'C'c48@)jP%aUQ at f'Slk$>N at 8L,[5!k^$.9=Qf<_pqXIhT22kX(+`U%K/=8EL%L>RV)2*Tq]#_bRhHtV`Kq@`97Ms((En^l[&*77FJ*9kH0=tj%1<\2BZ58tMO7E0F5r-XapX5F'ih;ku`.4A[8h(Z'/f"pm#Nbdb'tOpfTd^*#1107nf&B8(f0fj?dNjC2qilJ>'Mti'N3WR?lBAik,n]-e;`d3>`+&fSF]@7NEC#d*"Q:o#]PRjFGH`]An,8e\(9>(h:qi6APe,'HeX-4s$fWHV"ro!"JAlE at Pt03WbWesu*&tiqb'1C"D at ca-HX0[Lc8P02'6Zo+UgdGQS,[27a&SZb4_Q*9JKSUdTZVYWjJq+J(I:J@;P5W8AK at encYM1!f>G-;Se0?3_ffV4GFASKR>6P&jsb7iQC$d<3)nkj`CUCca5/L4?<OSF/G"APV:#6 at 5?)[4+0`Tb`,1Ule_HJGqh83jV>dmnn2rO?"3-,sglf.,K+2)sjD8Q\BIiE5S5!@a!J=JSD*ujZ#o^3Y>i=:s*@-1*c;)a)DR&$ORk1V"I52@<O$hq0$"5_'*1H%[p%c.X;IR!8VsbfKKOumk>ce(LaX1:ZL;u43VYPKKj9t/B/5fEnk.d<=Zn7KL\apiZ-S??P(7U$<R;i2siU1R`Z2%)IY_4Y?6t3K#S/9"R/;AG">B18Ve5E^aFDX\0Bn\S3(n&VO+0UhMAJadf9s40oK#Q[XR[;'<mEU$AkbU^&P\,Kjee;TK6hBuO\*4fP1[FP\q&Q6UBo7G'+o<GUGOs3hbn#YW0QLn:6j27W;]V!dd<bH>k`,Q"_4FmuR$u;cb\3i'g]`+-?Q-orB!nE0_5uGf at N5#R2Dc%gGBCZH]fH1:p(?UAr=:5D&fL~>
+Gat%"gMYb8&:N/3YV$8RXutPk05[/5,^+dT.+2.A$B7BK<\a]5<0sC"-cj&8QDDHq]Tc\=0M#r]B?jag/LHh9O[f]hDm>lFD_n(._*@54LuCiGs+f$,CqWWn<KYM<$_J9pl#6O\kABp$WCqB)Ah#]:q/WOqfrm4#em#dO2AgD+]JZ(ZHR&'CH-?3U+)c$J_--g9ouI:Mk-OMt?pX*f^!g\%XlF+uXd%E.ZSt<NDcL-:7e4EBfpP6/rHhZpM(6\kSRi=>"VKp1O#-.X9+HQ^m^9'0SW=m:362T`Df,m$+mcF*C-;bbVY!nhIhkIqPpqo$KB6bIL]C%Q"W4g1._sN;b=DVs,I"69Y'T:`XL]mO_GQ$hGgtHb/?cHZR- at .ZSOt"inu&1J^&UAW"hbTO,3_E#6i!e2a`c89G4F"BI6N1daNJ<pT\"B\$e]S?b-SB'oE/Rl%",Sg&rkh]H:7)9MRpAtrQB]%a>_[g%m)k%>nhqJ=BV(W=Ie$a4]2P4JarbA4">ddc_qkH+R,lZM,6Oc!O]b`:hun-SuADm at jR+g*,??&8;Nk,8Z1SF5YbsDlp<_s!uoFZQ/Fi^/sFd!f-S=^n at J\0b;>8aaaIns]bt?AUuFE6I".$">t2bfW/L;h69">g8FS;5)S*H#K[miPY_Y`?mK=R6^q5j*NH"Tr>]/%E^$8DT@,*S#$)c$q!6tHiE]Z`]mKXj=AW3NtXQEali1FO+k5g7`@?[.)S--H]MVaB'@3L_\k%7W,Z'XU:bEnD(pg>u4b1*-9:lIgdLnd[eH-JJj!"7'-E$R%bK_qP'S_9IK-eLh<oVShHJ^T$M(OGS"PpaO#D$H6,Q/=)tVF<\5rI!RaQST2iDZa*ZGF:Jph;:7\'cKOQ7BBMb1!Po`[O9sjZ9k."i9mGj+Un`!2<3Cnq at Cl3bGJ`pe;,Ap%s1;+]M(8pI>O?*4*N2!?2]3<8HVt(f@=`]lJXQAT+J$'LZqEtDbfdil$U*u#A%#@i+-/[^S7mdgng7ph867%GZ\+KR[<7T2+QK;Rth?sN=d[oifV(foA$G04ltNPo2V[[LWYM;Y5RK@(/he'3a9V-Z_*_4*7'^3R;.It4StQ7m9M:js0c!QK4Z7Q+uZuW7P]3lH0`QoP?6m=Q]INW"EKf#e-^bMKBf=B)L?&%n\1rA:T)C[m17McmW<YlJWnYi*f!$PAT-fpAUrnl~>
 endstream
 endobj
 105 0 obj
@@ -784,10 +784,10 @@
 >>
 endobj
 106 0 obj
-<< /Length 1470 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1326 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatU3D/\/e&H;*)+W)'YGW$e(e6BP6BU].JOCh_Wm_e$lTOlj9,*<p83F.F=pJDQ?;2XG.(kMbIna<q(5'Ng[/Ono)Yle:i3fD8(Fg`OY\G?^s#R+BK\fM-NZcJ[6a\FUo2Ts3%&U[Acc3- at Qk(-_T:S(/'^K&N>09V"Nq5-^!EllAFZe&j8K<t at CM!mcpedGpt7"1-q:Ld,JS2RF_4/R.660*SVrdUV!_V.i6orCRU%;W[HU8Z58>\8k*]>9.e"<]`Pe>Em$i.\SY7T-gfLdDQfq$:A,J$%;?o;;>rrH*,P_A\bF!Cjm)g?KTs#_=*^m9!8LVBVuPR-FY.F7t<:#7#>?&;\[Fo)<%enA]n4J=]P^Of$B,;40.6']WE`1^Z*'mn_WU!5ea36VTJjnRE!?Y:`ENmRJ+e0'0TVbVGX[Ze`,$1%5Fh at 5J#o!^dGh<?Wq8%hJnR>T3GU6pl7O)P.I%j'7ArY603'N;JPf^8s1&&J2KIAld5?'%s@`;n]kOSdcL@:(bN1#Yb1)T!L#HlTn5#QAT]o3M#FZoN)i!4p]EtI*U.JOo2:3XL1S'lp;f4k\,/jf!K!:Khu"^#HS"jN(h>S_,Hq]Fc3_0o8KmAI[Wch+4&nj!*P at CD";!RRg8%82!aT^<-YGB22SRSJ,j^_r$a!tC6-*A2&aXoW((-P$i>;FTr6RZ0/*B7Moa(u44G)!%7#<HBi,QGBPLu8l)e\8'n#4hK7XZmnFTC1pV:h?P'MiC*6J?A&;5ejRV]\,-,8[8KtXOf%tQf%1CsmZA26A'nMG>Zi+3dW'mk3rb\Wn4]j.t(heVdXQY5@,M1*bL6`5shdrQP_*Ht$(7r<aDd]B6<-]1:hK6V8:&3St.OZgAj1*c(AV=]r:Rq=dl6YiG=c=b^CLON$**!,C:c.P:eC-Iq"R3/npH at CPf(]l???VhbcXF2,WRd9OPiIrG2I>FH9gZ43LkEN-Y<N5O6RX]^FFhhC\M.!@T<b!<:!URD#k=g,_Xf-'Z`2:6);6`c.>P>!Ggm2b*Vc"4SqH"JM6Y/-R/`DH4onk"jZaMim.;DE[mo\_kG"Zo,"_?<!^[?!ljM$geJ#M&Ue+]G<)_9<=5I.F]TnHsPHM:S%CYiCh%a^5,`KDFIL:\`JE_YYr[d8Tb7ang4=3=EX]UlOM+,EUJ:4tQ:`E'YuJ8rr#i&ZA9-)In:XB>B!;6jG`h'82En0;V\IiqX)=;KLm at B'6l'(mOD/?q$LR3[8=bCrJ)Z*l=,Suo-^U-'9,[=tO9,isrfTlODPgnB/tUED=kkWD&`Xb6_(Bq\n/\o!J_s,U33*X&0Pe;7(dXU7M/Ab at QaNGqkIP<^n7YHMc+eXiQ?[?;#H at H+d_H'V-l0k>)%@ro0trE90AWko0!"MPqOjgV;*,]u#??UjK"em03[Mp^.F&V0$+\m[*P)ssr_V!duNhim92$U'XE_[dc+7VG6f0<a&1%f~>
+GatU3>Ar7S'Roe[cjX`s^%d6p8PrZX!G`XL*J3VjpF-FV9r;3)16kFO13D?%+)+Rg4/C>7#S>&kcZa9a\`i-qFM<PnMu\.Hoa#i4&b_=__]FhcFi][U*.,l2G<76sp%p69.&Pi`5[%W;d6Hn41OkEl9YEN+q=>1lT`0_JK<ZV:P<:MHGS9JMhUh;)<>\LPW13i7%;N?>O^bF;T(WEh*/XPl*sVfIT/YaO'"Q.RBf58GD8+*PlICZc]Td-8b2h\ZF$6*#F7@[IUOs1eb\#j97cd3'_bahS!^Y=DX at j^qHVY>6Q[JoY3?@AMG?7iUF"r6eK]HKebRk#;:YfCj"lJV9B4ZdN'Su:f(>J]oc%)_)17(!)B"T^Lh-1QUq2^rV<sE=gcMG$-Zm6T\ATE#])rXCB$Rc/5k3IRUT0Dqo)K)\mIYXOk4_#0mm(bh3:.V%s.>>j=ikEWI]oFK#[#bfmXKk1dif?YW^E".rmF"s5eU!QL*6YUFClC&5;+H at A>3(rnehj"M:]?u#rF$pQMq.S#g"0C,>bnd+X1^0!NdN_p at 0XZdIrb]H@/)O9O[]b2BA/rh(hq'AIqa"a at a6*BV@/X*1gF;tD&$_^3d_65g3<jJgIg7,TGKcTq+U5II)u#%S&qI,/TQr4>s19Y]1`;Llr82&MEUTiK at 5;I!<gH-PJpo2M63?97Pt[+T59N%"VBXq*UQHZ/6OK#YUWN2Oba*[q;'g337,+_aP))uE<qO"D3E#N\_1/JPacdAfMXTQqHpRsHMqf_V)0e;_BCc+hoRA&8?m2EWj8^[*4FUi$A(FP`)eKGfhiFWFclZ,&$T)'lB&n,@,B"2(FsJJ=;F=WeY,>KKg8>QNf7mH]<un'Df:)mLEVT<G\fnDGmN3:SEN*-^OI)nSt647')Os#+[71@].2Ki at I's(>,0BZ^@`LciSbR.\`T@,,!ZB$N[MnJ(I!fYT.F1'O+<[$(ji>]h-5U%*,8;,>XbapAe)bCVp'4#C(398,DZc5("li]i3dfW4aa<)Nr_7f"qFM>U:*`X%BTpVCC:?TlPX\#e>_6(l2tJ.S^-6Z==Y79g>6oigGnKlhkoCN7/a`\^WaYt;s)/Yep\tf6f"oGn8=BoYpdb3;D5=\W6JJ!C-FKA&A??7fg.VX1b"Tr)tDB at CD5Is7ncag)n/3u?P!qXn3d0QF*LtBU4,2;hs+djk?P,fR!OsgdQ_=5R#BL,+0!D5>qSWs2'5\B!)>7&e_'N#$B8*oDa!r6oMU0\Z0nBfY<56=<C`SQ%IGYB6UanRAp`^,]=KDs,e*)<b:'WqlVo8;o[_Sf&fgO7rrGFW:?V~>
 endstream
 endobj
 107 0 obj
@@ -796,241 +796,236 @@
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
 /Contents 106 0 R
-/Annots 108 0 R
 >>
 endobj
 108 0 obj
-[
-]
-endobj
-109 0 obj
-<< /Length 453 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 817 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GasJO>u-),(kqGS'tn^GX8RM3mH/S#N7!:d'B98%1.h8.*DV*u*E5'.Oc[okk<.q7%BCbcflBIa(+ at 9LK(]dF`*F'kKaCX<`f*cZ<9WFY]g/bL\T87;-uiUbj&\s/36Pfg20aDt</72)G(GrQT&j%!RI6-fiE6],:gk?I-mjoG]Zki:LbXFHS'k95DS9`qb)XXg#d%fX at 898)&'_DWDOpTt/"[##'gQ-7BP/aY0;\,3j[JW!CN^1DcL/]1="q++;A1$+hD;XI>:1T6'"g>Na#:J5W?A,LWBH8g1>d0;a6>aNmQNmrl"S@<ZO>e-.jfT>oDHJ(`Z2Yh].2G$W?#'33"S[@Om0<rAj&JuaRddFb[W`"[7R*Rr`AEE+=NP3Zh']sR5HCRSt]4?">HOSVU?o'9VG7l0A]r)J1$t+ at uI^ac;4T6s!%NT]u at k[.0S'0.D=m=~>
+Gat%!?#uMY'RekG_.,6a&.hh->Os^H-ge8]Vpf at X&$1[A%4bZ\B_q1Ud3r*9VrNDM4Qfu;"YQ/+k2J9%(dS;QI"O\h_#W-n"&,Zt at h_0JKCf/XS\.,ik6)$O,(p#:;Ds<40Ku at TIs_t,W.^6!GrnA#;$s(f9)Y?njhchE&*?4F[QJmroANC3B!/e:.BB<o6rhPBjl-+OHjAoj=mAk9a4-/>\)JOQ]!C$4[(gs)X_6\-S26U;)p&ieiOdM[QSYB]2mpjJ`JopoZP2JdO'V?T$KYciKiD*c47hETggnZGLA-'G\'#LoBWT!TojA.W9Q/SNQ]nJ`O]ANEHXS8j':ceoE+9cGii^W<orI*FK5P8_0]#I?In[aZ/'4@>f=[A1kBGCWM]!jkED&P^+_.>&bKm.5;3qTK?ppVcZ$AGm)GD=Q>Cg9$OE':kjQWVe.YT9E=O6,PD</.)`Or'Vk8PaYA/\mEU6T:EV:9P9#UeYWfnBU)b:b)UCZ/s$[H,2d5t#[q^KSl7U`k]M5gT)].$_F*\`/=Tb/nDn!'s)+hX>&>4CZYags^t'3erVnTh.?YQ\q9sZF44TY%64A7?c+qhj7TB`T'>Gd$])l4-[KR2YPVSJ_4/jW9$HYfU'(JV5&]0_?P<=eaf<-5s2DgkGad1Gs8n@;)91d-5CJ!F%[/#D(20lr6&ha,YfIo"9%b_Y4gXf9u5h at OGJ1VCRqSC_V!>M\+e+%H7 at E>](t%:T`*,,0an'h\o2,oMu`\9j5r*;!sCH3#nAPNNG\AqDJ]ro_tDX%Ef>f at noBOGmLBeZcb0k0PLCUR)UIp~>
 endstream
 endobj
-110 0 obj
+109 0 obj
 << /Type /Page
 /Parent 1 0 R
 /MediaBox [ 0 0 612 792 ]
 /Resources 3 0 R
-/Contents 109 0 R
-/Annots 111 0 R
+/Contents 108 0 R
+/Annots 110 0 R
 >>
 endobj
-111 0 obj
+110 0 obj
 [
 ]
 endobj
-114 0 obj
+113 0 obj
 <<
  /Title (\376\377\0\114\0\151\0\142\0\170\0\155\0\154\0\40\0\124\0\165\0\164\0\157\0\162\0\151\0\141\0\154)
- /Parent 112 0 R
+ /Parent 111 0 R
+ /Next 115 0 R
+ /A 112 0 R
+>> endobj
+115 0 obj
+<<
+ /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163)
+ /Parent 111 0 R
+ /Prev 113 0 R
  /Next 116 0 R
- /A 113 0 R
+ /A 114 0 R
 >> endobj
 116 0 obj
 <<
- /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163)
- /Parent 112 0 R
- /Prev 114 0 R
+ /Title (\376\377\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156)
+ /Parent 111 0 R
+ /Prev 115 0 R
  /Next 117 0 R
- /A 115 0 R
+ /A 9 0 R
 >> endobj
 117 0 obj
 <<
- /Title (\376\377\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156)
- /Parent 112 0 R
+ /Title (\376\377\0\104\0\141\0\164\0\141\0\40\0\124\0\171\0\160\0\145\0\163)
+ /Parent 111 0 R
  /Prev 116 0 R
  /Next 118 0 R
- /A 9 0 R
+ /A 11 0 R
 >> endobj
 118 0 obj
 <<
- /Title (\376\377\0\104\0\141\0\164\0\141\0\40\0\124\0\171\0\160\0\145\0\163)
- /Parent 112 0 R
+ /Title (\376\377\0\120\0\141\0\162\0\163\0\151\0\156\0\147\0\40\0\164\0\150\0\145\0\40\0\146\0\151\0\154\0\145)
+ /Parent 111 0 R
  /Prev 117 0 R
  /Next 119 0 R
- /A 11 0 R
+ /A 13 0 R
 >> endobj
 119 0 obj
 <<
- /Title (\376\377\0\120\0\141\0\162\0\163\0\151\0\156\0\147\0\40\0\164\0\150\0\145\0\40\0\146\0\151\0\154\0\145)
- /Parent 112 0 R
+ /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164)
+ /Parent 111 0 R
  /Prev 118 0 R
  /Next 120 0 R
- /A 13 0 R
+ /A 15 0 R
 >> endobj
 120 0 obj
 <<
- /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164)
- /Parent 112 0 R
+ /Title (\376\377\0\125\0\163\0\151\0\156\0\147\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\164\0\157\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\145\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164)
+ /Parent 111 0 R
  /Prev 119 0 R
  /Next 121 0 R
- /A 15 0 R
+ /A 17 0 R
 >> endobj
 121 0 obj
 <<
- /Title (\376\377\0\125\0\163\0\151\0\156\0\147\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\164\0\157\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\145\0\40\0\105\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164)
- /Parent 112 0 R
+ /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\145\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\143\0\157\0\156\0\164\0\145\0\156\0\164)
+ /Parent 111 0 R
  /Prev 120 0 R
  /Next 122 0 R
- /A 17 0 R
+ /A 19 0 R
 >> endobj
 122 0 obj
 <<
- /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\145\0\154\0\145\0\155\0\145\0\156\0\164\0\40\0\143\0\157\0\156\0\164\0\145\0\156\0\164)
- /Parent 112 0 R
+ /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145)
+ /Parent 111 0 R
  /Prev 121 0 R
  /Next 123 0 R
- /A 19 0 R
+ /A 21 0 R
 >> endobj
 123 0 obj
 <<
- /Title (\376\377\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145)
- /Parent 112 0 R
+ /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\163)
+ /Parent 111 0 R
  /Prev 122 0 R
  /Next 124 0 R
- /A 21 0 R
+ /A 23 0 R
 >> endobj
 124 0 obj
 <<
- /Title (\376\377\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\163)
- /Parent 112 0 R
+ /Title (\376\377\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156)
+ /Parent 111 0 R
  /Prev 123 0 R
  /Next 125 0 R
- /A 23 0 R
+ /A 25 0 R
 >> endobj
 125 0 obj
 <<
- /Title (\376\377\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156)
- /Parent 112 0 R
+ /Title (\376\377\0\101\0\56\0\240\0\103\0\157\0\155\0\160\0\151\0\154\0\141\0\164\0\151\0\157\0\156)
+ /Parent 111 0 R
  /Prev 124 0 R
  /Next 126 0 R
- /A 25 0 R
+ /A 27 0 R
 >> endobj
 126 0 obj
 <<
- /Title (\376\377\0\101\0\56\0\240\0\103\0\157\0\155\0\160\0\151\0\154\0\141\0\164\0\151\0\157\0\156)
- /Parent 112 0 R
+ /Title (\376\377\0\102\0\56\0\240\0\123\0\141\0\155\0\160\0\154\0\145\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164)
+ /Parent 111 0 R
  /Prev 125 0 R
  /Next 127 0 R
- /A 27 0 R
+ /A 29 0 R
 >> endobj
 127 0 obj
 <<
- /Title (\376\377\0\102\0\56\0\240\0\123\0\141\0\155\0\160\0\154\0\145\0\40\0\104\0\157\0\143\0\165\0\155\0\145\0\156\0\164)
- /Parent 112 0 R
+ /Title (\376\377\0\103\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
+ /Parent 111 0 R
  /Prev 126 0 R
  /Next 128 0 R
- /A 29 0 R
+ /A 31 0 R
 >> endobj
 128 0 obj
 <<
- /Title (\376\377\0\103\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
- /Parent 112 0 R
+ /Title (\376\377\0\104\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
+ /Parent 111 0 R
  /Prev 127 0 R
  /Next 129 0 R
- /A 31 0 R
+ /A 33 0 R
 >> endobj
 129 0 obj
 <<
- /Title (\376\377\0\104\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\130\0\120\0\141\0\164\0\150\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
- /Parent 112 0 R
+ /Title (\376\377\0\105\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
+ /Parent 111 0 R
  /Prev 128 0 R
  /Next 130 0 R
- /A 33 0 R
+ /A 35 0 R
 >> endobj
 130 0 obj
 <<
- /Title (\376\377\0\105\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\113\0\145\0\171\0\167\0\157\0\162\0\144\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
- /Parent 112 0 R
+ /Title (\376\377\0\106\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
+ /Parent 111 0 R
  /Prev 129 0 R
  /Next 131 0 R
- /A 35 0 R
+ /A 37 0 R
 >> endobj
 131 0 obj
 <<
- /Title (\376\377\0\106\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\101\0\144\0\144\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
- /Parent 112 0 R
+ /Title (\376\377\0\107\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\126\0\141\0\154\0\165\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
+ /Parent 111 0 R
  /Prev 130 0 R
  /Next 132 0 R
- /A 37 0 R
+ /A 39 0 R
 >> endobj
 132 0 obj
 <<
- /Title (\376\377\0\107\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\122\0\145\0\164\0\162\0\151\0\145\0\166\0\151\0\156\0\147\0\40\0\101\0\164\0\164\0\162\0\151\0\142\0\165\0\164\0\145\0\40\0\126\0\141\0\154\0\165\0\145\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
- /Parent 112 0 R
+ /Title (\376\377\0\110\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
+ /Parent 111 0 R
  /Prev 131 0 R
  /Next 133 0 R
- /A 39 0 R
+ /A 41 0 R
 >> endobj
 133 0 obj
 <<
- /Title (\376\377\0\110\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\146\0\157\0\162\0\40\0\105\0\156\0\143\0\157\0\144\0\151\0\156\0\147\0\40\0\103\0\157\0\156\0\166\0\145\0\162\0\163\0\151\0\157\0\156\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145)
- /Parent 112 0 R
- /Prev 132 0 R
- /Next 134 0 R
- /A 41 0 R
->> endobj
-134 0 obj
-<<
  /Title (\376\377\0\111\0\56\0\240\0\101\0\143\0\153\0\156\0\157\0\167\0\154\0\145\0\144\0\147\0\145\0\155\0\145\0\156\0\164\0\163)
- /Parent 112 0 R
- /Prev 133 0 R
- /Next 136 0 R
+ /Parent 111 0 R
+ /Prev 132 0 R
+ /Next 135 0 R
  /A 43 0 R
 >> endobj
-136 0 obj
+135 0 obj
 <<
  /Title (\376\377\0\111\0\156\0\144\0\145\0\170)
- /Parent 112 0 R
- /Prev 134 0 R
- /A 135 0 R
+ /Parent 111 0 R
+ /Prev 133 0 R
+ /A 134 0 R
 >> endobj
-137 0 obj
+136 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F3
 /BaseFont /Helvetica-Bold
 /Encoding /WinAnsiEncoding >>
 endobj
-138 0 obj
+137 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F14
 /BaseFont /ZapfDingbats >>
 endobj
-139 0 obj
+138 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F5
 /BaseFont /Times-Roman
 /Encoding /WinAnsiEncoding >>
 endobj
-140 0 obj
+139 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F6
 /BaseFont /Times-Italic
 /Encoding /WinAnsiEncoding >>
 endobj
-141 0 obj
+140 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F1
 /BaseFont /Helvetica
 /Encoding /WinAnsiEncoding >>
 endobj
-142 0 obj
+141 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F9
 /BaseFont /Courier
 /Encoding /WinAnsiEncoding >>
 endobj
-143 0 obj
+142 0 obj
 << /Type /Font
 /Subtype /Type1
 /Name /F7
@@ -1040,303 +1035,302 @@
 1 0 obj
 << /Type /Pages
 /Count 17
-/Kids [6 0 R 45 0 R 60 0 R 64 0 R 70 0 R 75 0 R 82 0 R 89 0 R 93 0 R 95 0 R 97 0 R 99 0 R 101 0 R 103 0 R 105 0 R 107 0 R 110 0 R ] >>
+/Kids [6 0 R 45 0 R 59 0 R 64 0 R 69 0 R 75 0 R 82 0 R 89 0 R 93 0 R 95 0 R 97 0 R 99 0 R 101 0 R 103 0 R 105 0 R 107 0 R 109 0 R ] >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 1 0 R
- /Outlines 112 0 R
+ /Outlines 111 0 R
  /PageMode /UseOutlines
  >>
 endobj
 3 0 obj
 << 
-/Font << /F3 137 0 R /F5 139 0 R /F14 138 0 R /F1 141 0 R /F6 140 0 R /F9 142 0 R /F7 143 0 R >> 
+/Font << /F3 136 0 R /F5 138 0 R /F14 137 0 R /F1 140 0 R /F6 139 0 R /F9 141 0 R /F7 142 0 R >> 
 /ProcSet [ /PDF /ImageC /Text ] >> 
 endobj
 9 0 obj
 <<
 /S /GoTo
-/D [45 0 R /XYZ 139.0 725.0 null]
+/D [45 0 R /XYZ 139.0 693.0 null]
 >>
 endobj
 11 0 obj
 <<
 /S /GoTo
-/D [45 0 R /XYZ 139.0 405.674 null]
+/D [45 0 R /XYZ 139.0 363.674 null]
 >>
 endobj
 13 0 obj
 <<
 /S /GoTo
-/D [45 0 R /XYZ 139.0 148.348 null]
+/D [59 0 R /XYZ 139.0 725.0 null]
 >>
 endobj
 15 0 obj
 <<
 /S /GoTo
-/D [60 0 R /XYZ 139.0 228.506 null]
+/D [59 0 R /XYZ 139.0 173.18 null]
 >>
 endobj
 17 0 obj
 <<
 /S /GoTo
-/D [64 0 R /XYZ 139.0 217.226 null]
+/D [64 0 R /XYZ 139.0 156.646 null]
 >>
 endobj
 19 0 obj
 <<
 /S /GoTo
-/D [75 0 R /XYZ 139.0 725.0 null]
+/D [75 0 R /XYZ 139.0 667.866 null]
 >>
 endobj
 21 0 obj
 <<
 /S /GoTo
-/D [75 0 R /XYZ 139.0 348.214 null]
+/D [75 0 R /XYZ 139.0 281.08 null]
 >>
 endobj
 23 0 obj
 <<
 /S /GoTo
-/D [82 0 R /XYZ 139.0 579.56 null]
+/D [82 0 R /XYZ 139.0 508.98 null]
 >>
 endobj
 25 0 obj
 <<
 /S /GoTo
-/D [82 0 R /XYZ 139.0 172.48 null]
+/D [89 0 R /XYZ 139.0 725.0 null]
 >>
 endobj
 27 0 obj
 <<
 /S /GoTo
-/D [93 0 R /XYZ 139.0 725.0 null]
+/D [93 0 R /XYZ 139.0 648.0 null]
 >>
 endobj
 29 0 obj
 <<
 /S /GoTo
-/D [93 0 R /XYZ 139.0 641.561 null]
+/D [93 0 R /XYZ 139.0 564.561 null]
 >>
 endobj
 31 0 obj
 <<
 /S /GoTo
-/D [93 0 R /XYZ 139.0 463.942 null]
+/D [93 0 R /XYZ 139.0 386.942 null]
 >>
 endobj
 33 0 obj
 <<
 /S /GoTo
-/D [95 0 R /XYZ 139.0 261.3 null]
+/D [95 0 R /XYZ 139.0 182.42 null]
 >>
 endobj
 35 0 obj
 <<
 /S /GoTo
-/D [97 0 R /XYZ 139.0 192.28 null]
+/D [99 0 R /XYZ 139.0 665.56 null]
 >>
 endobj
 37 0 obj
 <<
 /S /GoTo
-/D [101 0 R /XYZ 139.0 655.7 null]
+/D [101 0 R /XYZ 139.0 497.94 null]
 >>
 endobj
 39 0 obj
 <<
 /S /GoTo
-/D [103 0 R /XYZ 139.0 596.54 null]
+/D [103 0 R /XYZ 139.0 438.78 null]
 >>
 endobj
 41 0 obj
 <<
 /S /GoTo
-/D [105 0 R /XYZ 139.0 438.78 null]
+/D [105 0 R /XYZ 139.0 281.02 null]
 >>
 endobj
 43 0 obj
 <<
 /S /GoTo
-/D [107 0 R /XYZ 139.0 271.16 null]
+/D [107 0 R /XYZ 139.0 113.4 null]
 >>
 endobj
-112 0 obj
+111 0 obj
 <<
- /First 114 0 R
- /Last 136 0 R
+ /First 113 0 R
+ /Last 135 0 R
 >> endobj
-113 0 obj
+112 0 obj
 <<
 /S /GoTo
 /D [6 0 R /XYZ 139.0 725.0 null]
 >>
 endobj
-115 0 obj
+114 0 obj
 <<
 /S /GoTo
-/D [6 0 R /XYZ 139.0 418.61 null]
+/D [6 0 R /XYZ 139.0 396.11 null]
 >>
 endobj
-135 0 obj
+134 0 obj
 <<
 /S /GoTo
-/D [107 0 R /XYZ 139.0 198.721 null]
+/D [109 0 R /XYZ 139.0 682.0 null]
 >>
 endobj
 xref
-0 144
+0 143
 0000000000 65535 f 
-0000046818 00000 n 
-0000046994 00000 n 
-0000047087 00000 n 
+0000046903 00000 n 
+0000047079 00000 n 
+0000047172 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000001985 00000 n 
-0000002105 00000 n 
-0000002249 00000 n 
-0000047240 00000 n 
-0000002383 00000 n 
-0000047304 00000 n 
-0000002519 00000 n 
-0000047371 00000 n 
-0000002655 00000 n 
-0000047438 00000 n 
-0000002791 00000 n 
-0000047505 00000 n 
-0000002927 00000 n 
-0000047572 00000 n 
-0000003063 00000 n 
-0000047637 00000 n 
-0000003199 00000 n 
-0000047704 00000 n 
-0000003335 00000 n 
-0000047770 00000 n 
-0000003471 00000 n 
-0000047836 00000 n 
-0000003607 00000 n 
-0000047901 00000 n 
-0000003743 00000 n 
-0000047968 00000 n 
-0000003878 00000 n 
-0000048035 00000 n 
-0000004014 00000 n 
-0000048100 00000 n 
-0000004150 00000 n 
-0000048166 00000 n 
-0000004286 00000 n 
-0000048232 00000 n 
-0000004422 00000 n 
-0000048299 00000 n 
-0000004558 00000 n 
-0000048366 00000 n 
-0000004694 00000 n 
-0000006850 00000 n 
-0000006973 00000 n 
-0000007077 00000 n 
-0000007252 00000 n 
-0000007445 00000 n 
-0000007643 00000 n 
-0000007833 00000 n 
-0000008020 00000 n 
-0000008218 00000 n 
-0000008420 00000 n 
-0000008622 00000 n 
-0000008822 00000 n 
-0000009021 00000 n 
-0000009226 00000 n 
-0000009360 00000 n 
-0000011679 00000 n 
-0000011802 00000 n 
-0000011829 00000 n 
-0000012022 00000 n 
-0000014538 00000 n 
-0000014661 00000 n 
-0000014702 00000 n 
-0000014904 00000 n 
-0000015115 00000 n 
-0000015308 00000 n 
-0000017648 00000 n 
-0000017771 00000 n 
-0000017805 00000 n 
-0000017983 00000 n 
-0000018120 00000 n 
-0000020626 00000 n 
-0000020749 00000 n 
-0000020797 00000 n 
-0000020934 00000 n 
-0000021144 00000 n 
-0000021283 00000 n 
-0000021419 00000 n 
-0000023903 00000 n 
-0000024026 00000 n 
-0000024074 00000 n 
-0000024280 00000 n 
-0000024419 00000 n 
-0000024555 00000 n 
-0000024760 00000 n 
-0000028059 00000 n 
-0000028182 00000 n 
-0000028209 00000 n 
-0000028345 00000 n 
-0000030058 00000 n 
-0000030166 00000 n 
-0000031437 00000 n 
-0000031545 00000 n 
-0000032948 00000 n 
-0000033056 00000 n 
-0000034392 00000 n 
-0000034500 00000 n 
-0000035811 00000 n 
-0000035921 00000 n 
-0000037222 00000 n 
-0000037332 00000 n 
-0000038702 00000 n 
-0000038812 00000 n 
-0000040376 00000 n 
-0000040502 00000 n 
-0000040523 00000 n 
-0000041069 00000 n 
-0000041195 00000 n 
-0000048433 00000 n 
-0000048487 00000 n 
-0000041216 00000 n 
-0000048552 00000 n 
-0000041391 00000 n 
-0000041592 00000 n 
-0000041763 00000 n 
-0000041922 00000 n 
-0000042116 00000 n 
-0000042370 00000 n 
-0000042699 00000 n 
-0000042935 00000 n 
-0000043136 00000 n 
-0000043361 00000 n 
-0000043574 00000 n 
-0000043757 00000 n 
-0000043963 00000 n 
-0000044221 00000 n 
-0000044467 00000 n 
-0000044748 00000 n 
-0000045041 00000 n 
-0000045411 00000 n 
-0000045740 00000 n 
-0000048618 00000 n 
-0000045953 00000 n 
-0000046069 00000 n 
-0000046183 00000 n 
-0000046269 00000 n 
-0000046380 00000 n 
-0000046492 00000 n 
-0000046601 00000 n 
-0000046708 00000 n 
+0000001911 00000 n 
+0000002031 00000 n 
+0000002175 00000 n 
+0000047325 00000 n 
+0000002309 00000 n 
+0000047389 00000 n 
+0000002445 00000 n 
+0000047456 00000 n 
+0000002581 00000 n 
+0000047521 00000 n 
+0000002717 00000 n 
+0000047587 00000 n 
+0000002853 00000 n 
+0000047654 00000 n 
+0000002989 00000 n 
+0000047721 00000 n 
+0000003125 00000 n 
+0000047787 00000 n 
+0000003261 00000 n 
+0000047853 00000 n 
+0000003397 00000 n 
+0000047918 00000 n 
+0000003533 00000 n 
+0000047983 00000 n 
+0000003669 00000 n 
+0000048050 00000 n 
+0000003804 00000 n 
+0000048117 00000 n 
+0000003940 00000 n 
+0000048183 00000 n 
+0000004076 00000 n 
+0000048249 00000 n 
+0000004212 00000 n 
+0000048316 00000 n 
+0000004348 00000 n 
+0000048383 00000 n 
+0000004484 00000 n 
+0000048450 00000 n 
+0000004620 00000 n 
+0000006683 00000 n 
+0000006806 00000 n 
+0000006903 00000 n 
+0000007078 00000 n 
+0000007271 00000 n 
+0000007469 00000 n 
+0000007659 00000 n 
+0000007846 00000 n 
+0000008044 00000 n 
+0000008246 00000 n 
+0000008448 00000 n 
+0000008648 00000 n 
+0000008847 00000 n 
+0000009052 00000 n 
+0000011400 00000 n 
+0000011523 00000 n 
+0000011557 00000 n 
+0000011693 00000 n 
+0000011884 00000 n 
+0000014223 00000 n 
+0000014346 00000 n 
+0000014380 00000 n 
+0000014580 00000 n 
+0000014791 00000 n 
+0000017332 00000 n 
+0000017455 00000 n 
+0000017496 00000 n 
+0000017685 00000 n 
+0000017863 00000 n 
+0000018000 00000 n 
+0000020544 00000 n 
+0000020667 00000 n 
+0000020715 00000 n 
+0000020850 00000 n 
+0000021058 00000 n 
+0000021197 00000 n 
+0000021333 00000 n 
+0000023582 00000 n 
+0000023705 00000 n 
+0000023753 00000 n 
+0000023959 00000 n 
+0000024098 00000 n 
+0000024234 00000 n 
+0000024439 00000 n 
+0000027594 00000 n 
+0000027717 00000 n 
+0000027744 00000 n 
+0000027878 00000 n 
+0000030019 00000 n 
+0000030127 00000 n 
+0000031368 00000 n 
+0000031476 00000 n 
+0000032912 00000 n 
+0000033020 00000 n 
+0000034353 00000 n 
+0000034461 00000 n 
+0000035743 00000 n 
+0000035853 00000 n 
+0000037197 00000 n 
+0000037307 00000 n 
+0000038604 00000 n 
+0000038714 00000 n 
+0000040134 00000 n 
+0000040244 00000 n 
+0000041154 00000 n 
+0000041280 00000 n 
+0000048516 00000 n 
+0000048570 00000 n 
+0000041301 00000 n 
+0000048635 00000 n 
+0000041476 00000 n 
+0000041677 00000 n 
+0000041848 00000 n 
+0000042007 00000 n 
+0000042201 00000 n 
+0000042455 00000 n 
+0000042784 00000 n 
+0000043020 00000 n 
+0000043221 00000 n 
+0000043446 00000 n 
+0000043659 00000 n 
+0000043842 00000 n 
+0000044048 00000 n 
+0000044306 00000 n 
+0000044552 00000 n 
+0000044833 00000 n 
+0000045126 00000 n 
+0000045496 00000 n 
+0000045825 00000 n 
+0000048701 00000 n 
+0000046038 00000 n 
+0000046154 00000 n 
+0000046268 00000 n 
+0000046354 00000 n 
+0000046465 00000 n 
+0000046577 00000 n 
+0000046686 00000 n 
+0000046793 00000 n 
 trailer
 <<
-/Size 144
+/Size 143
 /Root 2 0 R
 /Info 4 0 R
 >>
 startxref
-48687
+48768
 %%EOF

Modified: packages/libxml2/branches/unstable/doc/upgrade.html
===================================================================
--- packages/libxml2/branches/unstable/doc/upgrade.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/upgrade.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Upgrading 1.x code</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Upgrading 1.x code</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Incompatible changes:</p><p>Version 2 of libxml2 is the first version introducing serious backward
+</style><title>Upgrading 1.x code</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Upgrading 1.x code</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Incompatible changes:</p><p>Version 2 of libxml2 is the first version introducing serious backward
 incompatible changes. The main goals were:</p><ul><li>a general cleanup. A number of mistakes inherited from the very early
     versions couldn't be changed due to compatibility constraints. Example
     the "childs" element in the nodes.</li>

Modified: packages/libxml2/branches/unstable/doc/xml.html
===================================================================
--- packages/libxml2/branches/unstable/doc/xml.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/xml.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -603,7 +603,8 @@
 href="ftp://xmlsoft.org/">xmlsoft.org</a> server ( <a
 href="http://xmlsoft.org/sources/">HTTP</a>, <a
 href="ftp://xmlsoft.org/">FTP</a> and rsync are available), there is also
-mirrors (<a href="ftp://speakeasy.rpmfind.net/pub/libxml/">Seattle</a>, <a
+mirrors (<a href="ftp://ftp.planetmirror.com/pub/xmlsoft/">Australia</a>( <a
+href="http://xmlsoft.planetmirror.com/">Web</a>), <a
 href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a
 href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as <a
 href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">source archive</a>
@@ -615,16 +616,16 @@
 
 <p>You can find all the history of libxml(2) and libxslt releases in the <a
 href="http://xmlsoft.org/sources/old/">old</a> directory. The precompiled
-Windows binaries made by Igor Zlatovic are available in the<a
-href="http://xmlsoft.org/sources/win32/"> win32</a> directory.</p>
+Windows binaries made by Igor Zlatovic are available in the <a
+href="http://xmlsoft.org/sources/win32/">win32</a> directory.</p>
 
 <p>Binary ports:</p>
 <ul>
   <li>Red Hat RPMs for i386 are available directly on <a
     href="ftp://xmlsoft.org/">xmlsoft.org</a>, the source RPM will compile on
     any architecture supported by Red Hat.</li>
-  <li><p><a href="mailto:igor at zlatkovic.com">Igor  Zlatkovic</a></p>
-    is now the maintainer of the Windows port, <a
+  <li><a href="mailto:igor at zlatkovic.com">Igor Zlatkovic</a> is now the
+    maintainer of the Windows port, <a
     href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
     binaries</a>.</li>
   <li><a href="mailto:Gary.Pennington at sun.com">Gary Pennington</a> provides
@@ -641,8 +642,8 @@
 
 <p><a name="Snapshot">Snapshot:</a></p>
 <ul>
-  <li>Code from the W3C cvs base gnome-xml <a
-    href="ftp://xmlsoft.org/cvs-snapshot.tar.gz">cvs-snapshot.tar.gz</a>.</li>
+  <li>Code from the W3C cvs base libxml2 module, updated hourly <a
+    href="ftp://xmlsoft.org/libxml2-cvs-snapshot.tar.gz">libxml2-cvs-snapshot.tar.gz</a>.</li>
   <li>Docs, content of the web site, the list archive included <a
     href="ftp://xmlsoft.org/libxml-docs.tar.gz">libxml-docs.tar.gz</a>.</li>
 </ul>
@@ -656,16 +657,15 @@
 
 <p>Libxml2 is also available from CVS:</p>
 <ul>
-  <li><p>The <a
-    href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&amp;dir=gnome-xml">Gnome
-    CVS base</a>. Check the <a
+  <li><p>The <a href="http://cvs.gnome.org/viewcvs/libxml2/">Gnome CVS
+    base</a>. Check the <a
     href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
     page; the CVS module is <b>libxml2</b>.</p>
   </li>
   <li>The <strong>libxslt</strong> module is also present there</li>
 </ul>
 
-<h2><a name="News">News</a></h2>
+<h2><a name="News">Releases</a></h2>
 
 <p>Items not finished and worked on, get in touch with the list if you want
 to help those</p>
@@ -675,8 +675,106 @@
   Schemas</a></li>
 </ul>
 
+<p>The <a href="ChangeLog.html">change log</a> describes the recents commits
+to the <a href="http://cvs.gnome.org/viewcvs/libxml2/">CVS</a> code base.</p>
+
 <p>There is the list of public releases:</p>
 
+<h3>2.6.16: Nov 10 2004</h3>
+<ul>
+  <li>general hardening and bug fixing crossing all the API based on new
+    automated regression testing</li>
+  <li>build fix: IPv6 build and test on AIX (Dodji Seketeli)</li>
+  <li>bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
+    conversion functions return values, UTF-8 bug affecting XPath reported by
+    Markus Bertheau, catalog problem with NULL entries (William Brack)</li>
+  <li>documentation: fix to xmllint man page, some API function descritpion
+    were updated.</li>
+  <li>improvements: DTD validation APIs provided at the Python level (Brent
+    Hendricks) </li>
+</ul>
+
+<h3>2.6.15: Oct 27 2004</h3>
+<ul>
+  <li>security fixes on the nanoftp and nanohttp modules</li>
+  <li>build fixes: xmllint detection bug in configure, building outside the
+    source tree (Thomas Fitzsimmons)</li>
+  <li>bug fixes: HTML parser on broken ASCII chars in names (William), Python
+    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
+    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
+    (Malcolm), save back &lt;group&gt; in catalogs (William), tree build
+    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
+    on Python 64bits, thread local memory deallocation, memory leak reported
+    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
+    entities and _private problem (William), xmlBuildRelativeURI error
+    (William).</li>
+  <li>improvements: better XInclude error reports (William), tree debugging
+    module and tests, convenience functions at the Reader API (Graham
+    Bennett), add support for PI in the HTML parser.</li>
+</ul>
+
+<h3>2.6.14: Sep 29 2004</h3>
+<ul>
+  <li>build fixes: configure paths for xmllint and xsltproc, compilation
+    without HTML parser, compilation warning cleanups (William Brack &amp;
+    Malcolm Tredinnick), VMS makefile update (Craig Berry),</li>
+  <li>bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
+    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
+    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
+    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
+    handling of failed realloc(), out of bound array adressing in Schemas
+    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
+    E20 validation fix (Malcolm),</li>
+  <li>improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
+    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
+    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
+    Tredinnick), Schemas support for xsi:schemaLocation,
+    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)</li>
+</ul>
+
+<h3>2.6.13: Aug 31 2004</h3>
+<ul>
+  <li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
+    Solaris compiler warning, fixing RPM BuildRequires,</li>
+  <li>fixes: DTD loading on Windows (Igor), Schemas error reports APIs
+    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
+    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
+    problem (William), Schemas hexbinary empty values, encoding error could
+    genrate a serialization loop.</li>
+  <li>Improvements: Schemas validity improvements (Kasimier), added --path
+    and --load-trace options to xmllint</li>
+  <li>documentation: tutorial update (John Fleck)</li>
+</ul>
+
+<h3>2.6.12: Aug 22 2004</h3>
+<ul>
+  <li>build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
+    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
+    Chin), some 64bits cleanups.</li>
+  <li>Python: avoid a warning with 2.3 (William Brack), tab and space mixes
+    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
+    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
+    (Torkel Lyng)</li>
+  <li>Schemas: a lot of bug fixes and improvements from Kasimier Buchcik</li>
+  <li>fixes: RVT fixes (William), XPath context resets bug (William), memory
+    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
+    xmlReader state after attribute reading (William), structured error
+    handler (William), XInclude generated xml:base fixup (William), Windows
+    memory reallocation problem (Steve Hay), Out of Memory conditions
+    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
+    htmlReadMemory init (William), a posteriori validation DTD base
+    (William), notations serialization missing, xmlGetNodePath (Dodji),
+    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
+  (William)</li>
+  <li>improvements: DocBook catalog build scrip (William), xmlcatalog tool
+    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
+    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
+    to not generate start/end nodes, extend xmllint --version to include CVS
+    tag (William)</li>
+  <li>documentation: web pages fixes, validity API docs fixes (William)
+    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)</li>
+</ul>
+
 <h3>2.6.11: July 5 2004</h3>
 <ul>
   <li>Schemas: a lot of changes and improvements by Kasimier Buchcik for
@@ -686,12 +784,12 @@
   <li>portability: Windows binary package change (Igor Zlatkovic), Catalog
     path on Windows</li>
   <li>documentation: update to the tutorial (John Fleck), xmllint return code
-    (John Fleck), man pages (Ville Skytta), </li>
+    (John Fleck), man pages (Ville Skytta),</li>
   <li>bug fixes: C14N bug serializing namespaces (Aleksey Sanin), testSAX
     properly initialize the library (William), empty node set in XPath
     (William), xmlSchemas errors (William), invalid charref problem pointed
     by Morus Walter, XInclude xml:base generation (William), Relax-NG bug
-    with div processing (William), XPointer and xml:base problem(William), 
+    with div processing (William), XPointer and xml:base problem(William),
     Reader and entities, xmllint return code for schemas (William), reader
     streaming problem (Steve Ball), DTD serialization problem (William),
     libxml.m4 fixes (Mike Hommey), do not provide destructors as methods on

Modified: packages/libxml2/branches/unstable/doc/xmldtd.html
===================================================================
--- packages/libxml2/branches/unstable/doc/xmldtd.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/xmldtd.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Validation &amp; DTDs</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Validation &amp; DTDs</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">News</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="#General5">General overview</a></li>
+</style><title>Validation &amp; DTDs</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Validation &amp; DTDs</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="#General5">General overview</a></li>
   <li><a href="#definition">The definition</a></li>
   <li><a href="#Simple">Simple rules</a>
     <ol><li><a href="#reference">How to reference a DTD from a document</a></li>

Modified: packages/libxml2/branches/unstable/doc/xmlio.html
===================================================================
--- packages/libxml2/branches/unstable/doc/xmlio.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/xmlio.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>I/O Interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>I/O Interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="#General1">General overview</a></li>
+</style><title>I/O Interfaces</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>I/O Interfaces</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="#General1">General overview</a></li>
   <li><a href="#basic">The basic buffer type</a></li>
   <li><a href="#Input">Input I/O handlers</a></li>
   <li><a href="#Output">Output I/O handlers</a></li>

Modified: packages/libxml2/branches/unstable/doc/xmllint.1
===================================================================
--- packages/libxml2/branches/unstable/doc/xmllint.1	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/xmllint.1	2005-02-16 19:06:11 UTC (rev 352)
@@ -24,14 +24,14 @@
 .ad l
 .hy 0
 .HP 8
-\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-shell\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-noent\fR | \fB\-\-nocdata\fR | \fB\-\-nsclean\fR | \fB\-\-noout\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-format\fR | \fB\-\-testIO\fR | \fB\-\-encode\ \fIencoding\fR\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-dropdtd\fR | \fB\-\-stream\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\fR | \fB\-\-schema\fR | \fB\-\-nonet\fR] [\fB\fIxmlfile\fR\fR]
+\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-shell\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-noent\fR | \fB\-\-noout\fR | \fB\-\-nonet\fR | \fB\-\-path\ \fIpaths\fR\fR | \fB\-\-load\-trace\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-output\ \fIfile\fR\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-xmlout\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-maxmem\ \fInbbytes\fR\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-nocdata\fR | \fB\-\-format\fR | \fB\-\-encode\ \fIencoding\fR\fR | \fB\-\-dropdtd\fR | \fB\-\-nsclean\fR | \fB\-\-testIO\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-noxincludenode\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-stream\fR | \fB\-\-walker\fR | \fB\-\-pattern\ \fIpatternvalue\fR\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\fR | \fB\-\-schema\fR | \fB\-\-c14n\fR] [\fB\fIxmlfile\fR\fR]
 .ad
 .hy
 
 .SH "INTRODUCTION"
 
 .PP
-The xmllint program parses one or more XML files, specified on the command line as \fIxmlfile\fR\&. It prints various types of output, depending upon the options selected\&. It is useful for detecting errors both in XML code and in the XML parser itself\&.
+The xmllint program parses one or more XML files, specified on the command line as \fIxmlfile\fR (or the standard input if the filename provided is \- )\&. It prints various types of output, depending upon the options selected\&. It is useful for detecting errors both in XML code and in the XML parser itself\&.
 
 .PP
 It is included in libxml2\&.
@@ -79,6 +79,22 @@
 Suppress output\&. By default, xmllint outputs the result tree\&.
 
 .TP
+\fB\-\-nonet\fR
+Do not use the Internet to fetch DTD's or entities\&.
+
+.TP
+\fB\-\-nonet\fR
+Do not use the Internet to fetch DTD's or entities\&.
+
+.TP
+\fB\-\-path\fR \fIpaths\fR
+Use the list (separated by space or column) of filesystem path specified by \fIpaths\fR to load DTDs or entities \&.
+
+.TP
+\fB\-\-load\-trace\fR
+Display to stderr all the documents loaded during the processing\&.
+
+.TP
 \fB\-\-htmlout\fR
 Output results as an HTML file\&. This causes xmllint to output the necessary HTML tags surrounding the result tree output so the results can be displayed in a browser\&.
 
@@ -107,6 +123,10 @@
 Output information about the time it takes xmllint to perform the various steps\&.
 
 .TP
+\fB\-\-output\fR \fIfile\fR
+Define a file path where xmllint will save the result of parsing\&. Usually the programs build a tree and save it on stdout, with this option the result XML instance will be saved onto a file\&.
+
+.TP
 \fB\-\-repeat\fR
 Repeat 100 times, for timing or profiling\&.
 
@@ -123,6 +143,10 @@
 Use the HTML parser\&.
 
 .TP
+\fB\-\-xmlout\fR
+Used in conjusntion with \fB\-\-html\fR\&. Usually when HTML is parsed the document is saved with the HTML serializer, but with this option the resulting document is saved with the XML serializer\&. This is primarily used to generate XHTML from HTML input\&.
+
+.TP
 \fB\-\-push\fR
 Use the push mode of the parser\&.
 
@@ -131,6 +155,10 @@
 Parse from memory\&.
 
 .TP
+\fB\-\-maxmem\fR \fInnbytes\fR
+Test the parser memory support\&. \fInnbytes\fR is the maximum number of bytes the library is allowed to allocate\&. This can also be used to make sure batch processing of XML files will not exhaust the virtual memory of the server running them\&.
+
+.TP
 \fB\-\-nowarning\fR
 Do not emit warnings from the parser and/or validator\&.
 
@@ -167,6 +195,10 @@
 Do XInclude processing\&.
 
 .TP
+\fB\-\-noxincludenode\fR
+Do XInclude processing but do not generate XInclude start and end nodes\&.
+
+.TP
 \fB\-\-loaddtd\fR
 Fetch external DTD\&.
 
@@ -183,10 +215,18 @@
 Use streaming API \- useful when used in combination with \-\-relaxng or \-\-valid options for validation of files that are too large to be held in memory\&.
 
 .TP
+\fB\-\-walker\fR
+Test the walker module, which is a reader interface but for a document tree, instead of using the reader API on an unparsed document it works on a existing in\-memory tree\&. Used in debugging\&.
+
+.TP
 \fB\-\-chkregister\fR
-Turn on node registration\&. Useful for developeres testing libxml2 node tracking code\&.
+Turn on node registration\&. Useful for developers testing libxml2 node tracking code\&.
 
 .TP
+\fB\-\-pattern\fR \fIpatternvalue\fR
+Used to exercise the pattern recognition engine, which can be used with the reader interface to the parser\&. It allows to select some nodes in the document based on an XPath (subset) expression\&. Used for debugging\&.
+
+.TP
 \fB\-\-relaxng\fR \fIschema\fR
 Use RelaxNG file named \fIschema\fR for validation\&.
 
@@ -195,8 +235,8 @@
 Use a W3C XML Schema file named \fIschema\fR for validation\&.
 
 .TP
-\fB\-\-nonet\fR
-Do not use the Internet to fetch DTD's or entities\&.
+\fB\-\-c14n\fR
+Use the W3C XML Canonicalisation (C14N) to serialize the result of parsing to stdout\&. It keeps comments in the result\&.
 
 .SH "SHELL"
 

Modified: packages/libxml2/branches/unstable/doc/xmllint.html
===================================================================
--- packages/libxml2/branches/unstable/doc/xmllint.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/xmllint.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="id2719562"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <span class="acronym">XML</span> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">xmllint</tt>  [[--version] |  [--debug] |  [--shell] |  [--debugent] |  [--copy] |  [--recover] |  [--noent] |  [--nocdata] |  [--nsclean] |  [--noout] |  [--htmlout] |  [--nowrap] |  [--valid] |  [--postvalid] |  [--dtdvalid <i class="replaceable"><tt>URL</tt></i>] |  [--dtdvalidfpi <i class="replaceable"><tt>FPI</tt></i>] |  [--timing] |  [--repeat] |  [--insert] |  [--compress] |  [--html] |  [--push] |  [--memory] |  [--nowarning] |  [--noblanks] |  [--format] |  [--testIO] |  [--encode <i class="replaceable"><tt>encoding</tt></i>] |  [--catalogs] |  [--nocatalogs] |  [--auto] |  [--xinclude] |  [--loaddtd] |  [--dtdattr] |  [--dropdtd] |  [--stream] |  [--chkregister] |  [--relaxng] |  [--schema] |  [--nonet]] [<tt class="option"><i class="replaceable"><tt>xmlfile</tt></i></tt>]</p></div></div><div class="refsect1" lang="en"><a name="introduction"></a><h2>Introduction</h2><p>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="id2876302"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <span class="acronym">XML</span> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">xmllint</tt>  [[--version] |  [--debug] |  [--shell] |  [--debugent] |  [--copy] |  [--recover] |  [--noent] |  [--noout] |  [--nonet] |  [--htmlout] |  [--nowrap] |  [--valid] |  [--postvalid] |  [--dtdvalid <i class="replaceable"><tt>URL</tt></i>] |  [--dtdvalidfpi <i class="replaceable"><tt>FPI</tt></i>] |  [--timing] |  [--output <i class="replaceable"><tt>file</tt></i>] |  [--repeat] |  [--insert] |  [--compress] |  [--html] |  [--xmlout] |  [--push] |  [--memory] |  [--maxmem <i class="replaceable"><tt>nbbytes</tt></i>] |  [--nowarning] |  [--noblanks] |  [--nocdata] |  [--format] |  [--encode <i class="replaceable"><tt>encoding</tt></i>] |  [--dropdtd] |  [--nsclean] |  [--testIO] |  [--catalogs] |  [--nocatalogs] |  [--auto] |  [--xinclude] |  [--noxincludenode] |  [--loaddtd] |  [--dtdattr] |  [--stream] |  [--walker] |  [--pattern <i class="replaceable"><tt>patternvalue</tt></i>] |  [--chkregister] |  [--relaxng] |  [--schema] |  [--c14n]] [<tt class="option"><i class="replaceable"><tt>xmlfile</tt></i></tt>]</p></div></div><div class="refsect1" lang="en"><a name="introduction"></a><h2>Introduction</h2><p>
       The xmllint program parses one or more XML files, specified on the
       command line as <i class="replaceable"><tt>xmlfile</tt></i>. It prints various
       types of output, depending upon the options selected. It is useful for
@@ -61,7 +61,9 @@
 	  </dd><dt><span class="term"><tt class="option">--timing</tt></span></dt><dd>
 	    Output information about the time it takes
 	    <span class="application">xmllint</span> to perform the various steps.
-	  </dd><dt><span class="term"><tt class="option">--repeat</tt></span></dt><dd>
+	  </dd><dt><span class="term"><tt class="option">--output</tt> <i class="replaceable"><tt>file</tt></i></span></dt><dd>Define a file path where xmllint will save the result of
+	  parsing. Usually the programs build a tree and save it on stdout, with
+	  this option the result XML instance will be saved onto a file.</dd><dt><span class="term"><tt class="option">--repeat</tt></span></dt><dd>
 	    Repeat 100 times, for timing or profiling.
 	  </dd><dt><span class="term"><tt class="option">--insert</tt></span></dt><dd>
 	    Test for valid insertions.
@@ -69,11 +71,18 @@
 	    Turn on gzip compression of output.
 	  </dd><dt><span class="term"><tt class="option">--html</tt></span></dt><dd>
 	    Use the <span class="acronym">HTML</span> parser.
-	  </dd><dt><span class="term"><tt class="option">--push</tt></span></dt><dd>
+	  </dd><dt><span class="term"><tt class="option">--xmlout</tt></span></dt><dd>Used in conjusntion with <tt class="option">--html</tt>. Usually
+  when HTML is parsed the document is saved with the HTML serializer, but with
+  this option the resulting document is saved with the XML serializer. This is
+  primarily used to generate XHTML from HTML input.</dd><dt><span class="term"><tt class="option">--push</tt></span></dt><dd>
 	    Use the push mode of the parser.
 	  </dd><dt><span class="term"><tt class="option">--memory</tt></span></dt><dd>
 	   Parse from memory.
-	  </dd><dt><span class="term"><tt class="option">--nowarning</tt></span></dt><dd>
+	  </dd><dt><span class="term"><tt class="option">--maxmem</tt> <i class="replaceable"><tt>nnbytes</tt></i></span></dt><dd>Test the parser memory
+  support. <i class="replaceable"><tt>nnbytes</tt></i> is the maximum number of bytes the
+  library is allowed to allocate. This can also be used to make sure batch
+  processing of XML files will not exhaust the virtual memory of the server
+  running them.</dd><dt><span class="term"><tt class="option">--nowarning</tt></span></dt><dd>
 	   Do not emit warnings from the parser and/or validator.
 	  </dd><dt><span class="term"><tt class="option">--noblanks</tt></span></dt><dd>
 	   Drop ignorable blank spaces.
@@ -94,6 +103,9 @@
 	   Generate a small document for testing purposes.
 	  </dd><dt><span class="term"><tt class="option">--xinclude</tt></span></dt><dd>
 	   Do XInclude processing.
+	  </dd><dt><span class="term"><tt class="option">--noxincludenode</tt></span></dt><dd>
+	   Do XInclude processing but do not generate XInclude start and end
+	   nodes.
 	  </dd><dt><span class="term"><tt class="option">--loaddtd</tt></span></dt><dd>
 	   Fetch external DTD.
 	  </dd><dt><span class="term"><tt class="option">--dtdattr</tt></span></dt><dd>
@@ -102,10 +114,17 @@
 	    Remove <span class="acronym">DTD</span> from output.
 	  </dd><dt><span class="term"><tt class="option">--stream</tt></span></dt><dd>Use streaming API - useful when  used  in combination with
               --relaxng or --valid options for validation of files that are
-	    too large to be held in memory.</dd><dt><span class="term"><tt class="option">--chkregister</tt></span></dt><dd>Turn on node registration. Useful for developeres testing
-	  libxml2 node tracking code.</dd><dt><span class="term"><tt class="option">--relaxng</tt> <i class="replaceable"><tt>schema</tt></i></span></dt><dd>Use RelaxNG file named <i class="replaceable"><tt>schema</tt></i> for
+	    too large to be held in memory.</dd><dt><span class="term"><tt class="option">--walker</tt></span></dt><dd>Test the walker module, which is a reader interface but for a
+  document tree, instead of using the reader API on an unparsed document it
+  works on a existing in-memory tree. Used in debugging.</dd><dt><span class="term"><tt class="option">--chkregister</tt></span></dt><dd>Turn on node registration. Useful for developers testing
+	  libxml2 node tracking code.</dd><dt><span class="term"><tt class="option">--pattern</tt> <i class="replaceable"><tt>patternvalue</tt></i></span></dt><dd>Used to exercise the pattern recognition engine, which can be
+	  used with the reader interface to the parser. It allows to select some
+	  nodes in the document based on an XPath (subset) expression. Used for
+	  debugging.</dd><dt><span class="term"><tt class="option">--relaxng</tt> <i class="replaceable"><tt>schema</tt></i></span></dt><dd>Use RelaxNG file named <i class="replaceable"><tt>schema</tt></i> for
 	  validation.</dd><dt><span class="term"><tt class="option">--schema</tt> <i class="replaceable"><tt>schema</tt></i></span></dt><dd>Use a W3C XML Schema file named <i class="replaceable"><tt>schema</tt></i> for validation.</dd><dt><span class="term">
-      <tt class="option">--nonet</tt></span></dt><dd>Do not use the Internet to fetch DTD's or entities.</dd></dl></div></div><div class="refsect1" lang="en"><a name="shell"></a><h2>Shell</h2><p>
+      <tt class="option">--c14n</tt></span></dt><dd>Use the W3C XML Canonicalisation (C14N) to
+serialize the result of parsing to stdout. It keeps comments in
+the result.</dd></dl></div></div><div class="refsect1" lang="en"><a name="shell"></a><h2>Shell</h2><p>
       <span class="application">xmllint</span> offers an interactive shell mode
       invoked with the <tt class="option">--shell</tt> command. Available commands in
       shell mode include:

Modified: packages/libxml2/branches/unstable/doc/xmllint.xml
===================================================================
--- packages/libxml2/branches/unstable/doc/xmllint.xml	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/xmllint.xml	2005-02-16 19:06:11 UTC (rev 352)
@@ -29,7 +29,7 @@
     </author>
     <address><email>hwr at pilhuhn.de</email></address>
     
-    <releaseinfo>This is release 0.4 of the xmllint Manual.</releaseinfo>
+    <releaseinfo>This is release 0.5 of the xmllint Manual.</releaseinfo>
   </refentryinfo>
 
   <refmeta>
@@ -53,9 +53,10 @@
 	<arg>--copy</arg>
 	<arg>--recover</arg>
 	<arg>--noent</arg>
-	<arg>--nocdata</arg>
-	<arg>--nsclean</arg>
 	<arg>--noout</arg>
+	<arg>--nonet</arg>
+	<arg>--path <replaceable>paths</replaceable></arg>
+	<arg>--load-trace</arg>
 	<arg>--htmlout</arg>
 	<arg>--nowrap</arg>
 	<arg>--valid</arg>
@@ -63,29 +64,37 @@
 	<arg>--dtdvalid <replaceable>URL</replaceable></arg>
 	<arg>--dtdvalidfpi <replaceable>FPI</replaceable></arg>
 	<arg>--timing</arg>
+	<arg>--output <replaceable>file</replaceable></arg>
 	<arg>--repeat</arg>
 	<arg>--insert</arg>
 	<arg>--compress</arg>
 	<arg>--html</arg>
+	<arg>--xmlout</arg>
 	<arg>--push</arg>
 	<arg>--memory</arg>
+	<arg>--maxmem <replaceable>nbbytes</replaceable></arg>
 	<arg>--nowarning</arg>
 	<arg>--noblanks</arg>
+	<arg>--nocdata</arg>
 	<arg>--format</arg>
+	<arg>--encode <replaceable>encoding</replaceable></arg>
+	<arg>--dropdtd</arg>
+	<arg>--nsclean</arg>
 	<arg>--testIO</arg>
-	<arg>--encode <replaceable>encoding</replaceable></arg>
 	<arg>--catalogs</arg>
 	<arg>--nocatalogs</arg>
 	<arg>--auto</arg>
 	<arg>--xinclude</arg>
+	<arg>--noxincludenode</arg>
 	<arg>--loaddtd</arg>
 	<arg>--dtdattr</arg>
-	<arg>--dropdtd</arg>
 	<arg>--stream</arg>
+	<arg>--walker</arg>
+	<arg>--pattern <replaceable>patternvalue</replaceable></arg>
 	<arg>--chkregister</arg>
 	<arg>--relaxng</arg>
 	<arg>--schema</arg>
-	<arg>--nonet</arg>
+	<arg>--c14n</arg>
       </group>
       <arg><option><replaceable>xmlfile</replaceable></option></arg>
   </cmdsynopsis>
@@ -95,7 +104,8 @@
     <title>Introduction</title>
     <para>
       The xmllint program parses one or more XML files, specified on the
-      command line as <replaceable>xmlfile</replaceable>. It prints various
+      command line as <replaceable>xmlfile</replaceable> (or the standard
+      input if the filename provided is - ). It prints various
       types of output, depending upon the options selected. It is useful for
       detecting errors both in <acronym>XML</acronym> code and in the
       <acronym>XML</acronym> parser itself.
@@ -206,6 +216,44 @@
 	</listitem>
       </varlistentry>
 
+      <varlistentry>
+	<term><option>--nonet</option></term>
+	<listitem>
+	  <simpara>
+	    Do not use the Internet to fetch DTD's or entities.
+	  </simpara>
+	</listitem>
+      </varlistentry>
+
+      <varlistentry>
+	<term><option>--nonet</option></term>
+	<listitem>
+	  <simpara>
+	    Do not use the Internet to fetch DTD's or entities.
+	  </simpara>
+	</listitem>
+      </varlistentry>
+
+      <varlistentry>
+	<term> <option>--path</option> <replaceable>paths</replaceable></term>
+	<listitem>
+	  <simpara>
+	    Use the list (separated by space or column) of filesystem path
+	specified by <replaceable>paths</replaceable>  to load
+        <acronym>DTDs</acronym> or entities .
+	  </simpara>
+	</listitem>
+      </varlistentry>
+
+      <varlistentry>
+	<term><option>--load-trace</option></term>
+	<listitem>
+	  <simpara>
+	    Display to stderr all the documents loaded during the processing.
+	  </simpara>
+	</listitem>
+      </varlistentry>
+
     <varlistentry>
 	<term><option>--htmlout</option></term>
 	<listitem>
@@ -282,7 +330,14 @@
 	  </simpara>
 	</listitem>
       </varlistentry>
-
+      <varlistentry>
+	<term><option>--output</option> <replaceable>file</replaceable></term>
+	<listitem>
+	  <simpara>Define a file path where xmllint will save the result of
+	  parsing. Usually the programs build a tree and save it on stdout, with
+	  this option the result XML instance will be saved onto a file.</simpara>
+	</listitem>
+      </varlistentry>
    <varlistentry>
 	<term><option>--repeat</option></term>
 	<listitem>
@@ -318,7 +373,15 @@
 	  </simpara>
 	</listitem>
       </varlistentry>
-   
+      <varlistentry>
+	<term><option>--xmlout</option></term>
+	<listitem>
+	  <simpara>Used in conjusntion with <option>--html</option>. Usually
+  when HTML is parsed the document is saved with the HTML serializer, but with
+  this option the resulting document is saved with the XML serializer. This is
+  primarily used to generate XHTML from HTML input.</simpara>
+	</listitem>
+      </varlistentry>
     <varlistentry>
 	<term><option>--push</option></term>
 	<listitem>
@@ -337,7 +400,16 @@
 	  </simpara>
 	</listitem>
       </varlistentry>
-
+      <varlistentry>
+	<term><option>--maxmem</option> <replaceable>nnbytes</replaceable></term>
+	<listitem>
+	  <simpara>Test the parser memory
+  support. <replaceable>nnbytes</replaceable> is the maximum number of bytes the
+  library is allowed to allocate. This can also be used to make sure batch
+  processing of XML files will not exhaust the virtual memory of the server
+  running them.</simpara>
+	</listitem>
+      </varlistentry>
     <varlistentry>
 	<term><option>--nowarning</option></term>
 	<listitem>
@@ -422,6 +494,15 @@
 	</listitem>
       </varlistentry>
     <varlistentry>
+	<term><option>--noxincludenode</option></term>
+	<listitem>
+	  <simpara>
+	   Do XInclude processing but do not generate XInclude start and end
+	   nodes.
+	  </simpara>
+	</listitem>
+      </varlistentry>
+    <varlistentry>
 	<term><option>--loaddtd</option></term>
 	<listitem>
 	  <simpara>
@@ -455,13 +536,30 @@
 	</listitem>
       </varlistentry>
       <varlistentry>
+	<term><option>--walker</option></term>
+	<listitem>
+	  <simpara>Test the walker module, which is a reader interface but for a
+  document tree, instead of using the reader API on an unparsed document it
+  works on a existing in-memory tree. Used in debugging.</simpara> 
+	</listitem>
+      </varlistentry>
+      <varlistentry>
 	<term><option>--chkregister</option></term>
 	<listitem>
-	  <simpara>Turn on node registration. Useful for developeres testing
+	  <simpara>Turn on node registration. Useful for developers testing
 	  libxml2 node tracking code.</simpara>
 	</listitem>
       </varlistentry>
       <varlistentry>
+	<term><option>--pattern</option> <replaceable>patternvalue</replaceable></term>
+	<listitem>
+	  <simpara>Used to exercise the pattern recognition engine, which can be
+	  used with the reader interface to the parser. It allows to select some
+	  nodes in the document based on an XPath (subset) expression. Used for
+	  debugging.</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
 	<term><option>--relaxng</option> <replaceable>schema</replaceable></term>
 	<listitem>
 	  <simpara>Use RelaxNG file named <replaceable>schema</replaceable> for
@@ -476,9 +574,11 @@
       </varlistentry>
       <varlistentry>
 	<term>
-      <option>--nonet</option></term>
+      <option>--c14n</option></term>
 	<listitem>
-	  <simpara>Do not use the Internet to fetch DTD's or entities.</simpara>
+	  <simpara>Use the W3C XML Canonicalisation (C14N) to
+serialize the result of parsing to stdout. It keeps comments in
+the result.</simpara>
 	</listitem>
       </varlistentry>
     </variablelist>

Modified: packages/libxml2/branches/unstable/doc/xmlmem.html
===================================================================
--- packages/libxml2/branches/unstable/doc/xmlmem.html	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/doc/xmlmem.html	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Memory Management</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Memory Management</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="#General3">General overview</a></li>
+</style><title>Memory Management</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Memory Management</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Content:</p><ol><li><a href="#General3">General overview</a></li>
   <li><a href="#setting">Setting libxml2 set of memory routines</a></li>
   <li><a href="#cleanup">Cleaning up after parsing</a></li>
   <li><a href="#Debugging">Debugging routines</a></li>

Modified: packages/libxml2/branches/unstable/elfgcchack.h
===================================================================
--- packages/libxml2/branches/unstable/elfgcchack.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/elfgcchack.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -66,9 +66,11 @@
 
 /* list generated from libxml2-api.xml */
 
+#ifdef LIBXML_DOCB_ENABLED
 extern __typeof (docbCreatePushParserCtxt) docbCreatePushParserCtxt__internal_alias __attribute((visibility("hidden")));
 extern __typeof (docbCreatePushParserCtxt) docbCreatePushParserCtxt __attribute((alias("docbCreatePushParserCtxt__internal_alias")));
 #define docbCreatePushParserCtxt docbCreatePushParserCtxt__internal_alias
+#endif
 
 #ifdef LIBXML_HTML_ENABLED
 extern __typeof (htmlAttrAllowed) htmlAttrAllowed__internal_alias __attribute((visibility("hidden")));
@@ -611,6 +613,12 @@
 #endif
 
 #ifdef LIBXML_AUTOMATA_ENABLED
+extern __typeof (xmlAutomataNewCountTrans2) xmlAutomataNewCountTrans2__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlAutomataNewCountTrans2) xmlAutomataNewCountTrans2 __attribute((alias("xmlAutomataNewCountTrans2__internal_alias")));
+#define xmlAutomataNewCountTrans2 xmlAutomataNewCountTrans2__internal_alias
+#endif
+
+#ifdef LIBXML_AUTOMATA_ENABLED
 extern __typeof (xmlAutomataNewCountedTrans) xmlAutomataNewCountedTrans__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlAutomataNewCountedTrans) xmlAutomataNewCountedTrans __attribute((alias("xmlAutomataNewCountedTrans__internal_alias")));
 #define xmlAutomataNewCountedTrans xmlAutomataNewCountedTrans__internal_alias
@@ -641,6 +649,12 @@
 #endif
 
 #ifdef LIBXML_AUTOMATA_ENABLED
+extern __typeof (xmlAutomataNewOnceTrans2) xmlAutomataNewOnceTrans2__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlAutomataNewOnceTrans2) xmlAutomataNewOnceTrans2 __attribute((alias("xmlAutomataNewOnceTrans2__internal_alias")));
+#define xmlAutomataNewOnceTrans2 xmlAutomataNewOnceTrans2__internal_alias
+#endif
+
+#ifdef LIBXML_AUTOMATA_ENABLED
 extern __typeof (xmlAutomataNewState) xmlAutomataNewState__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlAutomataNewState) xmlAutomataNewState __attribute((alias("xmlAutomataNewState__internal_alias")));
 #define xmlAutomataNewState xmlAutomataNewState__internal_alias
@@ -1183,6 +1197,12 @@
 #define xmlCurrentChar xmlCurrentChar__internal_alias
 
 #ifdef LIBXML_DEBUG_ENABLED
+extern __typeof (xmlDebugCheckDocument) xmlDebugCheckDocument__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlDebugCheckDocument) xmlDebugCheckDocument __attribute((alias("xmlDebugCheckDocument__internal_alias")));
+#define xmlDebugCheckDocument xmlDebugCheckDocument__internal_alias
+#endif
+
+#ifdef LIBXML_DEBUG_ENABLED
 extern __typeof (xmlDebugDumpAttr) xmlDebugDumpAttr__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlDebugDumpAttr) xmlDebugDumpAttr __attribute((alias("xmlDebugDumpAttr__internal_alias")));
 #define xmlDebugDumpAttr xmlDebugDumpAttr__internal_alias
@@ -1298,6 +1318,10 @@
 extern __typeof (xmlDocCopyNode) xmlDocCopyNode __attribute((alias("xmlDocCopyNode__internal_alias")));
 #define xmlDocCopyNode xmlDocCopyNode__internal_alias
 
+extern __typeof (xmlDocCopyNodeList) xmlDocCopyNodeList__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlDocCopyNodeList) xmlDocCopyNodeList __attribute((alias("xmlDocCopyNodeList__internal_alias")));
+#define xmlDocCopyNodeList xmlDocCopyNodeList__internal_alias
+
 #ifdef LIBXML_OUTPUT_ENABLED
 extern __typeof (xmlDocDump) xmlDocDump__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlDocDump) xmlDocDump __attribute((alias("xmlDocDump__internal_alias")));
@@ -2130,6 +2154,10 @@
 extern __typeof (xmlMallocLoc) xmlMallocLoc __attribute((alias("xmlMallocLoc__internal_alias")));
 #define xmlMallocLoc xmlMallocLoc__internal_alias
 
+extern __typeof (xmlMemBlocks) xmlMemBlocks__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlMemBlocks) xmlMemBlocks __attribute((alias("xmlMemBlocks__internal_alias")));
+#define xmlMemBlocks xmlMemBlocks__internal_alias
+
 extern __typeof (xmlMemDisplay) xmlMemDisplay__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlMemDisplay) xmlMemDisplay __attribute((alias("xmlMemDisplay__internal_alias")));
 #define xmlMemDisplay xmlMemDisplay__internal_alias
@@ -2345,6 +2373,12 @@
 #endif
 
 #ifdef LIBXML_HTTP_ENABLED
+extern __typeof (xmlNanoHTTPContentLength) xmlNanoHTTPContentLength__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlNanoHTTPContentLength) xmlNanoHTTPContentLength __attribute((alias("xmlNanoHTTPContentLength__internal_alias")));
+#define xmlNanoHTTPContentLength xmlNanoHTTPContentLength__internal_alias
+#endif
+
+#ifdef LIBXML_HTTP_ENABLED
 extern __typeof (xmlNanoHTTPEncoding) xmlNanoHTTPEncoding__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlNanoHTTPEncoding) xmlNanoHTTPEncoding __attribute((alias("xmlNanoHTTPEncoding__internal_alias")));
 #define xmlNanoHTTPEncoding xmlNanoHTTPEncoding__internal_alias
@@ -2478,6 +2512,10 @@
 extern __typeof (xmlNewDocNodeEatName) xmlNewDocNodeEatName __attribute((alias("xmlNewDocNodeEatName__internal_alias")));
 #define xmlNewDocNodeEatName xmlNewDocNodeEatName__internal_alias
 
+extern __typeof (xmlNewDocPI) xmlNewDocPI__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlNewDocPI) xmlNewDocPI __attribute((alias("xmlNewDocPI__internal_alias")));
+#define xmlNewDocPI xmlNewDocPI__internal_alias
+
 extern __typeof (xmlNewDocProp) xmlNewDocProp__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlNewDocProp) xmlNewDocProp __attribute((alias("xmlNewDocProp__internal_alias")));
 #define xmlNewDocProp xmlNewDocProp__internal_alias
@@ -2956,6 +2994,10 @@
 extern __typeof (xmlParseFile) xmlParseFile __attribute((alias("xmlParseFile__internal_alias")));
 #define xmlParseFile xmlParseFile__internal_alias
 
+extern __typeof (xmlParseInNodeContext) xmlParseInNodeContext__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlParseInNodeContext) xmlParseInNodeContext __attribute((alias("xmlParseInNodeContext__internal_alias")));
+#define xmlParseInNodeContext xmlParseInNodeContext__internal_alias
+
 extern __typeof (xmlParseMarkupDecl) xmlParseMarkupDecl__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlParseMarkupDecl) xmlParseMarkupDecl __attribute((alias("xmlParseMarkupDecl__internal_alias")));
 #define xmlParseMarkupDecl xmlParseMarkupDecl__internal_alias
@@ -3441,6 +3483,12 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlRelaxNGInitTypes) xmlRelaxNGInitTypes__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlRelaxNGInitTypes) xmlRelaxNGInitTypes __attribute((alias("xmlRelaxNGInitTypes__internal_alias")));
+#define xmlRelaxNGInitTypes xmlRelaxNGInitTypes__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlRelaxNGNewDocParserCtxt) xmlRelaxNGNewDocParserCtxt__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlRelaxNGNewDocParserCtxt) xmlRelaxNGNewDocParserCtxt __attribute((alias("xmlRelaxNGNewDocParserCtxt__internal_alias")));
 #define xmlRelaxNGNewDocParserCtxt xmlRelaxNGNewDocParserCtxt__internal_alias
@@ -3911,12 +3959,30 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaGetFacetValueAsULong) xmlSchemaGetFacetValueAsULong__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaGetFacetValueAsULong) xmlSchemaGetFacetValueAsULong __attribute((alias("xmlSchemaGetFacetValueAsULong__internal_alias")));
+#define xmlSchemaGetFacetValueAsULong xmlSchemaGetFacetValueAsULong__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaGetParserErrors) xmlSchemaGetParserErrors__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaGetParserErrors) xmlSchemaGetParserErrors __attribute((alias("xmlSchemaGetParserErrors__internal_alias")));
+#define xmlSchemaGetParserErrors xmlSchemaGetParserErrors__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaGetPredefinedType) xmlSchemaGetPredefinedType__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaGetPredefinedType) xmlSchemaGetPredefinedType __attribute((alias("xmlSchemaGetPredefinedType__internal_alias")));
 #define xmlSchemaGetPredefinedType xmlSchemaGetPredefinedType__internal_alias
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaGetValidErrors) xmlSchemaGetValidErrors__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaGetValidErrors) xmlSchemaGetValidErrors __attribute((alias("xmlSchemaGetValidErrors__internal_alias")));
+#define xmlSchemaGetValidErrors xmlSchemaGetValidErrors__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaInitTypes) xmlSchemaInitTypes__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaInitTypes) xmlSchemaInitTypes __attribute((alias("xmlSchemaInitTypes__internal_alias")));
 #define xmlSchemaInitTypes xmlSchemaInitTypes__internal_alias
@@ -3977,12 +4043,30 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaSetValidOptions) xmlSchemaSetValidOptions__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaSetValidOptions) xmlSchemaSetValidOptions __attribute((alias("xmlSchemaSetValidOptions__internal_alias")));
+#define xmlSchemaSetValidOptions xmlSchemaSetValidOptions__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaValPredefTypeNode) xmlSchemaValPredefTypeNode__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaValPredefTypeNode) xmlSchemaValPredefTypeNode __attribute((alias("xmlSchemaValPredefTypeNode__internal_alias")));
 #define xmlSchemaValPredefTypeNode xmlSchemaValPredefTypeNode__internal_alias
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaValPredefTypeNodeNoNorm) xmlSchemaValPredefTypeNodeNoNorm__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaValPredefTypeNodeNoNorm) xmlSchemaValPredefTypeNodeNoNorm __attribute((alias("xmlSchemaValPredefTypeNodeNoNorm__internal_alias")));
+#define xmlSchemaValPredefTypeNodeNoNorm xmlSchemaValPredefTypeNodeNoNorm__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaValidCtxtGetOptions) xmlSchemaValidCtxtGetOptions__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaValidCtxtGetOptions) xmlSchemaValidCtxtGetOptions __attribute((alias("xmlSchemaValidCtxtGetOptions__internal_alias")));
+#define xmlSchemaValidCtxtGetOptions xmlSchemaValidCtxtGetOptions__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaValidateDoc) xmlSchemaValidateDoc__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaValidateDoc) xmlSchemaValidateDoc __attribute((alias("xmlSchemaValidateDoc__internal_alias")));
 #define xmlSchemaValidateDoc xmlSchemaValidateDoc__internal_alias
@@ -3995,12 +4079,24 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaValidateLengthFacet) xmlSchemaValidateLengthFacet__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaValidateLengthFacet) xmlSchemaValidateLengthFacet __attribute((alias("xmlSchemaValidateLengthFacet__internal_alias")));
+#define xmlSchemaValidateLengthFacet xmlSchemaValidateLengthFacet__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaValidateListSimpleTypeFacet) xmlSchemaValidateListSimpleTypeFacet__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaValidateListSimpleTypeFacet) xmlSchemaValidateListSimpleTypeFacet __attribute((alias("xmlSchemaValidateListSimpleTypeFacet__internal_alias")));
 #define xmlSchemaValidateListSimpleTypeFacet xmlSchemaValidateListSimpleTypeFacet__internal_alias
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaValidateOneElement) xmlSchemaValidateOneElement__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaValidateOneElement) xmlSchemaValidateOneElement __attribute((alias("xmlSchemaValidateOneElement__internal_alias")));
+#define xmlSchemaValidateOneElement xmlSchemaValidateOneElement__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaValidatePredefinedType) xmlSchemaValidatePredefinedType__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaValidatePredefinedType) xmlSchemaValidatePredefinedType __attribute((alias("xmlSchemaValidatePredefinedType__internal_alias")));
 #define xmlSchemaValidatePredefinedType xmlSchemaValidatePredefinedType__internal_alias
@@ -4081,92 +4177,120 @@
 #define xmlSetupParserForBuffer xmlSetupParserForBuffer__internal_alias
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShell) xmlShell__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShell) xmlShell __attribute((alias("xmlShell__internal_alias")));
 #define xmlShell xmlShell__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellBase) xmlShellBase__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellBase) xmlShellBase __attribute((alias("xmlShellBase__internal_alias")));
 #define xmlShellBase xmlShellBase__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellCat) xmlShellCat__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellCat) xmlShellCat __attribute((alias("xmlShellCat__internal_alias")));
 #define xmlShellCat xmlShellCat__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellDir) xmlShellDir__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellDir) xmlShellDir __attribute((alias("xmlShellDir__internal_alias")));
 #define xmlShellDir xmlShellDir__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellDu) xmlShellDu__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellDu) xmlShellDu __attribute((alias("xmlShellDu__internal_alias")));
 #define xmlShellDu xmlShellDu__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellList) xmlShellList__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellList) xmlShellList __attribute((alias("xmlShellList__internal_alias")));
 #define xmlShellList xmlShellList__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellLoad) xmlShellLoad__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellLoad) xmlShellLoad __attribute((alias("xmlShellLoad__internal_alias")));
 #define xmlShellLoad xmlShellLoad__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellPrintNode) xmlShellPrintNode__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellPrintNode) xmlShellPrintNode __attribute((alias("xmlShellPrintNode__internal_alias")));
 #define xmlShellPrintNode xmlShellPrintNode__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellPrintXPathError) xmlShellPrintXPathError__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellPrintXPathError) xmlShellPrintXPathError __attribute((alias("xmlShellPrintXPathError__internal_alias")));
 #define xmlShellPrintXPathError xmlShellPrintXPathError__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellPrintXPathResult) xmlShellPrintXPathResult__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellPrintXPathResult) xmlShellPrintXPathResult __attribute((alias("xmlShellPrintXPathResult__internal_alias")));
 #define xmlShellPrintXPathResult xmlShellPrintXPathResult__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellPwd) xmlShellPwd__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellPwd) xmlShellPwd __attribute((alias("xmlShellPwd__internal_alias")));
 #define xmlShellPwd xmlShellPwd__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 #ifdef LIBXML_OUTPUT_ENABLED
 extern __typeof (xmlShellSave) xmlShellSave__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellSave) xmlShellSave __attribute((alias("xmlShellSave__internal_alias")));
 #define xmlShellSave xmlShellSave__internal_alias
 #endif
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 extern __typeof (xmlShellValidate) xmlShellValidate__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellValidate) xmlShellValidate __attribute((alias("xmlShellValidate__internal_alias")));
 #define xmlShellValidate xmlShellValidate__internal_alias
 #endif
+#endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 #ifdef LIBXML_OUTPUT_ENABLED
 extern __typeof (xmlShellWrite) xmlShellWrite__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlShellWrite) xmlShellWrite __attribute((alias("xmlShellWrite__internal_alias")));
 #define xmlShellWrite xmlShellWrite__internal_alias
 #endif
 #endif
+#endif
 
 extern __typeof (xmlSkipBlankChars) xmlSkipBlankChars__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSkipBlankChars) xmlSkipBlankChars __attribute((alias("xmlSkipBlankChars__internal_alias")));
@@ -4337,6 +4461,12 @@
 #endif
 
 #ifdef LIBXML_READER_ENABLED
+extern __typeof (xmlTextReaderConstEncoding) xmlTextReaderConstEncoding__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlTextReaderConstEncoding) xmlTextReaderConstEncoding __attribute((alias("xmlTextReaderConstEncoding__internal_alias")));
+#define xmlTextReaderConstEncoding xmlTextReaderConstEncoding__internal_alias
+#endif
+
+#ifdef LIBXML_READER_ENABLED
 extern __typeof (xmlTextReaderConstLocalName) xmlTextReaderConstLocalName__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlTextReaderConstLocalName) xmlTextReaderConstLocalName __attribute((alias("xmlTextReaderConstLocalName__internal_alias")));
 #define xmlTextReaderConstLocalName xmlTextReaderConstLocalName__internal_alias
@@ -4379,6 +4509,12 @@
 #endif
 
 #ifdef LIBXML_READER_ENABLED
+extern __typeof (xmlTextReaderConstXmlVersion) xmlTextReaderConstXmlVersion__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlTextReaderConstXmlVersion) xmlTextReaderConstXmlVersion __attribute((alias("xmlTextReaderConstXmlVersion__internal_alias")));
+#define xmlTextReaderConstXmlVersion xmlTextReaderConstXmlVersion__internal_alias
+#endif
+
+#ifdef LIBXML_READER_ENABLED
 extern __typeof (xmlTextReaderCurrentDoc) xmlTextReaderCurrentDoc__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlTextReaderCurrentDoc) xmlTextReaderCurrentDoc __attribute((alias("xmlTextReaderCurrentDoc__internal_alias")));
 #define xmlTextReaderCurrentDoc xmlTextReaderCurrentDoc__internal_alias
@@ -4463,6 +4599,12 @@
 #endif
 
 #ifdef LIBXML_READER_ENABLED
+extern __typeof (xmlTextReaderIsNamespaceDecl) xmlTextReaderIsNamespaceDecl__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlTextReaderIsNamespaceDecl) xmlTextReaderIsNamespaceDecl __attribute((alias("xmlTextReaderIsNamespaceDecl__internal_alias")));
+#define xmlTextReaderIsNamespaceDecl xmlTextReaderIsNamespaceDecl__internal_alias
+#endif
+
+#ifdef LIBXML_READER_ENABLED
 extern __typeof (xmlTextReaderIsValid) xmlTextReaderIsValid__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlTextReaderIsValid) xmlTextReaderIsValid __attribute((alias("xmlTextReaderIsValid__internal_alias")));
 #define xmlTextReaderIsValid xmlTextReaderIsValid__internal_alias
@@ -4659,6 +4801,12 @@
 #endif
 
 #ifdef LIBXML_READER_ENABLED
+extern __typeof (xmlTextReaderStandalone) xmlTextReaderStandalone__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlTextReaderStandalone) xmlTextReaderStandalone __attribute((alias("xmlTextReaderStandalone__internal_alias")));
+#define xmlTextReaderStandalone xmlTextReaderStandalone__internal_alias
+#endif
+
+#ifdef LIBXML_READER_ENABLED
 extern __typeof (xmlTextReaderValue) xmlTextReaderValue__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlTextReaderValue) xmlTextReaderValue __attribute((alias("xmlTextReaderValue__internal_alias")));
 #define xmlTextReaderValue xmlTextReaderValue__internal_alias

Modified: packages/libxml2/branches/unstable/encoding.c
===================================================================
--- packages/libxml2/branches/unstable/encoding.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/encoding.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -125,7 +125,7 @@
     }
     *outlen = out - outstart;
     *inlen = processed - base;
-    return(0);
+    return(*outlen);
 }
 
 #ifdef LIBXML_OUTPUT_ENABLED
@@ -155,6 +155,7 @@
     unsigned int c, d;
     int trailing;
 
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL)) return(-1);
     if (in == NULL) {
         /*
 	 * initialization nothing to do
@@ -209,7 +210,7 @@
     }
     *outlen = out - outstart;
     *inlen = processed - instart;
-    return(0);
+    return(*outlen);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 
@@ -232,10 +233,14 @@
               const unsigned char* in, int *inlen) {
     unsigned char* outstart = out;
     const unsigned char* base = in;
-    unsigned char* outend = out + *outlen;
+    unsigned char* outend;
     const unsigned char* inend;
     const unsigned char* instop;
 
+    if ((out == NULL) || (in == NULL) || (outlen == NULL) || (inlen == NULL))
+	return(-1);
+
+    outend = out + *outlen;
     inend = in + (*inlen);
     instop = inend;
     
@@ -255,7 +260,7 @@
     }
     *outlen = out - outstart;
     *inlen = in - base;
-    return(0);
+    return(*outlen);
 }
 
 /**
@@ -291,7 +296,7 @@
 
     *outlen = len;
     *inlenb = len;
-    return(0);
+    return(*outlen);
 }
 
 
@@ -322,6 +327,7 @@
     unsigned int c, d;
     int trailing;
 
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL)) return(-1);
     if (in == NULL) {
         /*
 	 * initialization nothing to do
@@ -381,7 +387,7 @@
     }
     *outlen = out - outstart;
     *inlen = processed - instart;
-    return(0);
+    return(*outlen);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 
@@ -470,7 +476,7 @@
     }
     *outlen = out - outstart;
     *inlenb = processed - inb;
-    return(0);
+    return(*outlen);
 }
 
 #ifdef LIBXML_OUTPUT_ENABLED
@@ -503,6 +509,7 @@
     unsigned short tmp1, tmp2;
 
     /* UTF16LE encoding has no BOM */
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL)) return(-1);
     if (in == NULL) {
 	*outlen = 0;
 	*inlen = 0;
@@ -578,7 +585,7 @@
     }
     *outlen = (out - outstart) * 2;
     *inlen = processed - instart;
-    return(0);
+    return(*outlen);
 }
 
 /**
@@ -710,7 +717,7 @@
     }
     *outlen = out - outstart;
     *inlenb = processed - inb;
-    return(0);
+    return(*outlen);
 }
 
 #ifdef LIBXML_OUTPUT_ENABLED
@@ -743,6 +750,7 @@
     unsigned short tmp1, tmp2;
 
     /* UTF-16BE has no BOM */
+    if ((outb == NULL) || (outlen == NULL) || (inlen == NULL)) return(-1);
     if (in == NULL) {
 	*outlen = 0;
 	*inlen = 0;
@@ -815,7 +823,7 @@
     }
     *outlen = (out - outstart) * 2;
     *inlen = processed - instart;
-    return(0);
+    return(*outlen);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 
@@ -839,6 +847,8 @@
 xmlCharEncoding
 xmlDetectCharEncoding(const unsigned char* in, int len)
 {
+    if (in == NULL) 
+        return(XML_CHAR_ENCODING_NONE);
     if (len >= 4) {
 	if ((in[0] == 0x00) && (in[1] == 0x00) &&
 	    (in[2] == 0x00) && (in[3] == 0x3C))
@@ -1263,6 +1273,7 @@
     handler = (xmlCharEncodingHandlerPtr)
               xmlMalloc(sizeof(xmlCharEncodingHandler));
     if (handler == NULL) {
+        xmlFree(up);
         xmlGenericError(xmlGenericErrorContext,
 		"xmlNewCharEncodingHandler : out of memory !\n");
 	return(NULL);
@@ -1652,15 +1663,19 @@
  * The value of @outlen after return is the number of ocetes consumed.
  */
 static int
-xmlIconvWrapper(iconv_t cd,
-    unsigned char *out, int *outlen,
-    const unsigned char *in, int *inlen) {
-
-    size_t icv_inlen = *inlen, icv_outlen = *outlen;
+xmlIconvWrapper(iconv_t cd, unsigned char *out, int *outlen,
+                const unsigned char *in, int *inlen) {
+    size_t icv_inlen, icv_outlen;
     const char *icv_in = (const char *) in;
     char *icv_out = (char *) out;
     int ret;
 
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL) || (in == NULL)) {
+        if (outlen != NULL) *outlen = 0;
+        return(-1);
+    }
+    icv_inlen = *inlen;
+    icv_outlen = *outlen;
     ret = iconv(cd, (char **) &icv_in, &icv_inlen, &icv_out, &icv_outlen);
     if (in != NULL) {
         *inlen -= icv_inlen;
@@ -2131,7 +2146,7 @@
 	 */
         if (in->end - in->cur > 0) {
 	    static unsigned char convbuf[32000];
-	    unsigned const char *cur = (unsigned const char *)in->cur;
+	    const unsigned char *cur = (const unsigned char *)in->cur;
 	    int toconv = in->end - in->cur, written = 32000;
 
 	    int ret;
@@ -2153,7 +2168,7 @@
 		    written = 32000;
 		    ret = xmlIconvWrapper(handler->iconv_out, &convbuf[0],
 	                      &written, cur, &toconv);
-		    if (ret == -1) {
+		    if (ret < 0) {
 		        if (written > 0)
 			    ret = -2;
 			else
@@ -2202,6 +2217,9 @@
     const unsigned char* inend;
     const unsigned char* instart = in;
 
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL) ||
+        (xlattable == NULL))
+	return(-1);
     if (in == NULL) {
         /*
         * initialization nothing to do
@@ -2229,7 +2247,7 @@
                 return(-2);
             }
             c = *in++;
-            if ((c & 0xC0) != 0xC0) {
+            if ((c & 0xC0) != 0x80) {
                 /* not a trailing byte */
                 *outlen = out - outstart;
                 *inlen = in - instart - 2;
@@ -2255,14 +2273,14 @@
                 return(-2);
             }
             c1 = *in++;
-            if ((c1 & 0xC0) != 0xC0) {
+            if ((c1 & 0xC0) != 0x80) {
                 /* not a trailing byte (c1) */
                 *outlen = out - outstart;
                 *inlen = in - instart - 2;
                 return(-2);
             }
             c2 = *in++;
-            if ((c2 & 0xC0) != 0xC0) {
+            if ((c2 & 0xC0) != 0x80) {
                 /* not a trailing byte (c2) */
                 *outlen = out - outstart;
                 *inlen = in - instart - 2;
@@ -2270,8 +2288,9 @@
             }
             c1 = c1 & 0x3F; 
             c2 = c2 & 0x3F; 
-            d = d & 0x0F;
-            d = xlattable [48 + c2 + xlattable [48 + c1 + xlattable [32 + d] * 64] * 64];
+	    d = d & 0x0F;
+	    d = xlattable [48 + c2 + xlattable [48 + c1 + 
+	    		xlattable [32 + d] * 64] * 64];
             if (d == 0) {
                 /* not in character set */
                 *outlen = out - outstart;
@@ -2288,7 +2307,7 @@
     }
     *outlen = out - outstart;
     *inlen = in - instart;
-    return(0);
+    return(*outlen);
 }
 
 /**
@@ -2309,12 +2328,18 @@
               const unsigned char* in, int *inlen,
               unsigned short const *unicodetable) {
     unsigned char* outstart = out;
-    unsigned char* outend = out + *outlen;
+    unsigned char* outend;
     const unsigned char* instart = in;
-    const unsigned char* inend = in + *inlen;
+    const unsigned char* inend;
     const unsigned char* instop = inend;
-    unsigned int c = *in;
+    unsigned int c;
 
+    if ((out == NULL) || (outlen == NULL) || (inlen == NULL) ||
+        (in == NULL) || (xlattable == NULL))
+	return(-1);
+    outend = out + *outlen;
+    inend = in + *inlen;
+    c = *in;
     while (in < inend && out < outend - 1) {
         if (c >= 0x80) {
             c = unicodetable [c - 0x80];
@@ -2348,7 +2373,7 @@
     }
     *outlen = out - outstart;
     *inlen = in - instart;
-    return (0);
+    return (*outlen);
 }
 
     

Modified: packages/libxml2/branches/unstable/entities.c
===================================================================
--- packages/libxml2/branches/unstable/entities.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/entities.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -61,6 +61,31 @@
     NULL, NULL, NULL, NULL, 0
 };
 
+/**
+ * xmlEntitiesErrMemory:
+ * @extra:  extra informations
+ *
+ * Handle an out of memory condition
+ */
+static void
+xmlEntitiesErrMemory(const char *extra)
+{
+    __xmlSimpleError(XML_FROM_TREE, XML_ERR_NO_MEMORY, NULL, NULL, extra);
+}
+
+/**
+ * xmlEntitiesErr:
+ * @code:  the error code
+ * @msg:  the message
+ *
+ * Handle an out of memory condition
+ */
+static void
+xmlEntitiesErr(xmlParserErrors code, const char *msg)
+{
+    __xmlSimpleError(XML_FROM_TREE, code, NULL, msg, NULL);
+}
+
 /*
  * xmlFreeEntity : clean-up an entity record.
  */
@@ -118,8 +143,7 @@
 	return(NULL);
     ret = (xmlEntityPtr) xmlMalloc(sizeof(xmlEntity));
     if (ret == NULL) {
-	xmlGenericError(xmlGenericErrorContext,
-		"xmlAddEntity: out of memory\n");
+        xmlEntitiesErrMemory("xmlAddEntity:: malloc failed");
 	return(NULL);
     }
     memset(ret, 0, sizeof(xmlEntity));
@@ -213,13 +237,13 @@
     xmlDtdPtr dtd;
 
     if (doc == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-	        "xmlAddDtdEntity: doc == NULL !\n");
+	xmlEntitiesErr(XML_DTD_NO_DOC,
+	        "xmlAddDtdEntity: document is NULL");
 	return(NULL);
     }
     if (doc->extSubset == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-	        "xmlAddDtdEntity: document without external subset !\n");
+	xmlEntitiesErr(XML_DTD_NO_DTD,
+	        "xmlAddDtdEntity: document without external subset");
 	return(NULL);
     }
     dtd = doc->extSubset;
@@ -262,13 +286,13 @@
     xmlDtdPtr dtd;
 
     if (doc == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-	        "xmlAddDocEntity: document is NULL !\n");
+	xmlEntitiesErr(XML_DTD_NO_DOC,
+	        "xmlAddDocEntity: document is NULL");
 	return(NULL);
     }
     if (doc->intSubset == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-	        "xmlAddDocEntity: document without internal subset !\n");
+	xmlEntitiesErr(XML_DTD_NO_DTD,
+	        "xmlAddDocEntity: document without internal subset");
 	return(NULL);
     }
     dtd = doc->intSubset;
@@ -404,7 +428,7 @@
     buffer = (xmlChar *)						\
     		xmlRealloc(buffer, buffer_size * sizeof(xmlChar));	\
     if (buffer == NULL) {						\
-	xmlGenericError(xmlGenericErrorContext, "realloc failed\n");	\
+        xmlEntitiesErrMemory("xmlEncodeEntitiesReentrant: realloc failed");\
 	return(NULL);							\
     }									\
 }
@@ -440,7 +464,7 @@
     buffer_size = 1000;
     buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
     if (buffer == NULL) {
-	xmlGenericError(xmlGenericErrorContext, "malloc failed\n");
+        xmlEntitiesErrMemory("xmlEncodeEntitiesReentrant: malloc failed");
 	return(NULL);
     }
     out = buffer;
@@ -498,8 +522,8 @@
 		int val = 0, l = 1;
 
 		if (*cur < 0xC0) {
-		    xmlGenericError(xmlGenericErrorContext,
-			    "xmlEncodeEntitiesReentrant : input not UTF-8\n");
+		    xmlEntitiesErr(XML_CHECK_NOT_UTF8,
+			    "xmlEncodeEntitiesReentrant : input not UTF-8");
 		    if (doc != NULL)
 			doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
 		    snprintf(buf, sizeof(buf), "&#%d;", *cur);
@@ -531,7 +555,7 @@
 		    l = 4;
 		}
 		if ((l == 1) || (!IS_CHAR(val))) {
-		    xmlGenericError(xmlGenericErrorContext,
+		    xmlEntitiesErr(XML_ERR_INVALID_CHAR,
 			"xmlEncodeEntitiesReentrant : char out of range\n");
 		    if (doc != NULL)
 			doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
@@ -593,7 +617,7 @@
     buffer_size = 1000;
     buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
     if (buffer == NULL) {
-	xmlGenericError(xmlGenericErrorContext, "malloc failed\n");
+        xmlEntitiesErrMemory("xmlEncodeSpecialChars: malloc failed");
 	return(NULL);
     }
     out = buffer;
@@ -703,8 +727,7 @@
 
     cur = (xmlEntityPtr) xmlMalloc(sizeof(xmlEntity));
     if (cur == NULL) {
-	xmlGenericError(xmlGenericErrorContext,
-		"xmlCopyEntity: out of memory !\n");
+        xmlEntitiesErrMemory("xmlCopyEntity:: malloc failed");
 	return(NULL);
     }
     memset(cur, 0, sizeof(xmlEntity));
@@ -792,6 +815,7 @@
  */
 void
 xmlDumpEntityDecl(xmlBufferPtr buf, xmlEntityPtr ent) {
+    if ((buf == NULL) || (ent == NULL)) return;
     switch (ent->etype) {
 	case XML_INTERNAL_GENERAL_ENTITY:
 	    xmlBufferWriteChar(buf, "<!ENTITY ");
@@ -863,9 +887,8 @@
 	    xmlBufferWriteChar(buf, ">\n");
 	    break;
 	default:
-	    xmlGenericError(xmlGenericErrorContext,
-		"xmlDumpEntitiesDecl: internal: unknown type %d\n",
-		    ent->etype);
+	    xmlEntitiesErr(XML_DTD_UNKNOWN_ENTITY,
+		"xmlDumpEntitiesDecl: internal: unknown type entity type");
     }
 }
 

Modified: packages/libxml2/branches/unstable/error.c
===================================================================
--- packages/libxml2/branches/unstable/error.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/error.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -102,6 +102,7 @@
  * be passed as first argument to @handler
  * One can simply force messages to be emitted to another FILE * than
  * stderr by setting @ctx to this file handle and @handler to NULL.
+ * For multi-threaded applications, this must be set separately for each thread.
  */
 void
 xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
@@ -122,6 +123,7 @@
  * This simply means that @handler will be called for subsequent
  * error messages while not parsing nor validating. And @ctx will
  * be passed as first argument to @handler
+ * For multi-threaded applications, this must be set separately for each thread.
  */
 void
 xmlSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler) {
@@ -445,7 +447,7 @@
     char *str = NULL;
     xmlParserInputPtr input = NULL;
     xmlErrorPtr to = &xmlLastError;
-    xmlChar *base = NULL;
+    xmlNodePtr baseptr = NULL;
 
     if ((xmlGetWarningsDefaultValue == 0) && (level == XML_ERR_WARNING))
         return;
@@ -457,8 +459,17 @@
 	    (ctxt->sax->initialized == XML_SAX2_MAGIC))
 	    schannel = ctxt->sax->serror;
     }
-    if (schannel == NULL)
+    /*
+     * Check if structured error handler set
+     */
+    if (schannel == NULL) {
 	schannel = xmlStructuredError;
+	/*
+	 * if user has defined handler, change data ptr to user's choice
+	 */
+	if (schannel != NULL)
+	    data = xmlGenericErrorContext;
+    }
     if ((domain == XML_FROM_VALID) &&
         ((channel == xmlParserValidityError) ||
 	 (channel == xmlParserValidityWarning))) {
@@ -498,14 +509,14 @@
 	int i;
 
 	if ((node->doc != NULL) && (node->doc->URL != NULL))
-	    base = xmlStrdup(node->doc->URL);
+	    baseptr = node;
 	for (i = 0;
 	     ((i < 10) && (node != NULL) && (node->type != XML_ELEMENT_NODE));
 	     i++)
 	     node = node->parent;
-        if ((base == NULL) && (node != NULL) &&
+        if ((baseptr == NULL) && (node != NULL) &&
 	    (node->doc != NULL) && (node->doc->URL != NULL))
-	    base = xmlStrdup(node->doc->URL);
+	    baseptr = node;
 
 	if ((node != NULL) && (node->type == XML_ELEMENT_NODE))
 	    line = node->line;
@@ -521,9 +532,33 @@
     to->level = level;
     if (file != NULL)
         to->file = (char *) xmlStrdup((const xmlChar *) file);
-    else if (base != NULL) {
-        to->file = (char *) base;
-	file = (char *) base;
+    else if (baseptr != NULL) {
+#ifdef LIBXML_XINCLUDE_ENABLED
+	/*
+	 * We check if the error is within an XInclude section and,
+	 * if so, attempt to print out the href of the XInclude instead
+	 * of the usual "base" (doc->URL) for the node (bug 152623).
+	 */
+        xmlNodePtr prev = baseptr;
+	int inclcount = 0;
+	while (prev != NULL) {
+	    if (prev->prev == NULL)
+	        prev = prev->parent;
+	    else {
+	        prev = prev->prev;
+		if (prev->type == XML_XINCLUDE_START) {
+		    if (--inclcount < 0)
+		        break;
+		} else if (prev->type == XML_XINCLUDE_END)
+		    inclcount++;
+	    }
+	}
+	if (prev != NULL) {
+	    to->file = (char *) xmlGetProp(prev, BAD_CAST "href");
+	} else
+#endif
+	    to->file = (char *) xmlStrdup(baseptr->doc->URL);
+	file = to->file;
     }
     to->line = line;
     if (str1 != NULL)
@@ -541,9 +576,9 @@
         xmlCopyError(to,&xmlLastError);
 
     /*
-     * Find the callback channel.
+     * Find the callback channel if channel param is NULL
      */
-    if ((ctxt != NULL) && (channel == NULL) && (xmlStructuredError == NULL)) {
+    if ((ctxt != NULL) && (channel == NULL) && (xmlStructuredError == NULL) && (ctxt->sax != NULL)) {
         if (level == XML_ERR_WARNING)
 	    channel = ctxt->sax->warning;
         else
@@ -891,8 +926,17 @@
  */
 int
 xmlCopyError(xmlErrorPtr from, xmlErrorPtr to) {
+    char *message, *file, *str1, *str2, *str3;
+
     if ((from == NULL) || (to == NULL))
         return(-1);
+
+    message = (char *) xmlStrdup((xmlChar *) from->message);
+    file = (char *) xmlStrdup ((xmlChar *) from->file);
+    str1 = (char *) xmlStrdup ((xmlChar *) from->str1);
+    str2 = (char *) xmlStrdup ((xmlChar *) from->str2);
+    str3 = (char *) xmlStrdup ((xmlChar *) from->str3);
+
     if (to->message != NULL)
         xmlFree(to->message);
     if (to->file != NULL)
@@ -912,26 +956,12 @@
     to->int2 = from->int2;
     to->node = from->node;
     to->ctxt = from->ctxt;
-    if (from->message != NULL)
-        to->message = (char *) xmlStrdup((xmlChar *) from->message);
-    else
-        to->message = NULL;
-    if (from->file != NULL)
-        to->file = (char *) xmlStrdup((xmlChar *) from->file);
-    else
-        to->file = NULL;
-    if (from->str1 != NULL)
-        to->str1 = (char *) xmlStrdup((xmlChar *) from->str1);
-    else
-        to->str1 = NULL;
-    if (from->str2 != NULL)
-        to->str2 = (char *) xmlStrdup((xmlChar *) from->str2);
-    else
-        to->str2 = NULL;
-    if (from->str3 != NULL)
-        to->str3 = (char *) xmlStrdup((xmlChar *) from->str3);
-    else
-        to->str3 = NULL;
-    return(0);
+    to->message = message;
+    to->file = file;
+    to->str1 = str1;
+    to->str2 = str2;
+    to->str3 = str3;
+
+    return 0;
 }
 

Modified: packages/libxml2/branches/unstable/example/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/example/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/example/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -92,6 +92,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -124,6 +126,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -144,6 +147,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -200,6 +204,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -213,6 +218,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -220,6 +226,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Copied: packages/libxml2/branches/unstable/gentest.py (from rev 351, packages/libxml2/tags/2.6.16-2/gentest.py)


Property changes on: packages/libxml2/branches/unstable/gentest.py
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libxml2/branches/unstable/globals.c
===================================================================
--- packages/libxml2/branches/unstable/globals.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/globals.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -176,7 +176,7 @@
  *
  * Constant string describing the internal version of the library
  */
-const char *xmlParserVersion = LIBXML_VERSION_STRING;
+const char *xmlParserVersion = LIBXML_VERSION_STRING LIBXML_VERSION_EXTRA;
 
 /**
  * xmlBufferAllocScheme:
@@ -430,7 +430,7 @@
     NULL,
     xmlSAX2Characters,
     xmlSAX2IgnorableWhitespace,
-    NULL,
+    xmlSAX2ProcessingInstruction,
     xmlSAX2Comment,
     xmlParserWarning,
     xmlParserError,

Modified: packages/libxml2/branches/unstable/include/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/include/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -78,6 +78,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -110,6 +112,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -130,6 +133,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -186,6 +190,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -199,6 +204,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -206,6 +212,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/branches/unstable/include/libxml/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -76,6 +76,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -108,6 +110,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -128,6 +131,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -184,6 +188,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -197,6 +202,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -204,6 +210,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@

Modified: packages/libxml2/branches/unstable/include/libxml/catalog.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/catalog.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/catalog.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -21,6 +21,7 @@
 
 #include <libxml/xmlversion.h>
 #include <libxml/xmlstring.h>
+#include <libxml/tree.h>
 
 #ifdef LIBXML_CATALOG_ENABLED
 

Modified: packages/libxml2/branches/unstable/include/libxml/debugXML.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/debugXML.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/debugXML.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -61,6 +61,22 @@
 	xmlDebugDumpEntities	(FILE *output,
 				 xmlDocPtr doc);
 
+/****************************************************************
+ *								*
+ *	 		Checking routines			*
+ *								*
+ ****************************************************************/
+
+XMLPUBFUN int XMLCALL
+	xmlDebugCheckDocument	(FILE * output,
+				 xmlDocPtr doc);
+
+/****************************************************************
+ *								*
+ *	 		XML shell helpers			*
+ *								*
+ ****************************************************************/
+
 XMLPUBFUN void XMLCALL	
 	xmlLsOneNode		(FILE *output, xmlNodePtr node);
 XMLPUBFUN int XMLCALL	
@@ -75,6 +91,7 @@
  *								*
  ****************************************************************/
 
+#ifdef LIBXML_XPATH_ENABLED
 /**
  * xmlShellReadlineFunc:
  * @prompt:  a string prompt
@@ -188,6 +205,8 @@
 				 xmlShellReadlineFunc input,
 				 FILE *output);
 			 
+#endif /* LIBXML_XPATH_ENABLED */
+
 #ifdef __cplusplus
 }
 #endif

Modified: packages/libxml2/branches/unstable/include/libxml/nanoftp.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/nanoftp.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/nanoftp.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -109,10 +109,10 @@
  */
 XMLPUBFUN int XMLCALL	
 	xmlNanoFTPCwd		(void *ctx,
-				 char *directory);
+				 const char *directory);
 XMLPUBFUN int XMLCALL	
 	xmlNanoFTPDele		(void *ctx,
-				 char *file);
+				 const char *file);
 
 XMLPUBFUN int XMLCALL	
 	xmlNanoFTPGetConnection	(void *ctx);
@@ -122,7 +122,7 @@
 	xmlNanoFTPList		(void *ctx,
 				 ftpListCallback callback,
 				 void *userData,
-				 char *filename);
+				 const char *filename);
 XMLPUBFUN int XMLCALL	
 	xmlNanoFTPGetSocket	(void *ctx,
 				 const char *filename);

Modified: packages/libxml2/branches/unstable/include/libxml/nanohttp.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/nanohttp.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/nanohttp.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -56,6 +56,8 @@
 	xmlNanoHTTPAuthHeader	(void *ctx);
 XMLPUBFUN const char * XMLCALL
 	xmlNanoHTTPRedir	(void *ctx);
+XMLPUBFUN int XMLCALL
+	xmlNanoHTTPContentLength( void * ctx );
 XMLPUBFUN const char * XMLCALL
 	xmlNanoHTTPEncoding	(void *ctx);
 XMLPUBFUN const char * XMLCALL

Modified: packages/libxml2/branches/unstable/include/libxml/parser.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/parser.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/parser.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -915,6 +915,12 @@
 					 int depth,
 					 const xmlChar *string,
 					 xmlNodePtr *lst);
+XMLPUBFUN xmlParserErrors XMLCALL
+		xmlParseInNodeContext	(xmlNodePtr node,
+					 const char *data,
+					 int datalen,
+					 int options,
+					 xmlNodePtr *lst);
 XMLPUBFUN int XMLCALL          
 		xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
                      xmlSAXHandlerPtr sax,
@@ -1065,7 +1071,8 @@
     XML_PARSE_NONET	= 1<<11,/* Forbid network access */
     XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionnary */
     XML_PARSE_NSCLEAN	= 1<<13,/* remove redundant namespaces declarations */
-    XML_PARSE_NOCDATA	= 1<<14 /* merge CDATA as text nodes */
+    XML_PARSE_NOCDATA	= 1<<14,/* merge CDATA as text nodes */
+    XML_PARSE_NOXINCNODE= 1<<15 /* do not generate XINCLUDE START/END nodes */
 } xmlParserOption;
 
 XMLPUBFUN void XMLCALL

Modified: packages/libxml2/branches/unstable/include/libxml/parserInternals.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/parserInternals.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/parserInternals.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -197,7 +197,27 @@
  *
  */
 #define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)
+
 /**
+ * IS_ASCII_LETTER(c)
+ * @c: an xmlChar value
+ *
+ * Macro to check [a-zA-Z]
+ *
+ */
+#define IS_ASCII_LETTER(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
+				 ((0x61 <= (c)) && ((c) <= 0x7a)))
+
+/**
+ * IS_ASCII_DIGIT(c)
+ * @c: an xmlChar value
+ *
+ * Macro to check [0-9]
+ *
+ */
+#define IS_ASCII_DIGIT(c)	((0x30 <= (c)) && ((c) <= 0x39))
+
+/**
  * IS_PUBIDCHAR:
  * @c:  an UNICODE value (int)
  *
@@ -286,7 +306,7 @@
 /* internal error reporting */
 XMLPUBFUN void XMLCALL
 			__xmlErrEncoding	(xmlParserCtxtPtr ctxt,
-						 xmlParserErrors error,
+						 xmlParserErrors xmlerr,
 						 const char *msg,
 						 const xmlChar * str1,
 						 const xmlChar * str2);

Modified: packages/libxml2/branches/unstable/include/libxml/relaxng.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/relaxng.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/relaxng.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -94,6 +94,12 @@
     XML_RELAXNGP_FREE_DOC = 1,
     XML_RELAXNGP_CRNG = 2
 } xmlRelaxNGParserFlag;
+
+XMLPUBFUN int XMLCALL
+		    xmlRelaxNGInitTypes		(void);
+XMLPUBFUN void XMLCALL			
+		    xmlRelaxNGCleanupTypes	(void);
+
 /*
  * Interfaces for parsing.
  */
@@ -153,8 +159,6 @@
 XMLPUBFUN int XMLCALL			
 		    xmlRelaxNGValidateDoc	(xmlRelaxNGValidCtxtPtr ctxt,
 					 	 xmlDocPtr doc);
-XMLPUBFUN void XMLCALL			
-		    xmlRelaxNGCleanupTypes	(void);
 /*
  * Interfaces for progressive validation when possible
  */

Modified: packages/libxml2/branches/unstable/include/libxml/schemasInternals.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/schemasInternals.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/schemasInternals.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -44,15 +44,15 @@
     XML_SCHEMAS_TOKEN,
     XML_SCHEMAS_LANGUAGE,
     XML_SCHEMAS_NMTOKEN,
-    XML_SCHEMAS_NMTOKENS, 
+    XML_SCHEMAS_NMTOKENS,
     XML_SCHEMAS_NAME,
     XML_SCHEMAS_QNAME,
     XML_SCHEMAS_NCNAME,
     XML_SCHEMAS_ID,
     XML_SCHEMAS_IDREF,
-    XML_SCHEMAS_IDREFS, 
+    XML_SCHEMAS_IDREFS,
     XML_SCHEMAS_ENTITY,
-    XML_SCHEMAS_ENTITIES, 
+    XML_SCHEMAS_ENTITIES,
     XML_SCHEMAS_NOTATION,
     XML_SCHEMAS_ANYURI,
     XML_SCHEMAS_INTEGER,
@@ -71,7 +71,7 @@
     XML_SCHEMAS_HEXBINARY,
     XML_SCHEMAS_BASE64BINARY,
     XML_SCHEMAS_ANYTYPE,
-    XML_SCHEMAS_ANYSIMPLETYPE   
+    XML_SCHEMAS_ANYSIMPLETYPE
 } xmlSchemaValType;
 
 /*
@@ -149,25 +149,25 @@
  * Skip unknown attribute from validation
  * Obsolete, not used anymore.
  */
-#define XML_SCHEMAS_ANYATTR_SKIP	1
+#define XML_SCHEMAS_ANYATTR_SKIP        1
 /**
  * XML_SCHEMAS_ANYATTR_LAX:
  *
  * Ignore validation non definition on attributes
  * Obsolete, not used anymore.
  */
-#define XML_SCHEMAS_ANYATTR_LAX		2
+#define XML_SCHEMAS_ANYATTR_LAX                2
 /**
  * XML_SCHEMAS_ANYATTR_STRICT:
  *
  * Apply strict validation rules on attributes
  * Obsolete, not used anymore.
  */
-#define XML_SCHEMAS_ANYATTR_STRICT	3
+#define XML_SCHEMAS_ANYATTR_STRICT        3
 /**
  * XML_SCHEMAS_ANY_SKIP:
  *
- * Skip unknown attribute from validation 
+ * Skip unknown attribute from validation
  */
 #define XML_SCHEMAS_ANY_SKIP        1
 /**
@@ -209,13 +209,25 @@
  * allow elements in no namespace
  */
 #define XML_SCHEMAS_ATTR_GLOBAL        1 << 0
-
 /**
  * XML_SCHEMAS_ATTR_NSDEFAULT:
  *
  * allow elements in no namespace
  */
-#define XML_SCHEMAS_ATTR_NSDEFAULT	1 << 7
+#define XML_SCHEMAS_ATTR_NSDEFAULT        1 << 7
+/**
+ * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
+ *
+ * this is set when the "type" and "ref" references
+ * have been resolved.
+ */
+#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED        1 << 8
+/**
+ * XML_SCHEMAS_ATTR_FIXED:
+ *
+ * the attribute has a fixed value
+ */
+#define XML_SCHEMAS_ATTR_FIXED        1 << 9
 
 /**
  * xmlSchemaAttribute:
@@ -225,23 +237,26 @@
 typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
 typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
 struct _xmlSchemaAttribute {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
-    const xmlChar *name;
+    const xmlChar *name; /* name of the declaration or empty if particle */
     const xmlChar *id;
-    const xmlChar *ref;
-    const xmlChar *refNs;
-    const xmlChar *typeName;
-    const xmlChar *typeNs;
+    const xmlChar *ref; /* the local name of the attribute decl. if a particle */
+    const xmlChar *refNs; /* the ns URI of the attribute decl. if a particle */
+    const xmlChar *typeName; /* the local name of the type definition */
+    const xmlChar *typeNs; /* the ns URI of the type definition */
     xmlSchemaAnnotPtr annot;
 
-    xmlSchemaTypePtr base;
+    xmlSchemaTypePtr base; /* obsolete, not used */
     int occurs;
     const xmlChar *defValue;
-    xmlSchemaTypePtr subtypes;
+    xmlSchemaTypePtr subtypes; /* the type definition */
     xmlNodePtr node;
     const xmlChar *targetNamespace;
     int flags;
+    const xmlChar *refPrefix;
+    xmlSchemaValPtr defVal;
+    xmlSchemaAttributePtr refDecl;
 };
 
 /**
@@ -305,6 +320,12 @@
  * The attribute wildcard has been already builded.
  */
 #define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
+/**
+ * XML_SCHEMAS_ATTRGROUP_MARKED:
+ *
+ * Marks the attr group as marked; used for circular checks.
+ */
+#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2
 
 /**
  * An attribute group definition.
@@ -315,7 +336,7 @@
 typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
 typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
 struct _xmlSchemaAttributeGroup {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
     const xmlChar *name;
     const xmlChar *id;
@@ -327,6 +348,8 @@
     xmlNodePtr node;
     int flags;
     xmlSchemaWildcardPtr attributeWildcard;
+    const xmlChar *refPrefix;
+    xmlSchemaAttributeGroupPtr refItem; /* The referenced attribute group */
 };
 
 /**
@@ -357,7 +380,7 @@
  *
  * the element content type is mixed
  */
-#define XML_SCHEMAS_TYPE_MIXED		1 << 0
+#define XML_SCHEMAS_TYPE_MIXED                1 << 0
 /**
  * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
  *
@@ -443,6 +466,37 @@
  * the simpleType has a final of "union".
  */
 #define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
+/**
+ * XML_SCHEMAS_TYPE_MARKED
+ *
+ * Marks the item as marked; used for circular checks.
+ */
+#define XML_SCHEMAS_TYPE_MARKED        1 << 16
+/**
+ * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
+ *
+ * the complexType did not specify 'block' so use the default of the
+ * <schema> item.
+ */
+#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT    1 << 17
+/**
+ * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
+ *
+ * the complexType has a 'block' of "extension".
+ */
+#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION    1 << 18
+/**
+ * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
+ *
+ * the complexType has a 'block' of "restriction".
+ */
+#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION    1 << 19
+/**
+ * XML_SCHEMAS_TYPE_ABSTRACT:
+ *
+ * the simple/complexType is abstract.
+ */
+#define XML_SCHEMAS_TYPE_ABSTRACT    1 << 20
 
 /**
  * _xmlSchemaType:
@@ -450,7 +504,7 @@
  * Schemas type definition.
  */
 struct _xmlSchemaType {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaType *next;/* the next type if in a sequence ... */
     const xmlChar *name;
     const xmlChar *id;
@@ -476,6 +530,9 @@
     int builtInType;
     xmlSchemaTypeLinkPtr memberTypes;
     xmlSchemaFacetLinkPtr facetSet;
+    const xmlChar *refPrefix;
+    xmlSchemaTypePtr contentTypeDef;
+    xmlRegexpPtr contModel;
 };
 
 /*
@@ -490,63 +547,119 @@
  *
  * the element is nillable
  */
-#define XML_SCHEMAS_ELEM_NILLABLE	1 << 0
+#define XML_SCHEMAS_ELEM_NILLABLE        1 << 0
 /**
  * XML_SCHEMAS_ELEM_GLOBAL:
  *
  * the element is global
  */
-#define XML_SCHEMAS_ELEM_GLOBAL		1 << 1
+#define XML_SCHEMAS_ELEM_GLOBAL                1 << 1
 /**
  * XML_SCHEMAS_ELEM_DEFAULT:
  *
  * the element has a default value
  */
-#define XML_SCHEMAS_ELEM_DEFAULT	1 << 2
+#define XML_SCHEMAS_ELEM_DEFAULT        1 << 2
 /**
  * XML_SCHEMAS_ELEM_FIXED:
  *
  * the element has a fixed value
  */
-#define XML_SCHEMAS_ELEM_FIXED		1 << 3
+#define XML_SCHEMAS_ELEM_FIXED                1 << 3
 /**
  * XML_SCHEMAS_ELEM_ABSTRACT:
  *
  * the element is abstract
  */
-#define XML_SCHEMAS_ELEM_ABSTRACT	1 << 4
+#define XML_SCHEMAS_ELEM_ABSTRACT        1 << 4
 /**
  * XML_SCHEMAS_ELEM_TOPLEVEL:
  *
  * the element is top level
  * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
  */
-#define XML_SCHEMAS_ELEM_TOPLEVEL	1 << 5
+#define XML_SCHEMAS_ELEM_TOPLEVEL        1 << 5
 /**
  * XML_SCHEMAS_ELEM_REF:
  *
  * the element is a reference to a type
  */
-#define XML_SCHEMAS_ELEM_REF		1 << 6
+#define XML_SCHEMAS_ELEM_REF                1 << 6
 /**
  * XML_SCHEMAS_ELEM_NSDEFAULT:
  *
  * allow elements in no namespace
  * Obsolete, not used anymore.
  */
-#define XML_SCHEMAS_ELEM_NSDEFAULT	1 << 7
+#define XML_SCHEMAS_ELEM_NSDEFAULT        1 << 7
+/**
+ * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED
+ *
+ * this is set when "type", "ref", "substitutionGroup"
+ * references have been resolved.
+ */
+#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED        1 << 8
+ /**
+ * XML_SCHEMAS_ELEM_CIRCULAR
+ *
+ * a helper flag for the search of circular references.
+ */
+#define XML_SCHEMAS_ELEM_CIRCULAR        1 << 9
+/**
+ * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
+ *
+ * the "block" attribute is absent
+ */
+#define XML_SCHEMAS_ELEM_BLOCK_ABSENT        1 << 10
+/**
+ * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
+ *
+ * disallowed substitutions are absent
+ */
+#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION        1 << 11
+/**
+ * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
+ *
+ * disallowed substitutions: "restriction"
+ */
+#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION        1 << 12
+/**
+ * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
+ *
+ * disallowed substitutions: "substituion"
+ */
+#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION        1 << 13
+/**
+ * XML_SCHEMAS_ELEM_FINAL_ABSENT:
+ *
+ * substitution group exclusions are absent
+ */
+#define XML_SCHEMAS_ELEM_FINAL_ABSENT        1 << 14
+/**
+ * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
+ *
+ * substitution group exclusions: "extension"
+ */
+#define XML_SCHEMAS_ELEM_FINAL_EXTENSION        1 << 15
+/**
+ * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
+ *
+ * substitution group exclusions: "restriction"
+ */
+#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION        1 << 16
 
+
 typedef struct _xmlSchemaElement xmlSchemaElement;
 typedef xmlSchemaElement *xmlSchemaElementPtr;
 struct _xmlSchemaElement {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaType *next;/* the next type if in a sequence ... */
     const xmlChar *name;
     const xmlChar *id;
-    const xmlChar *ref;
-    const xmlChar *refNs;
+    const xmlChar *ref; /* the local name of the element declaration if a particle */
+    const xmlChar *refNs; /* the ns URI of the element declaration if a particle */
     xmlSchemaAnnotPtr annot;
-    xmlSchemaTypePtr subtypes;
+    xmlSchemaTypePtr subtypes; /* the type definition */
     xmlSchemaAttributePtr attributes;
     xmlNodePtr node;
     int minOccurs;
@@ -560,9 +673,11 @@
     const xmlChar *substGroupNs;
     const xmlChar *scope;
     const xmlChar *value;
-    struct _xmlSchemaElement *refDecl;
+    struct _xmlSchemaElement *refDecl; /* the element declaration if a particle */
     xmlRegexpPtr contModel;
     xmlSchemaContentType contentType;
+    const xmlChar *refPrefix;
+    xmlSchemaValPtr defVal;
 };
 
 /*
@@ -570,30 +685,30 @@
  *
  * unknown facet handling
  */
-#define XML_SCHEMAS_FACET_UNKNOWN	0
+#define XML_SCHEMAS_FACET_UNKNOWN        0
 /*
  * XML_SCHEMAS_FACET_PRESERVE:
  *
  * preserve the type of the facet
  */
-#define XML_SCHEMAS_FACET_PRESERVE	1
+#define XML_SCHEMAS_FACET_PRESERVE        1
 /*
  * XML_SCHEMAS_FACET_REPLACE:
  *
  * replace the type of the facet
  */
-#define XML_SCHEMAS_FACET_REPLACE	2
+#define XML_SCHEMAS_FACET_REPLACE        2
 /*
  * XML_SCHEMAS_FACET_COLLAPSE:
  *
  * collapse the types of the facet
  */
-#define XML_SCHEMAS_FACET_COLLAPSE	3
+#define XML_SCHEMAS_FACET_COLLAPSE        3
 /**
  * A facet definition.
  */
 struct _xmlSchemaFacet {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
     const xmlChar *value;
     const xmlChar *id;
@@ -611,7 +726,7 @@
 typedef struct _xmlSchemaNotation xmlSchemaNotation;
 typedef xmlSchemaNotation *xmlSchemaNotationPtr;
 struct _xmlSchemaNotation {
-    xmlSchemaTypeType type;	/* The kind of type */
+    xmlSchemaTypeType type;        /* The kind of type */
     const xmlChar *name;
     xmlSchemaAnnotPtr annot;
     const xmlChar *identifier;
@@ -620,40 +735,65 @@
 /**
  * XML_SCHEMAS_QUALIF_ELEM:
  *
- * the shemas requires qualified elements
+ * the schema requires qualified elements
  */
-#define XML_SCHEMAS_QUALIF_ELEM		1 << 0
+#define XML_SCHEMAS_QUALIF_ELEM                1 << 0
 /**
  * XML_SCHEMAS_QUALIF_ATTR:
  *
- * the shemas requires qualified attributes
+ * the schema requires qualified attributes
  */
-#define XML_SCHEMAS_QUALIF_ATTR	    1 << 1
+#define XML_SCHEMAS_QUALIF_ATTR            1 << 1
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
  *
- * the shema has "extension" in the set of finalDefault.
+ * the schema has "extension" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION	1 << 2
+#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION        1 << 2
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
  *
- * the shema has "restriction" in the set of finalDefault.
+ * the schema has "restriction" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION	    1 << 3
+#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION            1 << 3
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_LIST:
  *
- * the shema has "list" in the set of finalDefault.
+ * the cshema has "list" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_LIST	    1 << 4
+#define XML_SCHEMAS_FINAL_DEFAULT_LIST            1 << 4
 /**
  * XML_SCHEMAS_FINAL_DEFAULT_UNION:
  *
- * the shema has "union" in the set of finalDefault.
+ * the schema has "union" in the set of finalDefault.
  */
-#define XML_SCHEMAS_FINAL_DEFAULT_UNION	    1 << 5
+#define XML_SCHEMAS_FINAL_DEFAULT_UNION            1 << 5
 /**
+ * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
+ *
+ * the schema has "extension" in the set of blockDefault.
+ */
+#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION            1 << 6
+/**
+ * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
+ *
+ * the schema has "restriction" in the set of blockDefault.
+ */
+#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION            1 << 7
+/**
+ * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
+ *
+ * the schema has "substitution" in the set of blockDefault.
+ */
+#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION            1 << 8
+/**
+ * XML_SCHEMAS_INCLUDING_CONVERT_NS:
+ *
+ * the schema is currently including an other schema with
+ * no target namespace.
+ */
+#define XML_SCHEMAS_INCLUDING_CONVERT_NS            1 << 9
+/**
  * _xmlSchema:
  *
  * A Schemas definition
@@ -675,15 +815,16 @@
 
     xmlHashTablePtr schemasImports;
 
-    void *_private;	/* unused by the library for users or bindings */
+    void *_private;        /* unused by the library for users or bindings */
     xmlHashTablePtr groupDecl;
     xmlDictPtr      dict;
     void *includes;     /* the includes, this is opaque for now */
-    int preserve;	/* whether to free the document */
+    int preserve;        /* whether to free the document */
+    int counter; /* used to give ononymous components unique names */
 };
 
-XMLPUBFUN void XMLCALL 	xmlSchemaFreeType	(xmlSchemaTypePtr type);
-XMLPUBFUN void XMLCALL 	xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
+XMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);
+XMLPUBFUN void XMLCALL         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
 
 #ifdef __cplusplus
 }
@@ -691,4 +832,3 @@
 
 #endif /* LIBXML_SCHEMAS_ENABLED */
 #endif /* __XML_SCHEMA_INTERNALS_H__ */
-

Modified: packages/libxml2/branches/unstable/include/libxml/tree.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/tree.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/tree.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -585,18 +585,18 @@
 XMLPUBFUN int XMLCALL		
 		xmlBufferDump		(FILE *file,
 					 xmlBufferPtr buf);
-XMLPUBFUN void XMLCALL		
+XMLPUBFUN int XMLCALL		
 		xmlBufferAdd		(xmlBufferPtr buf,
 					 const xmlChar *str,
 					 int len);
-XMLPUBFUN void XMLCALL		
+XMLPUBFUN int XMLCALL		
 		xmlBufferAddHead	(xmlBufferPtr buf,
 					 const xmlChar *str,
 					 int len);
-XMLPUBFUN void XMLCALL		
+XMLPUBFUN int XMLCALL		
 		xmlBufferCat		(xmlBufferPtr buf,
 					 const xmlChar *str);
-XMLPUBFUN void XMLCALL	
+XMLPUBFUN int XMLCALL	
 		xmlBufferCCat		(xmlBufferPtr buf,
 					 const char *str);
 XMLPUBFUN int XMLCALL		
@@ -724,6 +724,10 @@
 XMLPUBFUN xmlNodePtr XMLCALL	
 		xmlNewText		(const xmlChar *content);
 XMLPUBFUN xmlNodePtr XMLCALL	
+		xmlNewDocPI		(xmlDocPtr doc,
+					 const xmlChar *name,
+					 const xmlChar *content);
+XMLPUBFUN xmlNodePtr XMLCALL	
 		xmlNewPI		(const xmlChar *name,
 					 const xmlChar *content);
 XMLPUBFUN xmlNodePtr XMLCALL	
@@ -756,6 +760,9 @@
 					 xmlDocPtr doc,
 					 int recursive);
 XMLPUBFUN xmlNodePtr XMLCALL	
+		xmlDocCopyNodeList	(xmlDocPtr doc,
+					 const xmlNodePtr node);
+XMLPUBFUN xmlNodePtr XMLCALL	
 		xmlCopyNodeList		(const xmlNodePtr node);
 #ifdef LIBXML_TREE_ENABLED
 XMLPUBFUN xmlNodePtr XMLCALL	

Modified: packages/libxml2/branches/unstable/include/libxml/valid.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/valid.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/valid.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -30,7 +30,9 @@
 
 /**
  * xmlValidityErrorFunc:
- * @ctx:  an xmlValidCtxtPtr validity error context
+ * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
+ *        but comes from ctxt->userData (which normally contains such
+ *        a pointer); ctxt->userData can be changed by the user.
  * @msg:  the string to format *printf like vararg
  * @...:  remaining arguments to the format
  *
@@ -43,7 +45,9 @@
 
 /**
  * xmlValidityWarningFunc:
- * @ctx:  an xmlValidCtxtPtr validity error context
+ * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
+ *        but comes from ctxt->userData (which normally contains such
+ *        a pointer); ctxt->userData can be changed by the user.
  * @msg:  the string to format *printf like vararg
  * @...:  remaining arguments to the format
  *
@@ -54,6 +58,21 @@
 			       const char *msg,
 			       ...);
 
+#ifdef IN_LIBXML
+/**
+ * XML_CTXT_FINISH_DTD_0:
+ *
+ * Special value for finishDtd field when embedded in an xmlParserCtxt
+ */
+#define XML_CTXT_FINISH_DTD_0 0xabcd1234
+/**
+ * XML_CTXT_FINISH_DTD_1:
+ *
+ * Special value for finishDtd field when embedded in an xmlParserCtxt
+ */
+#define XML_CTXT_FINISH_DTD_1 0xabcd1235
+#endif
+
 /*
  * xmlValidCtxt:
  * An xmlValidCtxt is used for error reporting when validating.
@@ -71,7 +90,7 @@
     int                nodeMax;       /* Max depth of the parsing stack */
     xmlNodePtr        *nodeTab;       /* array of nodes */
 
-    int              finishDtd;       /* finished validating the Dtd ? */
+    unsigned int     finishDtd;       /* finished validating the Dtd ? */
     xmlDocPtr              doc;       /* the document */
     int                  valid;       /* temporary validity check result */
 

Modified: packages/libxml2/branches/unstable/include/libxml/xmlautomata.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlautomata.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlautomata.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -73,6 +73,15 @@
 						 int max,
 						 void *data);
 XMLPUBFUN xmlAutomataStatePtr XMLCALL	
+		    xmlAutomataNewCountTrans2	(xmlAutomataPtr am,
+						 xmlAutomataStatePtr from,
+						 xmlAutomataStatePtr to,
+						 const xmlChar *token,
+						 const xmlChar *token2,
+						 int min,
+						 int max,
+						 void *data);
+XMLPUBFUN xmlAutomataStatePtr XMLCALL	
 		    xmlAutomataNewOnceTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,
 						 xmlAutomataStatePtr to,
@@ -80,6 +89,15 @@
 						 int min,
 						 int max,
 						 void *data);
+XMLPUBFUN xmlAutomataStatePtr XMLCALL
+		    xmlAutomataNewOnceTrans2	(xmlAutomataPtr am, 
+						 xmlAutomataStatePtr from,
+						 xmlAutomataStatePtr to, 
+						 const xmlChar *token,
+						 const xmlChar *token2,
+						 int min, 
+						 int max, 
+						 void *data);
 XMLPUBFUN xmlAutomataStatePtr XMLCALL	
 		    xmlAutomataNewAllTrans	(xmlAutomataPtr am,
 						 xmlAutomataStatePtr from,

Modified: packages/libxml2/branches/unstable/include/libxml/xmlerror.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlerror.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlerror.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -57,7 +57,9 @@
     XML_FROM_CATALOG,	/* The Catalog module */
     XML_FROM_C14N,	/* The Canonicalization module */
     XML_FROM_XSLT,	/* The XSLT engine from libxslt */
-    XML_FROM_VALID	/* The XML DTD validation with valid context */
+    XML_FROM_VALID,	/* The XML DTD validation with valid context */
+    XML_FROM_CHECK,	/* The error checking module */
+    XML_FROM_WRITER	/* The xmlwriter module */
 } xmlErrorDomain;
 
 /**
@@ -530,94 +532,126 @@
     XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */
     XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */
     XML_SCHEMAP_REGEXP_INVALID, /* 1756 */
-    XML_SCHEMAP_FAILED_LOAD, /* 1756 */
-    XML_SCHEMAP_NOTHING_TO_PARSE, /* 1757 */
-    XML_SCHEMAP_NOROOT, /* 1758 */
-    XML_SCHEMAP_REDEFINED_GROUP, /* 1759 */
-    XML_SCHEMAP_REDEFINED_TYPE, /* 1760 */
-    XML_SCHEMAP_REDEFINED_ELEMENT, /* 1761 */
-    XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1762 */
-    XML_SCHEMAP_REDEFINED_ATTR, /* 1763 */
-    XML_SCHEMAP_REDEFINED_NOTATION, /* 1764 */
-    XML_SCHEMAP_FAILED_PARSE, /* 1765 */
-    XML_SCHEMAP_UNKNOWN_PREFIX, /* 1766 */
-    XML_SCHEMAP_DEF_AND_PREFIX, /* 1767 */
-    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1768 */
-    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1769 */
-    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1770 */
-    XML_SCHEMAP_NOT_SCHEMA, /* 1771 */
-    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1772 */
-    XML_SCHEMAP_INVALID_ATTR_USE, /* 1773 */
-    XML_SCHEMAP_RECURSIVE, /* 1774 */
-    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1775 */
-    XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1776 */
-    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1777 */
-    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1778 */
-    XML_SCHEMAP_INVALID_ATTR_NAME, /* 1779 */
-    XML_SCHEMAP_REF_AND_CONTENT, /* 1780 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1781 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1782 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1783 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1784 */
-    XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1785 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1786 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1787 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1788 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1789 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1790 */
-    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1791 */
-    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1792 */
-    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1793 */
-    XML_SCHEMAP_SRC_IMPORT_3_1, /* 1794 */
-    XML_SCHEMAP_SRC_IMPORT_3_2, /* 1795 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1796 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1797 */
-    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1798 */
-    XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1799 */
-    XML_SCHEMAV_NOROOT = 1800,
-    XML_SCHEMAV_UNDECLAREDELEM, /* 1801 */
-    XML_SCHEMAV_NOTTOPLEVEL, /* 1802 */
-    XML_SCHEMAV_MISSING, /* 1803 */
-    XML_SCHEMAV_WRONGELEM, /* 1804 */
-    XML_SCHEMAV_NOTYPE, /* 1805 */
-    XML_SCHEMAV_NOROLLBACK, /* 1806 */
-    XML_SCHEMAV_ISABSTRACT, /* 1807 */
-    XML_SCHEMAV_NOTEMPTY, /* 1808 */
-    XML_SCHEMAV_ELEMCONT, /* 1809 */
-    XML_SCHEMAV_HAVEDEFAULT, /* 1810 */
-    XML_SCHEMAV_NOTNILLABLE, /* 1811 */
-    XML_SCHEMAV_EXTRACONTENT, /* 1812 */
-    XML_SCHEMAV_INVALIDATTR, /* 1813 */
-    XML_SCHEMAV_INVALIDELEM, /* 1814 */
-    XML_SCHEMAV_NOTDETERMINIST, /* 1815 */
-    XML_SCHEMAV_CONSTRUCT, /* 1816 */
-    XML_SCHEMAV_INTERNAL, /* 1817 */
-    XML_SCHEMAV_NOTSIMPLE, /* 1818 */
-    XML_SCHEMAV_ATTRUNKNOWN, /* 1819 */
-    XML_SCHEMAV_ATTRINVALID, /* 1820 */
-    XML_SCHEMAV_VALUE, /* 1821 */
-    XML_SCHEMAV_FACET, /* 1822 */
-    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1823 */
-    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1824 */
-    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1825 */
-    XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1826 */
-    XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1827 */
-    XML_SCHEMAV_CVC_FACET_VALID, /* 1828 */
-    XML_SCHEMAV_CVC_LENGTH_VALID, /* 1829 */
-    XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1830 */
-    XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1831 */
-    XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1832 */
-    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1833 */
-    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1834 */
-    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1835 */
-    XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1836 */
-    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1837 */
-    XML_SCHEMAV_CVC_PATTERN_VALID, /* 1838 */
-    XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1839 */
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1840 */
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1841 */
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1842 */
-    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1843 */
+    XML_SCHEMAP_FAILED_LOAD, /* 1757 */
+    XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */
+    XML_SCHEMAP_NOROOT, /* 1759 */
+    XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */
+    XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */
+    XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */
+    XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */
+    XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */
+    XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */
+    XML_SCHEMAP_FAILED_PARSE, /* 1766 */
+    XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */
+    XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */
+    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */
+    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */
+    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */
+    XML_SCHEMAP_NOT_SCHEMA, /* 1772 */
+    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */
+    XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */
+    XML_SCHEMAP_RECURSIVE, /* 1775 */
+    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */
+    XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */
+    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */
+    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */
+    XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */
+    XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */
+    XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */
+    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */
+    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */
+    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */
+    XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */
+    XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */
+    XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */
+    XML_SCHEMAV_NOROOT = 1801,
+    XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */
+    XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */
+    XML_SCHEMAV_MISSING, /* 1804 */
+    XML_SCHEMAV_WRONGELEM, /* 1805 */
+    XML_SCHEMAV_NOTYPE, /* 1806 */
+    XML_SCHEMAV_NOROLLBACK, /* 1807 */
+    XML_SCHEMAV_ISABSTRACT, /* 1808 */
+    XML_SCHEMAV_NOTEMPTY, /* 1809 */
+    XML_SCHEMAV_ELEMCONT, /* 1810 */
+    XML_SCHEMAV_HAVEDEFAULT, /* 1811 */
+    XML_SCHEMAV_NOTNILLABLE, /* 1812 */
+    XML_SCHEMAV_EXTRACONTENT, /* 1813 */
+    XML_SCHEMAV_INVALIDATTR, /* 1814 */
+    XML_SCHEMAV_INVALIDELEM, /* 1815 */
+    XML_SCHEMAV_NOTDETERMINIST, /* 1816 */
+    XML_SCHEMAV_CONSTRUCT, /* 1817 */
+    XML_SCHEMAV_INTERNAL, /* 1818 */
+    XML_SCHEMAV_NOTSIMPLE, /* 1819 */
+    XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */
+    XML_SCHEMAV_ATTRINVALID, /* 1821 */
+    XML_SCHEMAV_VALUE, /* 1822 */
+    XML_SCHEMAV_FACET, /* 1823 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */
+    XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */
+    XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */
+    XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */
+    XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */
+    XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */
+    XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */
+    XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */
+    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */
+    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */
+    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */
+    XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */
+    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */
+    XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */
+    XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */
+    XML_SCHEMAV_CVC_ELT_1, /* 1845 */
+    XML_SCHEMAV_CVC_ELT_2, /* 1846 */
+    XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */
+    XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */
+    XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */
+    XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */
+    XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */
+    XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */
+    XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */
+    XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */
+    XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */  
+    XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */
+    XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */
+    XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */
+    XML_SCHEMAV_CVC_ELT_6, /* 1859 */
+    XML_SCHEMAV_CVC_ELT_7, /* 1860 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */
+    XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */
+    XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */
+    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */
+    XML_SCHEMAV_CVC_AU, /* 1874 */
+    XML_SCHEMAV_CVC_TYPE_1, /* 1875 */
+    XML_SCHEMAV_CVC_TYPE_2, /* 1876 */
     XML_XPTR_UNKNOWN_SCHEME = 1900, 
     XML_XPTR_CHILDSEQ_START, /* 1901 */
     XML_XPTR_EVAL_FAILED, /* 1902 */
@@ -637,22 +671,22 @@
     XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */
     XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */
     XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ 
-    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3004 */
-    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3005 */
-    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3006 */
-    XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3007 */
-    XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3008 */
-    XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3009 */     
-    XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3010 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3011 */    
-    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3012 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3013 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3014 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3015 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3016 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3017 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3018 */
-    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3019 */
+    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */
+    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */
+    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */
+    XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */
+    XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */
+    XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */     
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */    
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */
     XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */
     XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */
     XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */
@@ -668,7 +702,92 @@
     XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */
     XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */
     XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */
-    XML_SCHEMAP_S4S_ATTR_MISSING /* 3036 */
+    XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */
+    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */
+    XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */
+    XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */
+    XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */
+    XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */
+    XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */
+    XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */
+    XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */
+    XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */
+    XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */
+    XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */
+    XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */
+    XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */
+    XML_SCHEMAP_SRC_INCLUDE, /* 3050 */    
+    XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */
+    XML_SCHEMAP_NO_XMLNS, /* 3056 */
+    XML_SCHEMAP_NO_XSI, /* 3057 */      
+    XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */
+    XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */
+    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */
+    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */
+    XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */
+    XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */
+    XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */
+    XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */
+    XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */
+    XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */
+    XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */
+    XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */
+    XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */
+    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */
+    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */
+    XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */
+    XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */
+    XML_SCHEMAP_SRC_CT_1, /* 3076 */
+    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */
+    XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */
+    XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */
+    XML_CHECK_FOUND_ELEMENT = 5000,
+    XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */
+    XML_CHECK_FOUND_TEXT, /* 5002 */
+    XML_CHECK_FOUND_CDATA, /* 5003 */
+    XML_CHECK_FOUND_ENTITYREF, /* 5004 */
+    XML_CHECK_FOUND_ENTITY, /* 5005 */
+    XML_CHECK_FOUND_PI, /* 5006 */
+    XML_CHECK_FOUND_COMMENT, /* 5007 */
+    XML_CHECK_FOUND_DOCTYPE, /* 5008 */
+    XML_CHECK_FOUND_FRAGMENT, /* 5009 */
+    XML_CHECK_FOUND_NOTATION, /* 5010 */
+    XML_CHECK_UNKNOWN_NODE, /* 5011 */
+    XML_CHECK_ENTITY_TYPE, /* 5012 */
+    XML_CHECK_NO_PARENT, /* 5013 */
+    XML_CHECK_NO_DOC, /* 5014 */
+    XML_CHECK_NO_NAME, /* 5015 */
+    XML_CHECK_NO_ELEM, /* 5016 */
+    XML_CHECK_WRONG_DOC, /* 5017 */
+    XML_CHECK_NO_PREV, /* 5018 */
+    XML_CHECK_WRONG_PREV, /* 5019 */
+    XML_CHECK_NO_NEXT, /* 5020 */
+    XML_CHECK_WRONG_NEXT, /* 5021 */
+    XML_CHECK_NOT_DTD, /* 5022 */
+    XML_CHECK_NOT_ATTR, /* 5023 */
+    XML_CHECK_NOT_ATTR_DECL, /* 5024 */
+    XML_CHECK_NOT_ELEM_DECL, /* 5025 */
+    XML_CHECK_NOT_ENTITY_DECL, /* 5026 */
+    XML_CHECK_NOT_NS_DECL, /* 5027 */
+    XML_CHECK_NO_HREF, /* 5028 */
+    XML_CHECK_WRONG_PARENT,/* 5029 */
+    XML_CHECK_NS_SCOPE, /* 5030 */
+    XML_CHECK_NS_ANCESTOR, /* 5031 */
+    XML_CHECK_NOT_UTF8, /* 5032 */
+    XML_CHECK_NO_DICT, /* 5033 */
+    XML_CHECK_NOT_NCNAME, /* 5034 */
+    XML_CHECK_OUTSIDE_DICT, /* 5035 */
+    XML_CHECK_WRONG_NAME, /* 5036 */
+    XML_CHECK_NAME_NOT_NULL /* 5037 */
+#if 0
+    XML_CHECK_, /* 5033 */
+    XML_CHECK_X /* 503 */
+#endif
 } xmlParserErrors;
 
 /**

Modified: packages/libxml2/branches/unstable/include/libxml/xmlmemory.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlmemory.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlmemory.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -139,6 +139,8 @@
  */
 XMLPUBFUN int XMLCALL	
 	xmlMemUsed	(void);
+XMLPUBFUN int XMLCALL	
+	xmlMemBlocks	(void);
 XMLPUBFUN void XMLCALL	
 	xmlMemDisplay	(FILE *fp);
 XMLPUBFUN void XMLCALL	

Modified: packages/libxml2/branches/unstable/include/libxml/xmlreader.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlreader.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlreader.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -150,6 +150,8 @@
 			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
 XMLPUBFUN int XMLCALL		
 			xmlTextReaderReadState	(xmlTextReaderPtr reader);
+XMLPUBFUN int XMLCALL
+                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
 
 XMLPUBFUN const xmlChar * XMLCALL	
 		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
@@ -226,6 +228,8 @@
 		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
 XMLPUBFUN int XMLCALL		
 		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
+XMLPUBFUN const xmlChar * XMLCALL
+		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
 
 /*
  * Extensions
@@ -263,6 +267,10 @@
 		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
 						 xmlRelaxNGPtr schema);
 #endif
+XMLPUBFUN const xmlChar * XMLCALL
+		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
+XMLPUBFUN int XMLCALL
+		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
 
 /*
  * New more complete APIs for simpler creation and reuse of readers

Modified: packages/libxml2/branches/unstable/include/libxml/xmlschemas.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlschemas.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlschemas.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -22,6 +22,9 @@
 extern "C" {
 #endif
 
+/**
+ * This error codes are obsolete; not used any more.
+ */
 typedef enum {
     XML_SCHEMAS_ERR_OK		= 0,
     XML_SCHEMAS_ERR_NOROOT	= 1,
@@ -51,7 +54,30 @@
     XML_SCHEMAS_ERR_XXX
 } xmlSchemaValidError;
 
+/*
+* ATTENTION: Change xmlSchemaSetValidOptions's check
+* for invalid values, if adding to the validation 
+* options below.
+*/
+/**
+ * xmlSchemaValidOption:
+ *
+ * This is the set of XML Schema validation options.
+ */
+typedef enum {
+    XML_SCHEMA_VAL_VC_I_CREATE			= 1<<0
+	/* Default/fixed: create an attribute node
+	* or an element's text node on the instance.
+	*/
+} xmlSchemaValidOption;
 
+/*
+    XML_SCHEMA_VAL_XSI_ASSEMBLE			= 1<<1,
+	* assemble schemata using
+	* xsi:schemaLocation and
+	* xsi:noNamespaceSchemaLocation
+*/
+
 /**
  * The schemas related types are kept internal
  */
@@ -87,6 +113,11 @@
 					 xmlSchemaValidityErrorFunc err,
 					 xmlSchemaValidityWarningFunc warn,
 					 void *ctx);
+XMLPUBFUN int XMLCALL
+		xmlSchemaGetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
+					xmlSchemaValidityErrorFunc * err,
+					xmlSchemaValidityWarningFunc * warn,
+					void **ctx);
 XMLPUBFUN xmlSchemaPtr XMLCALL	
 	    xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt);
 XMLPUBFUN void XMLCALL		
@@ -104,6 +135,17 @@
 					 xmlSchemaValidityErrorFunc err,
 					 xmlSchemaValidityWarningFunc warn,
 					 void *ctx);
+XMLPUBFUN int XMLCALL
+	    xmlSchemaGetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
+					 xmlSchemaValidityErrorFunc *err,
+					 xmlSchemaValidityWarningFunc *warn,
+					 void **ctx);
+XMLPUBFUN int XMLCALL
+	    xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
+					 int options);
+XMLPUBFUN int XMLCALL
+	    xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
+
 XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL	
 	    xmlSchemaNewValidCtxt	(xmlSchemaPtr schema);
 XMLPUBFUN void XMLCALL			
@@ -111,6 +153,9 @@
 XMLPUBFUN int XMLCALL			
 	    xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlDocPtr instance);
+XMLPUBFUN int XMLCALL
+            xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
+			                 xmlNodePtr elem);
 XMLPUBFUN int XMLCALL			
 	    xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt,
 					 xmlParserInputBufferPtr input,

Modified: packages/libxml2/branches/unstable/include/libxml/xmlschemastypes.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlschemastypes.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlschemastypes.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -43,7 +43,7 @@
 		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
 						 xmlSchemaFacetPtr facet,
 						 const xmlChar *value,
-						 xmlSchemaValPtr val);
+						 xmlSchemaValPtr val);	
 XMLPUBFUN void XMLCALL		
 		xmlSchemaFreeValue		(xmlSchemaValPtr val);
 XMLPUBFUN xmlSchemaFacetPtr XMLCALL 
@@ -70,8 +70,19 @@
 XMLPUBFUN int XMLCALL
 xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, 
 			    int facetType);
-XMLPUBFUN xmlChar *  XMLCALL
+XMLPUBFUN xmlChar * XMLCALL
 xmlSchemaCollapseString(const xmlChar *value);
+XMLPUBFUN unsigned long  XMLCALL
+xmlSchemaGetFacetValueAsULong(xmlSchemaFacetPtr facet);
+XMLPUBFUN int XMLCALL
+xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type, 
+			     xmlSchemaFacetPtr facet,
+			     const xmlChar *value,
+			     xmlSchemaValPtr val,
+			     unsigned long *length) ;
+XMLPUBFUN int XMLCALL
+xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type, const xmlChar *value,
+				 xmlSchemaValPtr *val, xmlNodePtr node);
 
 #ifdef __cplusplus
 }

Modified: packages/libxml2/branches/unstable/include/libxml/xmlstring.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlstring.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlstring.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -117,7 +117,7 @@
 XMLPUBFUN xmlChar * XMLCALL 
         xmlUTF8Strndup                   (const xmlChar *utf,
                                          int len);
-XMLPUBFUN xmlChar * XMLCALL 
+XMLPUBFUN const xmlChar * XMLCALL 
         xmlUTF8Strpos                    (const xmlChar *utf,
                                          int pos);
 XMLPUBFUN int XMLCALL

Modified: packages/libxml2/branches/unstable/include/libxml/xmlversion.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlversion.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlversion.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -29,29 +29,36 @@
  *
  * the version string like "1.2.3"
  */
-#define LIBXML_DOTTED_VERSION "2.6.11"
+#define LIBXML_DOTTED_VERSION "2.6.16"
 
 /**
  * LIBXML_VERSION:
  *
  * the version number: 1.2.3 value is 1002003
  */
-#define LIBXML_VERSION 20611
+#define LIBXML_VERSION 20616
 
 /**
  * LIBXML_VERSION_STRING:
  *
  * the version number string, 1.2.3 value is "1002003"
  */
-#define LIBXML_VERSION_STRING "20611"
+#define LIBXML_VERSION_STRING "20616"
 
 /**
+ * LIBXML_VERSION_EXTRA:
+ *
+ * extra version information, used to show a CVS compilation
+ */
+#define LIBXML_VERSION_EXTRA "-CVS2257"
+
+/**
  * LIBXML_TEST_VERSION:
  *
  * Macro to check that the libxml version in use is compatible with
  * the version the software has been compiled against
  */
-#define LIBXML_TEST_VERSION xmlCheckVersion(20611);
+#define LIBXML_TEST_VERSION xmlCheckVersion(20616);
 
 #ifndef VMS
 #if 0
@@ -288,6 +295,15 @@
 #endif
 
 /**
+ * LIBXML_DEBUG_RUNTIME:
+ *
+ * Whether the runtime debugging is configured in
+ */
+#if 1
+#define LIBXML_DEBUG_RUNTIME
+#endif
+
+/**
  * LIBXML_UNICODE_ENABLED:
  *
  * Whether the Unicode related interfaces are compiled in

Modified: packages/libxml2/branches/unstable/include/libxml/xmlversion.h.in
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xmlversion.h.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xmlversion.h.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -46,6 +46,13 @@
 #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
 
 /**
+ * LIBXML_VERSION_EXTRA:
+ *
+ * extra version information, used to show a CVS compilation
+ */
+#define LIBXML_VERSION_EXTRA "@LIBXML_VERSION_EXTRA@"
+
+/**
  * LIBXML_TEST_VERSION:
  *
  * Macro to check that the libxml version in use is compatible with
@@ -288,6 +295,15 @@
 #endif
 
 /**
+ * LIBXML_DEBUG_RUNTIME:
+ *
+ * Whether the runtime debugging is configured in
+ */
+#if @WITH_MEM_DEBUG@
+#define LIBXML_DEBUG_RUNTIME
+#endif
+
+/**
  * LIBXML_UNICODE_ENABLED:
  *
  * Whether the Unicode related interfaces are compiled in

Modified: packages/libxml2/branches/unstable/include/libxml/xpath.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xpath.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xpath.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -62,7 +62,8 @@
     XPTR_SUB_RESOURCE_ERROR,
     XPATH_UNDEF_PREFIX_ERROR,
     XPATH_ENCODING_ERROR,
-    XPATH_INVALID_CHAR_ERROR
+    XPATH_INVALID_CHAR_ERROR,
+    XPATH_INVALID_CTXT
 } xmlXPathError;
 
 /*
@@ -198,6 +199,52 @@
 };
 
 /**
+ * xmlXPathFunction:
+ * @ctxt:  the XPath interprestation context
+ * @nargs:  the number of arguments
+ *
+ * An XPath function.
+ * The arguments (if any) are popped out from the context stack
+ * and the result is pushed on the stack.
+ */
+
+typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs);
+
+/*
+ * Function and Variable Lookup.
+ */
+
+/**
+ * xmlXPathVariableLookupFunc:
+ * @ctxt:  an XPath context
+ * @name:  name of the variable
+ * @ns_uri:  the namespace name hosting this variable
+ *
+ * Prototype for callbacks used to plug variable lookup in the XPath
+ * engine.
+ *
+ * Returns the XPath object value or NULL if not found.
+ */
+typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt,
+                                         const xmlChar *name,
+                                         const xmlChar *ns_uri);
+
+/**
+ * xmlXPathFuncLookupFunc:
+ * @ctxt:  an XPath context
+ * @name:  name of the function
+ * @ns_uri:  the namespace name hosting this function
+ *
+ * Prototype for callbacks used to plug function lookup in the XPath
+ * engine.
+ *
+ * Returns the XPath function or NULL if not found.
+ */
+typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
+					 const xmlChar *name,
+					 const xmlChar *ns_uri);
+
+/**
  * xmlXPathContext:
  *
  * Expression evaluation occurs with respect to a context.
@@ -247,7 +294,7 @@
 
     /* the set of namespace declarations in scope for the expression */
     xmlHashTablePtr nsHash;		/* The namespaces hash table */
-    void *varLookupFunc;		/* variable lookup func */
+    xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */
     void *varLookupData;		/* variable lookup data */
 
     /* Possibility to link in an extra item */
@@ -258,7 +305,7 @@
     const xmlChar *functionURI;
 
     /* function lookup function and data */
-    void *funcLookupFunc;		/* function lookup func */
+    xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */
     void *funcLookupData;		/* function lookup data */
 
     /* temporary namespace lists kept for walking the namespace axis */
@@ -305,18 +352,6 @@
     xmlNodePtr         ancestor;	/* used for walking preceding axis */
 };
 
-/**
- * xmlXPathFunction:
- * @ctxt:  the XPath interprestation context
- * @nargs:  the number of arguments
- *
- * An XPath function.
- * The arguments (if any) are popped out from the context stack
- * and the result is pushed on the stack.
- */
-
-typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs);
-
 /************************************************************************
  *									*
  *			Public API					*

Modified: packages/libxml2/branches/unstable/include/libxml/xpathInternals.h
===================================================================
--- packages/libxml2/branches/unstable/include/libxml/xpathInternals.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/include/libxml/xpathInternals.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -40,7 +40,7 @@
  */
 #define xmlXPathSetError(ctxt, err)					\
     { xmlXPatherror((ctxt), __FILE__, __LINE__, (err));			\
-      (ctxt)->error = (err); }
+      if ((ctxt) != NULL) (ctxt)->error = (err); }
 
 /**
  * xmlXPathSetArityError:
@@ -294,6 +294,7 @@
  * Macro to check that the number of args passed to an XPath function matches.
  */
 #define CHECK_ARITY(x)							\
+    if (ctxt == NULL) return;						\
     if (nargs != (x))							\
         XP_ERROR(XPATH_INVALID_ARITY);
 
@@ -327,20 +328,6 @@
 /*
  * Variable Lookup forwarding.
  */
-/**
- * xmlXPathVariableLookupFunc:
- * @ctxt:  an XPath context
- * @name:  name of the variable
- * @ns_uri:  the namespace name hosting this variable
- *
- * Prototype for callbacks used to plug variable lookup in the XPath
- * engine.
- *
- * Returns the XPath object value or NULL if not found.
- */
-typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt,
-					 const xmlChar *name,
-					 const xmlChar *ns_uri);
 
 XMLPUBFUN void XMLCALL	
 	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt,
@@ -350,20 +337,6 @@
 /*
  * Function Lookup forwarding.
  */
-/**
- * xmlXPathFuncLookupFunc:
- * @ctxt:  an XPath context
- * @name:  name of the function
- * @ns_uri:  the namespace name hosting this function
- *
- * Prototype for callbacks used to plug function lookup in the XPath
- * engine.
- *
- * Returns the XPath function or NULL if not found.
- */
-typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
-					 const xmlChar *name,
-					 const xmlChar *ns_uri);
 
 XMLPUBFUN void XMLCALL	
 	    xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt,

Modified: packages/libxml2/branches/unstable/legacy.c
===================================================================
--- packages/libxml2/branches/unstable/legacy.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/legacy.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -27,6 +27,7 @@
  *									*
  ************************************************************************/
 
+#ifdef LIBXML_HTML_ENABLED
 xmlChar *htmlDecodeEntities(htmlParserCtxtPtr ctxt, int len, xmlChar end,
                             xmlChar end2, xmlChar end3);
 
@@ -60,6 +61,7 @@
     }
     return (NULL);
 }
+#endif
 
 /**
  * xmlInitializePredefinedEntities:

Modified: packages/libxml2/branches/unstable/libxml.h
===================================================================
--- packages/libxml2/branches/unstable/libxml.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/libxml.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -52,9 +52,11 @@
 
 #ifdef IN_LIBXML
 #ifdef __GNUC__
+#ifdef PIC
 #ifdef linux
 #include "elfgcchack.h"
 #endif
 #endif
 #endif
+#endif
 #endif /* ! __XML_LIBXML_H__ */

Modified: packages/libxml2/branches/unstable/libxml.spec.in
===================================================================
--- packages/libxml2/branches/unstable/libxml.spec.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/libxml.spec.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -6,7 +6,7 @@
 Group: Development/Libraries
 Source: ftp://xmlsoft.org/libxml2-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: python python-devel
+BuildRequires: python python-devel zlib-devel
 URL: http://xmlsoft.org/
 Prefix: %{_prefix}
 Docdir: %{_docdir}

Modified: packages/libxml2/branches/unstable/libxml2.spec
===================================================================
--- packages/libxml2/branches/unstable/libxml2.spec	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/libxml2.spec	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,12 +1,12 @@
 Summary: Library providing XML and HTML support
 Name: libxml2
-Version: 2.6.11
+Version: 2.6.16
 Release: 1
 License: MIT
 Group: Development/Libraries
 Source: ftp://xmlsoft.org/libxml2-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: python python-devel
+BuildRequires: python python-devel zlib-devel
 URL: http://xmlsoft.org/
 Prefix: %{_prefix}
 Docdir: %{_docdir}
@@ -159,8 +159,8 @@
 %doc doc/python.html
 
 %changelog
-* Mon Jul  5 2004 Daniel Veillard <veillard at redhat.com>
-- upstream release 2.6.11 see http://xmlsoft.org/news.html
+* Wed Nov 10 2004 Daniel Veillard <veillard at redhat.com>
+- upstream release 2.6.16 see http://xmlsoft.org/news.html
 
 * Thu Jan  2 2003 Daniel Veillard <veillard at redhat.com>
 - integrated drv_libxml2 xml.sax driver from Stéphane Bidoul

Modified: packages/libxml2/branches/unstable/list.c
===================================================================
--- packages/libxml2/branches/unstable/list.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/list.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -99,6 +99,8 @@
 {
     xmlLinkPtr lk;
 
+    if (l == NULL)
+        return(NULL);
     for(lk = l->sentinel->next;lk != l->sentinel && l->linkCompare(lk->data, data) <0 ;lk = lk->next);
     return lk;    
 }
@@ -117,6 +119,8 @@
 {
     xmlLinkPtr lk;
 
+    if (l == NULL)
+        return(NULL);
     for(lk = l->sentinel->prev;lk != l->sentinel && l->linkCompare(lk->data, data) >0 ;lk = lk->prev);
     return lk;    
 }
@@ -134,6 +138,8 @@
 xmlListLinkSearch(xmlListPtr l, void *data) 
 {
     xmlLinkPtr lk;
+    if (l == NULL)
+        return(NULL);
     lk = xmlListLowerSearch(l, data);
     if (lk == l->sentinel)
         return NULL;
@@ -157,6 +163,8 @@
 xmlListLinkReverseSearch(xmlListPtr l, void *data) 
 {
     xmlLinkPtr lk;
+    if (l == NULL)
+        return(NULL);
     lk = xmlListHigherSearch(l, data);
     if (lk == l->sentinel)
         return NULL;
@@ -223,6 +231,8 @@
 xmlListSearch(xmlListPtr l, void *data) 
 {
     xmlLinkPtr lk;
+    if (l == NULL)
+        return(NULL);
     lk = xmlListLinkSearch(l, data);
     if (lk)
         return (lk->data);
@@ -242,6 +252,8 @@
 xmlListReverseSearch(xmlListPtr l, void *data) 
 {
     xmlLinkPtr lk;
+    if (l == NULL)
+        return(NULL);
     lk = xmlListLinkReverseSearch(l, data);
     if (lk)
         return (lk->data);
@@ -262,6 +274,8 @@
 {
     xmlLinkPtr lkPlace, lkNew;
 
+    if (l == NULL)
+        return(1);
     lkPlace = xmlListLowerSearch(l, data);
     /* Add the new link */
     lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink));
@@ -292,6 +306,8 @@
 {
     xmlLinkPtr lkPlace, lkNew;
 
+    if (l == NULL)
+        return(1);
     lkPlace = xmlListHigherSearch(l, data);
     /* Add the new link */
     lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink));
@@ -316,6 +332,9 @@
  */
 void xmlListDelete(xmlListPtr l)
 {
+    if (l == NULL)
+        return;
+
     xmlListClear(l);
     xmlFree(l->sentinel);
     xmlFree(l);
@@ -335,6 +354,8 @@
 {
     xmlLinkPtr lk;
     
+    if (l == NULL)
+        return(0);
     /*Find the first instance of this data */
     lk = xmlListLinkSearch(l, data);
     if (lk != NULL) {
@@ -358,6 +379,8 @@
 {
     xmlLinkPtr lk;
     
+    if (l == NULL)
+        return(0);
     /*Find the last instance of this data */
     lk = xmlListLinkReverseSearch(l, data);
     if (lk != NULL) {
@@ -381,6 +404,8 @@
 {
     int count=0;
     
+    if (l == NULL)
+        return(0);
 
     while(xmlListRemoveFirst(l, data))
         count++;
@@ -396,8 +421,11 @@
 void
 xmlListClear(xmlListPtr l)
 {
-    xmlLinkPtr  lk = l->sentinel->next;
+    xmlLinkPtr  lk;
     
+    if (l == NULL)
+        return;
+    lk = l->sentinel->next;
     while(lk != l->sentinel) {
         xmlLinkPtr next = lk->next;
 
@@ -412,11 +440,13 @@
  *
  * Is the list empty ?
  *
- * Returns 1 if the list is empty, 0 otherwise
+ * Returns 1 if the list is empty, 0 if not empty and -1 in case of error
  */
 int
 xmlListEmpty(xmlListPtr l)
 {
+    if (l == NULL)
+        return(-1);
     return (l->sentinel->next == l->sentinel);
 }
 
@@ -431,6 +461,8 @@
 xmlLinkPtr 
 xmlListFront(xmlListPtr l)
 {
+    if (l == NULL)
+        return(NULL);
     return (l->sentinel->next);
 }
     
@@ -445,6 +477,8 @@
 xmlLinkPtr 
 xmlListEnd(xmlListPtr l)
 {
+    if (l == NULL)
+        return(NULL);
     return (l->sentinel->prev);
 }
     
@@ -454,7 +488,7 @@
  *
  * Get the number of elements in the list
  *
- * Returns the number of elements in the list
+ * Returns the number of elements in the list or -1 in case of error
  */
 int
 xmlListSize(xmlListPtr l)
@@ -462,6 +496,8 @@
     xmlLinkPtr lk;
     int count=0;
 
+    if (l == NULL)
+        return(-1);
     /* TODO: keep a counter in xmlList instead */
     for(lk = l->sentinel->next; lk != l->sentinel; lk = lk->next, count++);
     return count;
@@ -507,6 +543,8 @@
 {
     xmlLinkPtr lkPlace, lkNew;
 
+    if (l == NULL)
+        return(0);
     lkPlace = l->sentinel;
     /* Add the new link */
     lkNew = (xmlLinkPtr) xmlMalloc(sizeof(xmlLink));
@@ -537,6 +575,8 @@
 {
     xmlLinkPtr lkPlace, lkNew;
 
+    if (l == NULL)
+        return(0);
     lkPlace = l->sentinel->prev;
     /* Add the new link */
     if (NULL ==(lkNew = (xmlLinkPtr )xmlMalloc(sizeof(xmlLink)))) {
@@ -563,6 +603,8 @@
 void *
 xmlLinkGetData(xmlLinkPtr lk)
 {
+    if (lk == NULL)
+        return(NULL);
     return lk->data;
 }
 
@@ -573,18 +615,22 @@
  * Reverse the order of the elements in the list
  */
 void
-xmlListReverse(xmlListPtr l) {
-  xmlLinkPtr lk;
-  xmlLinkPtr lkPrev = l->sentinel;
-  
-  for(lk = l->sentinel->next; lk != l->sentinel; lk = lk->next) {
+xmlListReverse(xmlListPtr l)
+{
+    xmlLinkPtr lk;
+    xmlLinkPtr lkPrev;
+
+    if (l == NULL)
+        return;
+    lkPrev = l->sentinel;
+    for (lk = l->sentinel->next; lk != l->sentinel; lk = lk->next) {
+        lkPrev->next = lkPrev->prev;
+        lkPrev->prev = lk;
+        lkPrev = lk;
+    }
+    /* Fix up the last node */
     lkPrev->next = lkPrev->prev;
     lkPrev->prev = lk;
-    lkPrev = lk;
-  }
-  /* Fix up the last node */
-  lkPrev->next = lkPrev->prev;
-  lkPrev->prev = lk;
 }
 
 /**
@@ -598,6 +644,8 @@
 {
     xmlListPtr lTemp;
     
+    if (l == NULL)
+        return;
     if(xmlListEmpty(l))
         return;
 
@@ -628,6 +676,8 @@
 xmlListWalk(xmlListPtr l, xmlListWalker walker, const void *user) {
     xmlLinkPtr lk;
 
+    if ((l == NULL) || (walker == NULL))
+        return;
     for(lk = l->sentinel->next; lk != l->sentinel; lk = lk->next) {
         if((walker(lk->data, user)) == 0)
                 break;
@@ -647,6 +697,8 @@
 xmlListReverseWalk(xmlListPtr l, xmlListWalker walker, const void *user) {
     xmlLinkPtr lk;
 
+    if ((l == NULL) || (walker == NULL))
+        return;
     for(lk = l->sentinel->prev; lk != l->sentinel; lk = lk->prev) {
         if((walker(lk->data, user)) == 0)
                 break;
@@ -680,6 +732,9 @@
 xmlListDup(const xmlListPtr old)
 {
     xmlListPtr cur;
+
+    if (old == NULL)
+        return(NULL);
     /* Hmmm, how to best deal with allocation issues when copying
      * lists. If there is a de-allocator, should responsibility lie with
      * the new list or the old list. Surely not both. I'll arbitrarily
@@ -708,6 +763,8 @@
     /* Walk the old tree and insert the data into the new one */
     xmlLinkPtr lk;
 
+    if ((old == NULL) || (cur == NULL))
+        return(1);
     for(lk = old->sentinel->next; lk != old->sentinel; lk = lk->next) {
         if (0 !=xmlListInsert(cur, lk->data)) {
             xmlListDelete(cur);

Modified: packages/libxml2/branches/unstable/ltmain.sh
===================================================================
--- packages/libxml2/branches/unstable/ltmain.sh	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/ltmain.sh	2005-02-16 19:06:11 UTC (rev 352)
@@ -44,7 +44,7 @@
 PROGRAM=ltmain.sh
 PACKAGE=libtool
 VERSION=1.5.6
-TIMESTAMP=" (1.1220.2.95 2004/04/11 05:50:42) Debian$Rev: 203 $"
+TIMESTAMP=" (1.1220.2.95 2004/04/11 05:50:42) Debian$Rev: 220 $"
 
 
 # Check that we have a working $echo.
@@ -1867,10 +1867,6 @@
 	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
 	    continue
 	  fi
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
 	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
 	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
 	    for search_ext in .la $std_shrext .so .a; do
@@ -2933,6 +2929,11 @@
 	    age="$number_minor"
 	    revision="$number_minor"
 	    ;;
+	  *)
+	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	    exit $EXIT_FAILURE
+	    ;;
 	  esac
 	  ;;
 	no)

Modified: packages/libxml2/branches/unstable/nanoftp.c
===================================================================
--- packages/libxml2/branches/unstable/nanoftp.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/nanoftp.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -260,12 +260,18 @@
 void
 xmlNanoFTPProxy(const char *host, int port, const char *user,
 	        const char *passwd, int type) {
-    if (proxy != NULL)
+    if (proxy != NULL) {
 	xmlFree(proxy);
-    if (proxyUser != NULL)
+	proxy = NULL;
+    }
+    if (proxyUser != NULL) {
 	xmlFree(proxyUser);
-    if (proxyPasswd != NULL)
+	proxyUser = NULL;
+    }
+    if (proxyPasswd != NULL) {
 	xmlFree(proxyPasswd);
+	proxyPasswd = NULL;
+    }
     if (host)
 	proxy = xmlMemStrdup(host);
     if (user)
@@ -697,11 +703,11 @@
     ret->controlFd = -1;
 
     unescaped = xmlURIUnescapeString(URL, 0, NULL);
-    if (unescaped != NULL)
+    if (unescaped != NULL) {
 	xmlNanoFTPScanURL(ret, unescaped);
-    else if (URL != NULL)
+	xmlFree(unescaped);
+    } else if (URL != NULL)
 	xmlNanoFTPScanURL(ret, URL);
-    xmlFree(unescaped);
 
     return(ret);
 }
@@ -777,6 +783,8 @@
     int len;
     int size;
 
+    if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+
     if ((ctxt->controlBufIndex < 0) || (ctxt->controlBufIndex > FTP_BUF_SIZE)) {
 #ifdef DEBUG_FTP
         xmlGenericError(xmlGenericErrorContext,
@@ -856,6 +864,8 @@
     int len;
     int res = -1, cur = -1;
 
+    if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+
 get_more:
     /*
      * Assumes everything up to controlBuf[controlBufIndex] has been read
@@ -943,6 +953,7 @@
     fd_set rfd;
     struct timeval tv;
 
+    if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
     tv.tv_sec = 0;
     tv.tv_usec = 0;
     FD_ZERO(&rfd);
@@ -1031,6 +1042,8 @@
     char buf[200];
     int len, res;
 
+    if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+
     snprintf(buf, sizeof(buf), "QUIT\r\n");
     len = strlen(buf);
 #ifdef DEBUG_FTP
@@ -1442,6 +1455,8 @@
     xmlNanoFTPInit();
     if (server == NULL) 
 	return(NULL);
+    if (port <= 0)
+	return(NULL);
     ctxt = (xmlNanoFTPCtxtPtr) xmlNanoFTPNewCtxt(NULL);
     ctxt->hostname = xmlMemStrdup(server);
     if (port != 0)
@@ -1465,12 +1480,14 @@
  */
 
 int
-xmlNanoFTPCwd(void *ctx, char *directory) {
+xmlNanoFTPCwd(void *ctx, const char *directory) {
     xmlNanoFTPCtxtPtr ctxt = (xmlNanoFTPCtxtPtr) ctx;
     char buf[400];
     int len;
     int res;
 
+    if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+
     /*
      * Expected response code for CWD:
      *
@@ -1511,12 +1528,14 @@
  */
 
 int
-xmlNanoFTPDele(void *ctx, char *file) {
+xmlNanoFTPDele(void *ctx, const char *file) {
     xmlNanoFTPCtxtPtr ctxt = (xmlNanoFTPCtxtPtr) ctx;
     char buf[400];
     int len;
     int res;
 
+    if ((ctxt == NULL) || (ctxt->controlFd < 0) || (file == NULL)) return(-1);
+
     /*
      * Expected response code for DELE:
      *
@@ -1572,6 +1591,8 @@
 #endif
     SOCKLEN_T dataAddrLen;
 
+    if (ctxt == NULL) return(-1);
+
     memset (&dataAddr, 0, sizeof(dataAddr));
 #ifdef SUPPORT_IP6
     if ((ctxt->ftpAddr).ss_family == AF_INET6) {
@@ -1735,6 +1756,8 @@
     fd_set rfd, efd;
     struct timeval tv;
 
+    if ((ctxt == NULL) || (ctxt->controlFd < 0)) return(-1);
+
     closesocket(ctxt->dataFd); ctxt->dataFd = -1;
     tv.tv_sec = 15;
     tv.tv_usec = 0;
@@ -1907,7 +1930,7 @@
 
 int
 xmlNanoFTPList(void *ctx, ftpListCallback callback, void *userData,
-	       char *filename) {
+	       const char *filename) {
     xmlNanoFTPCtxtPtr ctxt = (xmlNanoFTPCtxtPtr) ctx;
     char buf[4096 + 1];
     int len, res;
@@ -2019,6 +2042,8 @@
     xmlNanoFTPCtxtPtr ctxt = (xmlNanoFTPCtxtPtr) ctx;
     char buf[300];
     int res, len;
+    if (ctx == NULL)
+	return(-1);
     if ((filename == NULL) && (ctxt->path == NULL))
 	return(-1);
     ctxt->dataFd = xmlNanoFTPGetConnection(ctxt);

Modified: packages/libxml2/branches/unstable/nanohttp.c
===================================================================
--- packages/libxml2/branches/unstable/nanohttp.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/nanohttp.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -159,7 +159,6 @@
 static unsigned int timeout = 60;/* the select() timeout in seconds */
 
 static int xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len );
-int xmlNanoHTTPContentLength( void * ctx );
 
 /**
  * xmlHTTPErrMemory:

Modified: packages/libxml2/branches/unstable/parser.c
===================================================================
--- packages/libxml2/branches/unstable/parser.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/parser.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -605,6 +605,10 @@
     ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3);
     ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5);
     ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36);
+    if ((ctxt->str_xml==NULL) || (ctxt->str_xmlns==NULL) || 
+    		(ctxt->str_xml_ns == NULL)) {
+        xmlErrMemory(ctxt, NULL);
+    }
 }
 
 typedef struct _xmlDefAttrs xmlDefAttrs;
@@ -641,8 +645,8 @@
     }
 
     /*
-     * plit the element name into prefix:localname , the string found
-     * are within the DTD and hen not associated to namespace names.
+     * split the element name into prefix:localname , the string found
+     * are within the DTD and then not associated to namespace names.
      */
     name = xmlSplitQName3(fullname, &len);
     if (name == NULL) {
@@ -659,17 +663,20 @@
     defaults = xmlHashLookup2(ctxt->attsDefault, name, prefix);
     if (defaults == NULL) {
         defaults = (xmlDefAttrsPtr) xmlMalloc(sizeof(xmlDefAttrs) +
-	                               12 * sizeof(const xmlChar *));
+	                   (4 * 4) * sizeof(const xmlChar *));
 	if (defaults == NULL)
 	    goto mem_error;
+	defaults->nbAttrs = 0;
 	defaults->maxAttrs = 4;
-	defaults->nbAttrs = 0;
 	xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix, defaults, NULL);
     } else if (defaults->nbAttrs >= defaults->maxAttrs) {
-        defaults = (xmlDefAttrsPtr) xmlRealloc(defaults, sizeof(xmlDefAttrs) +
+        xmlDefAttrsPtr temp;
+
+        temp = (xmlDefAttrsPtr) xmlRealloc(defaults, sizeof(xmlDefAttrs) +
 		       (2 * defaults->maxAttrs * 4) * sizeof(const xmlChar *));
-	if (defaults == NULL)
+	if (temp == NULL)
 	    goto mem_error;
+	defaults = temp;
 	defaults->maxAttrs *= 2;
 	xmlHashUpdateEntry2(ctxt->attsDefault, name, prefix, defaults, NULL);
     }
@@ -939,9 +946,11 @@
  *
  * Returns 0 in case of error, the index in the stack otherwise
  */
-extern int
+int
 inputPush(xmlParserCtxtPtr ctxt, xmlParserInputPtr value)
 {
+    if ((ctxt == NULL) || (value == NULL))
+        return(0);
     if (ctxt->inputNr >= ctxt->inputMax) {
         ctxt->inputMax *= 2;
         ctxt->inputTab =
@@ -965,11 +974,13 @@
  *
  * Returns the input just removed
  */
-extern xmlParserInputPtr
+xmlParserInputPtr
 inputPop(xmlParserCtxtPtr ctxt)
 {
     xmlParserInputPtr ret;
 
+    if (ctxt == NULL)
+        return(NULL);
     if (ctxt->inputNr <= 0)
         return (0);
     ctxt->inputNr--;
@@ -990,19 +1001,22 @@
  *
  * Returns 0 in case of error, the index in the stack otherwise
  */
-extern int
+int
 nodePush(xmlParserCtxtPtr ctxt, xmlNodePtr value)
 {
+    if (ctxt == NULL) return(0);
     if (ctxt->nodeNr >= ctxt->nodeMax) {
-        ctxt->nodeMax *= 2;
-        ctxt->nodeTab =
-            (xmlNodePtr *) xmlRealloc(ctxt->nodeTab,
-                                      ctxt->nodeMax *
+        xmlNodePtr *tmp;
+
+	tmp = (xmlNodePtr *) xmlRealloc(ctxt->nodeTab,
+                                      ctxt->nodeMax * 2 *
                                       sizeof(ctxt->nodeTab[0]));
-        if (ctxt->nodeTab == NULL) {
+        if (tmp == NULL) {
             xmlErrMemory(ctxt, NULL);
             return (0);
         }
+        ctxt->nodeTab = tmp;
+	ctxt->nodeMax *= 2;
     }
     if (((unsigned int) ctxt->nodeNr) > xmlParserMaxDepth) {
 	xmlFatalErrMsgInt(ctxt, XML_ERR_INTERNAL_ERROR,
@@ -1023,13 +1037,14 @@
  *
  * Returns the node just removed
  */
-extern xmlNodePtr
+xmlNodePtr
 nodePop(xmlParserCtxtPtr ctxt)
 {
     xmlNodePtr ret;
 
+    if (ctxt == NULL) return(NULL);
     if (ctxt->nodeNr <= 0)
-        return (0);
+        return (NULL);
     ctxt->nodeNr--;
     if (ctxt->nodeNr > 0)
         ctxt->node = ctxt->nodeTab[ctxt->nodeNr - 1];
@@ -1122,9 +1137,11 @@
  *
  * Returns -1 in case of error, the index in the stack otherwise
  */
-extern int
+int
 namePush(xmlParserCtxtPtr ctxt, const xmlChar * value)
 {
+    if (ctxt == NULL) return (-1);
+
     if (ctxt->nameNr >= ctxt->nameMax) {
         const xmlChar * *tmp;
         ctxt->nameMax *= 2;
@@ -1152,13 +1169,13 @@
  *
  * Returns the name just removed
  */
-extern const xmlChar *
+const xmlChar *
 namePop(xmlParserCtxtPtr ctxt)
 {
     const xmlChar *ret;
 
-    if (ctxt->nameNr <= 0)
-        return (0);
+    if ((ctxt == NULL) || (ctxt->nameNr <= 0))
+        return (NULL);
     ctxt->nameNr--;
     if (ctxt->nameNr > 0)
         ctxt->name = ctxt->nameTab[ctxt->nameNr - 1];
@@ -1405,7 +1422,7 @@
  */
 xmlChar
 xmlPopInput(xmlParserCtxtPtr ctxt) {
-    if (ctxt->inputNr == 1) return(0); /* End of main Input */
+    if ((ctxt == NULL) || (ctxt->inputNr <= 1)) return(0);
     if (xmlParserDebugEntities)
 	xmlGenericError(xmlGenericErrorContext,
 		"Popping input %d\n", ctxt->inputNr);
@@ -1919,7 +1936,7 @@
     int c,l;
     int nbchars = 0;
 
-    if ((str == NULL) || (len < 0))
+    if ((ctxt == NULL) || (str == NULL) || (len < 0))
 	return(NULL);
     last = str + len;
 
@@ -2061,6 +2078,7 @@
 xmlChar *
 xmlStringDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int what,
 		        xmlChar end, xmlChar  end2, xmlChar end3) {
+    if ((ctxt == NULL) || (str == NULL)) return(NULL);
     return(xmlStringLenDecodeEntities(ctxt, str, xmlStrlen(str), what,
            end, end2, end3));
 }
@@ -2173,6 +2191,7 @@
     const xmlChar *cur = name;
     int c;
 
+    if (prefix == NULL) return(NULL);
     *prefix = NULL;
 
     if (cur == NULL) return(NULL);
@@ -2208,13 +2227,17 @@
 	memcpy(buffer, buf, len);
 	while ((c != 0) && (c != ':')) { /* tested bigname.xml */
 	    if (len + 10 > max) {
+	        xmlChar *tmp;
+
 		max *= 2;
-		buffer = (xmlChar *) xmlRealloc(buffer,
+		tmp = (xmlChar *) xmlRealloc(buffer,
 						max * sizeof(xmlChar));
-		if (buffer == NULL) {
+		if (tmp == NULL) {
+		    xmlFree(tmp);
 		    xmlErrMemory(ctxt, NULL);
 		    return(NULL);
 		}
+		buffer = tmp;
 	    }
 	    buffer[len++] = c;
 	    c = *cur++;
@@ -2281,13 +2304,17 @@
 	    memcpy(buffer, buf, len);
 	    while (c != 0) { /* tested bigname2.xml */
 		if (len + 10 > max) {
+		    xmlChar *tmp;
+
 		    max *= 2;
-		    buffer = (xmlChar *) xmlRealloc(buffer,
+		    tmp = (xmlChar *) xmlRealloc(buffer,
 						    max * sizeof(xmlChar));
-		    if (buffer == NULL) {
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buffer);
 			return(NULL);
 		    }
+		    buffer = tmp;
 		}
 		buffer[len++] = c;
 		c = *cur++;
@@ -2327,7 +2354,7 @@
  *
  * [5] Name ::= (Letter | '_' | ':') (NameChar)*
  *
- * [6] Names ::= Name (S Name)*
+ * [6] Names ::= Name (#x20 Name)*
  *
  * Returns the Name parsed or NULL
  */
@@ -2452,7 +2479,7 @@
  *
  * [5] Name ::= (Letter | '_' | ':') (NameChar)*
  *
- * [6] Names ::= Name (S Name)*
+ * [6] Names ::= Name (#x20 Name)*
  *
  * Returns the Name parsed or NULL. The @str pointer 
  * is updated to the current location in the string.
@@ -2500,13 +2527,16 @@
 		   (IS_COMBINING(c)) ||
 		   (IS_EXTENDER(c))) {
 		if (len + 10 > max) {
+		    xmlChar *tmp;
 		    max *= 2;
-		    buffer = (xmlChar *) xmlRealloc(buffer,
+		    tmp = (xmlChar *) xmlRealloc(buffer,
 			                            max * sizeof(xmlChar));
-		    if (buffer == NULL) {
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buffer);
 			return(NULL);
 		    }
+		    buffer = tmp;
 		}
 		COPY_BUF(l,buffer,len,c);
 		cur += l;
@@ -2529,7 +2559,7 @@
  *
  * [7] Nmtoken ::= (NameChar)+
  *
- * [8] Nmtokens ::= Nmtoken (S Nmtoken)*
+ * [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*
  *
  * Returns the Nmtoken parsed or NULL
  */
@@ -2580,13 +2610,17 @@
 		    GROW;
 		}
 		if (len + 10 > max) {
+		    xmlChar *tmp;
+
 		    max *= 2;
-		    buffer = (xmlChar *) xmlRealloc(buffer,
+		    tmp = (xmlChar *) xmlRealloc(buffer,
 			                            max * sizeof(xmlChar));
-		    if (buffer == NULL) {
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buffer);
 			return(NULL);
 		    }
+		    buffer = tmp;
 		}
 		COPY_BUF(l,buffer,len,c);
 		NEXTL(l);
@@ -2658,12 +2692,16 @@
     while ((IS_CHAR(c)) && ((c != stop) || /* checked */
 	   (ctxt->input != input))) {
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
+		xmlFree(buf);
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	COPY_BUF(l,buf,len,c);
 	NEXTL(l);
@@ -2966,6 +3004,7 @@
 
 xmlChar *
 xmlParseAttValue(xmlParserCtxtPtr ctxt) {
+    if ((ctxt == NULL) || (ctxt->input == NULL)) return(NULL);
     return(xmlParseAttValueInternal(ctxt, NULL, NULL, 0));
 }
 
@@ -3011,13 +3050,17 @@
     cur = CUR_CHAR(l);
     while ((IS_CHAR(cur)) && (cur != stop)) { /* checked */
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
+	        xmlFree(buf);
 		xmlErrMemory(ctxt, NULL);
 		ctxt->instate = (xmlParserInputState) state;
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	count++;
 	if (count > 50) {
@@ -3084,12 +3127,16 @@
     cur = CUR;
     while ((IS_PUBIDCHAR_CH(cur)) && (cur != stop)) { /* checked */
 	if (len + 1 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
+		xmlFree(buf);
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	buf[len++] = cur;
 	count++;
@@ -3165,15 +3212,17 @@
 		    const xmlChar *tmp = ctxt->input->cur;
 		    ctxt->input->cur = in;
 
-		    if (ctxt->sax->ignorableWhitespace !=
-		        ctxt->sax->characters) {
+		    if ((ctxt->sax != NULL) &&
+		        (ctxt->sax->ignorableWhitespace !=
+		         ctxt->sax->characters)) {
 			if (areBlanks(ctxt, tmp, nbchar, 1)) {
 			    ctxt->sax->ignorableWhitespace(ctxt->userData,
 						   tmp, nbchar);
 			} else if (ctxt->sax->characters != NULL)
 			    ctxt->sax->characters(ctxt->userData,
 						  tmp, nbchar);
-		    } else if (ctxt->sax->characters != NULL) {
+		    } else if ((ctxt->sax != NULL) &&
+		               (ctxt->sax->characters != NULL)) {
 			ctxt->sax->characters(ctxt->userData,
 					      tmp, nbchar);
 		    }
@@ -3207,7 +3256,8 @@
 	    }
 	    nbchar = in - ctxt->input->cur;
 	    if (nbchar > 0) {
-		if ((ctxt->sax->ignorableWhitespace !=
+		if ((ctxt->sax != NULL) &&
+		    (ctxt->sax->ignorableWhitespace !=
 		     ctxt->sax->characters) &&
 		    (IS_BLANK_CH(*ctxt->input->cur))) {
 		    const xmlChar *tmp = ctxt->input->cur;
@@ -3221,7 +3271,7 @@
 					      tmp, nbchar);
                     line = ctxt->input->line;
                     col = ctxt->input->col;
-		} else {
+		} else if (ctxt->sax != NULL) {
 		    if (ctxt->sax->characters != NULL)
 			ctxt->sax->characters(ctxt->userData,
 					      ctxt->input->cur, nbchar);
@@ -3470,13 +3520,16 @@
 	    xmlFatalErr(ctxt, XML_ERR_HYPHEN_IN_COMMENT, NULL);
 	}
 	if (len + 5 >= size) {
+	    xmlChar *new_buf;
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    new_buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (new_buf == NULL) {
+		xmlFree (buf);
 		xmlErrMemory(ctxt, NULL);
 		ctxt->instate = state;
 		return;
 	    }
+	    buf = new_buf;
 	}
 	COPY_BUF(ql,buf,len,q);
 	q = r;
@@ -3695,13 +3748,17 @@
 	    while (IS_CHAR(cur) && /* checked */
 		   ((cur != '?') || (NXT(1) != '>'))) {
 		if (len + 5 >= size) {
+		    xmlChar *tmp;
+
 		    size *= 2;
-		    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-		    if (buf == NULL) {
+		    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+		    if (tmp == NULL) {
 			xmlErrMemory(ctxt, NULL);
+			xmlFree(buf);
 			ctxt->instate = state;
 			return;
 		    }
+		    buf = tmp;
 		}
 		count++;
 		if (count > 50) {
@@ -5568,6 +5625,19 @@
 		ctxt->sax->reference(ctxt->userData, ent->name);
 		return;
 	    } else if (ctxt->replaceEntities) {
+		/*
+		 * There is a problem on the handling of _private for entities
+		 * (bug 155816): Should we copy the content of the field from
+		 * the entity (possibly overwriting some value set by the user
+		 * when a copy is created), should we leave it alone, or should
+		 * we try to take care of different situations?  The problem
+		 * is exacerbated by the usage of this field by the xmlReader.
+		 * To fix this bug, we look at _private on the created node
+		 * and, if it's NULL, we copy in whatever was in the entity.
+		 * If it's not NULL we leave it alone.  This is somewhat of a
+		 * hack - maybe we should have further tests to determine
+		 * what to do.
+		 */
 		if ((ctxt->node != NULL) && (ent->children != NULL)) {
 		    /*
 		     * Seems we are generating the DOM content, do
@@ -5589,9 +5659,10 @@
 
 			cur = ent->children;
 			while (cur != NULL) {
-			    nw = xmlCopyNode(cur, 1);
+			    nw = xmlDocCopyNode(cur, ctxt->myDoc, 1);
 			    if (nw != NULL) {
-				nw->_private = cur->_private;
+				if (nw->_private == NULL)
+				    nw->_private = cur->_private;
 				if (firstChild == NULL){
 				    firstChild = nw;
 				}
@@ -5632,9 +5703,10 @@
 			    next = cur->next;
 			    cur->next = NULL;
 			    cur->parent = NULL;
-			    nw = xmlCopyNode(cur, 1);
+			    nw = xmlDocCopyNode(cur, ctxt->myDoc, 1);
 			    if (nw != NULL) {
-				nw->_private = cur->_private;
+				if (nw->_private == NULL)
+				    nw->_private = cur->_private;
 				if (firstChild == NULL){
 				    firstChild = cur;
 				}
@@ -5651,16 +5723,20 @@
 			  xmlAddEntityReference(ent, firstChild, nw);
 #endif /* LIBXML_LEGACY_ENABLED */
 		    } else {
+		        const xmlChar *nbktext;
+
 			/*
 			 * the name change is to avoid coalescing of the
 			 * node with a possible previous text one which
 			 * would make ent->children a dangling pointer
 			 */
+			nbktext = xmlDictLookup(ctxt->dict, BAD_CAST "nbktext",
+			                        -1);
 			if (ent->children->type == XML_TEXT_NODE)
-			    ent->children->name = xmlStrdup(BAD_CAST "nbktext");
+			    ent->children->name = nbktext;
 			if ((ent->last != ent->children) &&
 			    (ent->last->type == XML_TEXT_NODE))
-			    ent->last->name = xmlStrdup(BAD_CAST "nbktext");
+			    ent->last->name = nbktext;
 			xmlAddChildList(ctxt->node, ent->children);
 		    }
 
@@ -7430,6 +7506,7 @@
 	if (!IS_BLANK_CH(RAW)) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "attributes construct error\n");
+	    break;
 	}
 	SKIP_BLANKS;
         if ((cons == ctxt->input->consumed) && (q == CUR_PTR) &&
@@ -7628,7 +7705,7 @@
     }
     SKIP(2);
 
-    if ((tlen > 0) && (strncmp(ctxt->input->cur, ctxt->name, tlen) == 0)) {
+    if ((tlen > 0) && (xmlStrncmp(ctxt->input->cur, ctxt->name, tlen) == 0)) {
         if (ctxt->input->cur[tlen] == '>') {
 	    ctxt->input->cur += tlen + 1;
 	    goto done;
@@ -7733,12 +7810,16 @@
     while (IS_CHAR(cur) &&
            ((r != ']') || (s != ']') || (cur != '>'))) {
 	if (len + 5 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
+	        xmlFree(buf);
 		xmlErrMemory(ctxt, NULL);
 		return;
 	    }
+	    buf = tmp;
 	}
 	COPY_BUF(rl,buf,len,r);
 	r = s;
@@ -8051,12 +8132,15 @@
            (cur == '_') || (cur == '.') ||
 	   (cur == ':') || (cur == '-')) {
 	if (len + 1 >= size) {
+	    xmlChar *tmp;
+
 	    size *= 2;
-	    buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-	    if (buf == NULL) {
+	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
 		return(NULL);
 	    }
+	    buf = tmp;
 	}
 	buf[len++] = cur;
 	NEXT;
@@ -8148,12 +8232,16 @@
 	       (cur == '.') || (cur == '_') ||
 	       (cur == '-')) {
 	    if (len + 1 >= size) {
+	        xmlChar *tmp;
+
 		size *= 2;
-		buf = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
-		if (buf == NULL) {
+		tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
+		if (tmp == NULL) {
 		    xmlErrMemory(ctxt, NULL);
+		    xmlFree(buf);
 		    return(NULL);
 		}
+		buf = tmp;
 	    }
 	    buf[len++] = cur;
 	    NEXT;
@@ -8469,6 +8557,9 @@
 
     xmlInitParser();
 
+    if ((ctxt == NULL) || (ctxt->input == NULL))
+        return(-1);
+
     GROW;
 
     /*
@@ -8628,6 +8719,9 @@
     xmlChar start[4];
     xmlCharEncoding enc;
 
+    if ((ctxt == NULL) || (ctxt->input == NULL))
+        return(-1);
+
     xmlDefaultSAXHandlerInit();
 
     xmlDetectSAX2(ctxt);
@@ -8870,6 +8964,9 @@
     xmlChar cur, next;
     const xmlChar *lastlt, *lastgt;
 
+    if (ctxt->input == NULL)
+        return(0);
+
 #ifdef DEBUG_PUSH
     switch (ctxt->instate) {
 	case XML_PARSER_EOF:
@@ -9075,6 +9172,10 @@
 			ctxt->sax->setDocumentLocator(ctxt->userData,
 						      &xmlDefaultSAXLocator);
 		    ctxt->version = xmlCharStrdup(XML_DEFAULT_VERSION);
+		    if (ctxt->version == NULL) {
+		        xmlErrMemory(ctxt, NULL);
+			break;
+		    }
 		    if ((ctxt->sax) && (ctxt->sax->startDocument) &&
 		        (!ctxt->disableSAX))
 			ctxt->sax->startDocument(ctxt->userData);
@@ -9725,6 +9826,8 @@
 int
 xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
               int terminate) {
+    if (ctxt == NULL)
+        return(XML_ERR_INTERNAL_ERROR);
     if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
         return(ctxt->errNo);
     if (ctxt->instate == XML_PARSER_START)
@@ -9733,8 +9836,14 @@
         (ctxt->input->buf != NULL) && (ctxt->instate != XML_PARSER_EOF))  {
 	int base = ctxt->input->base - ctxt->input->buf->buffer->content;
 	int cur = ctxt->input->cur - ctxt->input->base;
+	int res;
 	
-	xmlParserInputBufferPush(ctxt->input->buf, size, chunk);	      
+	res =xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
+	if (res < 0) {
+	    ctxt->errNo = XML_PARSER_EOF;
+	    ctxt->disableSAX = 1;
+	    return (XML_PARSER_EOF);
+	}
 	ctxt->input->base = ctxt->input->buf->buffer->content + base;
 	ctxt->input->cur = ctxt->input->base + cur;
 	ctxt->input->end =
@@ -9767,13 +9876,16 @@
 	/*
 	 * Check for termination
 	 */
-	    int avail = 0;
+	int avail = 0;
+
+	if (ctxt->input != NULL) {
 	    if (ctxt->input->buf == NULL)
-                avail = ctxt->input->length -
-		        (ctxt->input->cur - ctxt->input->base);
-            else
-                avail = ctxt->input->buf->buffer->use -
-		        (ctxt->input->cur - ctxt->input->base);
+		avail = ctxt->input->length -
+			(ctxt->input->cur - ctxt->input->base);
+	    else
+		avail = ctxt->input->buf->buffer->use -
+			(ctxt->input->cur - ctxt->input->base);
+	}
 			    
 	if ((ctxt->instate != XML_PARSER_EOF) &&
 	    (ctxt->instate != XML_PARSER_EPILOG)) {
@@ -9855,6 +9967,7 @@
 	xmlFreeParserInputBuffer(buf);
 	return(NULL);
     }
+    ctxt->dictNames = 1;
     ctxt->pushTab = (void **) xmlMalloc(ctxt->nameMax * 3 * sizeof(xmlChar *));
     if (ctxt->pushTab == NULL) {
         xmlErrMemory(ctxt, NULL);
@@ -9874,7 +9987,11 @@
 	    xmlFreeParserCtxt(ctxt);
 	    return(NULL);
 	}
-	memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler));
+	memset(ctxt->sax, 0, sizeof(xmlSAXHandler));
+	if (sax->initialized == XML_SAX2_MAGIC)
+	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler));
+	else
+	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1));
 	if (user_data != NULL)
 	    ctxt->userData = user_data;
     }	
@@ -9893,9 +10010,15 @@
 
     if (filename == NULL)
 	inputStream->filename = NULL;
-    else
+    else {
 	inputStream->filename = (char *)
 	    xmlCanonicPath((const xmlChar *) filename);
+	if (inputStream->filename == NULL) {
+	    xmlFreeParserCtxt(ctxt);
+	    xmlFreeParserInputBuffer(buf);
+	    return(NULL);
+	}
+    }
     inputStream->buf = buf;
     inputStream->base = inputStream->buf->buffer->content;
     inputStream->cur = inputStream->buf->buffer->content;
@@ -9949,6 +10072,8 @@
     xmlParserCtxtPtr ctxt;
     xmlParserInputPtr inputStream;
     xmlParserInputBufferPtr buf;
+    
+    if (ioread == NULL) return(NULL);
 
     buf = xmlParserInputBufferCreateIO(ioread, ioclose, ioctx, enc);
     if (buf == NULL) return(NULL);
@@ -9969,7 +10094,11 @@
 	    xmlFree(ctxt);
 	    return(NULL);
 	}
-	memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler));
+	memset(ctxt->sax, 0, sizeof(xmlSAXHandler));
+	if (sax->initialized == XML_SAX2_MAGIC)
+	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandler));
+	else
+	    memcpy(ctxt->sax, sax, sizeof(xmlSAXHandlerV1));
 	if (user_data != NULL)
 	    ctxt->userData = user_data;
     }	
@@ -10127,6 +10256,7 @@
     xmlParserCtxtPtr ctxt;
     xmlParserInputPtr input = NULL;
     xmlCharEncoding enc;
+    xmlChar* systemIdCanonic;
 
     if ((ExternalID == NULL) && (SystemID == NULL)) return(NULL);
 
@@ -10144,16 +10274,27 @@
         ctxt->sax = sax;
         ctxt->userData = ctxt;
     }
+    
+    /*
+     * Canonicalise the system ID
+     */
+    systemIdCanonic = xmlCanonicPath(SystemID);
+    if ((SystemID != NULL) && (systemIdCanonic == NULL)) {
+	xmlFreeParserCtxt(ctxt);
+	return(NULL);
+    }
 
     /*
      * Ask the Entity resolver to load the damn thing
      */
 
     if ((ctxt->sax != NULL) && (ctxt->sax->resolveEntity != NULL))
-	input = ctxt->sax->resolveEntity(ctxt, ExternalID, SystemID);
+	input = ctxt->sax->resolveEntity(ctxt, ExternalID, systemIdCanonic);
     if (input == NULL) {
         if (sax != NULL) ctxt->sax = NULL;
 	xmlFreeParserCtxt(ctxt);
+	if (systemIdCanonic != NULL)
+	    xmlFree(systemIdCanonic);
 	return(NULL);
     }
 
@@ -10167,7 +10308,9 @@
     }
 
     if (input->filename == NULL)
-	input->filename = (char *) xmlCanonicPath(SystemID);
+	input->filename = (char *) systemIdCanonic;
+    else
+	xmlFree(systemIdCanonic);
     input->line = 1;
     input->col = 1;
     input->base = ctxt->input->cur;
@@ -10254,11 +10397,14 @@
 	               const xmlChar *ID, xmlNodePtr *lst) {
     xmlParserCtxtPtr ctxt;
     xmlDocPtr newDoc;
+    xmlNodePtr newRoot;
     xmlSAXHandlerPtr oldsax = NULL;
     int ret = 0;
     xmlChar start[4];
     xmlCharEncoding enc;
 
+    if (ctx == NULL) return(-1);
+
     if (ctx->depth > 40) {
 	return(XML_ERR_ENTITY_LOOP);
     }
@@ -10283,6 +10429,10 @@
 	xmlFreeParserCtxt(ctxt);
 	return(-1);
     }
+    if (ctx->myDoc->dict) {
+	newDoc->dict = ctx->myDoc->dict;
+	xmlDictReference(newDoc->dict);
+    }
     if (ctx->myDoc != NULL) {
 	newDoc->intSubset = ctx->myDoc->intSubset;
 	newDoc->extSubset = ctx->myDoc->extSubset;
@@ -10290,8 +10440,8 @@
     if (ctx->myDoc->URL != NULL) {
 	newDoc->URL = xmlStrdup(ctx->myDoc->URL);
     }
-    newDoc->children = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
-    if (newDoc->children == NULL) {
+    newRoot = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
+    if (newRoot == NULL) {
 	ctxt->sax = oldsax;
 	xmlFreeParserCtxt(ctxt);
 	newDoc->intSubset = NULL;
@@ -10299,6 +10449,7 @@
         xmlFreeDoc(newDoc);
 	return(-1);
     }
+    xmlAddChild((xmlNodePtr) newDoc, newRoot);
     nodePush(ctxt, newDoc->children);
     if (ctx->myDoc == NULL) {
 	ctxt->myDoc = newDoc;
@@ -10359,6 +10510,7 @@
     ctxt->dictNames = ctx->dictNames;
     ctxt->attsDefault = ctx->attsDefault;
     ctxt->attsSpecial = ctx->attsSpecial;
+    ctxt->linenumbers = ctx->linenumbers;
 
     xmlParseContent(ctxt);
    
@@ -10432,6 +10584,7 @@
 		      const xmlChar *ID, xmlNodePtr *list) {
     xmlParserCtxtPtr ctxt;
     xmlDocPtr newDoc;
+    xmlNodePtr newRoot;
     xmlSAXHandlerPtr oldsax = NULL;
     xmlParserErrors ret = XML_ERR_OK;
     xmlChar start[4];
@@ -10491,12 +10644,17 @@
     if (doc != NULL) {
 	newDoc->intSubset = doc->intSubset;
 	newDoc->extSubset = doc->extSubset;
+	newDoc->dict = doc->dict;
+    } else if (oldctxt != NULL) {
+	newDoc->dict = oldctxt->dict;
     }
+    xmlDictReference(newDoc->dict);
+
     if (doc->URL != NULL) {
 	newDoc->URL = xmlStrdup(doc->URL);
     }
-    newDoc->children = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
-    if (newDoc->children == NULL) {
+    newRoot = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
+    if (newRoot == NULL) {
 	if (sax != NULL)
 	    ctxt->sax = oldsax;
 	ctxt->node_seq.maximum = 0;
@@ -10508,12 +10666,13 @@
         xmlFreeDoc(newDoc);
 	return(XML_ERR_INTERNAL_ERROR);
     }
+    xmlAddChild((xmlNodePtr) newDoc, newRoot);
     nodePush(ctxt, newDoc->children);
     if (doc == NULL) {
 	ctxt->myDoc = newDoc;
     } else {
 	ctxt->myDoc = doc;
-	newDoc->children->doc = doc;
+	newRoot->doc = doc;
     }
 
     /* 
@@ -10675,8 +10834,10 @@
 	const xmlChar *string, void *user_data, xmlNodePtr *lst) {
     xmlParserCtxtPtr ctxt;
     xmlDocPtr newDoc = NULL;
+    xmlNodePtr newRoot;
     xmlSAXHandlerPtr oldsax = NULL;
     xmlNodePtr content = NULL;
+    xmlNodePtr last = NULL;
     int size;
     xmlParserErrors ret = XML_ERR_OK;
 
@@ -10719,21 +10880,27 @@
 	    xmlFreeParserCtxt(ctxt);
 	    return(XML_ERR_INTERNAL_ERROR);
 	}
+	newDoc->dict = ctxt->dict;
+	xmlDictReference(newDoc->dict);
 	ctxt->myDoc = newDoc;
     } else {
 	ctxt->myDoc = oldctxt->myDoc;
         content = ctxt->myDoc->children;
+	last = ctxt->myDoc->last;
     }
-    ctxt->myDoc->children = xmlNewDocNode(ctxt->myDoc, NULL,
-	                                  BAD_CAST "pseudoroot", NULL);
-    if (ctxt->myDoc->children == NULL) {
+    newRoot = xmlNewDocNode(ctxt->myDoc, NULL, BAD_CAST "pseudoroot", NULL);
+    if (newRoot == NULL) {
 	ctxt->sax = oldsax;
 	ctxt->dict = NULL;
 	xmlFreeParserCtxt(ctxt);
-	if (newDoc != NULL)
+	if (newDoc != NULL) {
 	    xmlFreeDoc(newDoc);
+	}
 	return(XML_ERR_INTERNAL_ERROR);
     }
+    ctxt->myDoc->children = NULL;
+    ctxt->myDoc->last = NULL;
+    xmlAddChild((xmlNodePtr) ctxt->myDoc, newRoot);
     nodePush(ctxt, ctxt->myDoc->children);
     ctxt->instate = XML_PARSER_CONTENT;
     ctxt->depth = oldctxt->depth + 1;
@@ -10794,6 +10961,7 @@
     if (ctxt->myDoc != NULL) {
 	xmlFreeNode(ctxt->myDoc->children);
         ctxt->myDoc->children = content;
+        ctxt->myDoc->last = last;
     }
 	
     ctxt->sax = oldsax;
@@ -10801,12 +10969,211 @@
     ctxt->attsDefault = NULL;
     ctxt->attsSpecial = NULL;
     xmlFreeParserCtxt(ctxt);
-    if (newDoc != NULL)
+    if (newDoc != NULL) {
 	xmlFreeDoc(newDoc);
+    }
     
     return(ret);
 }
 
+/**
+ * xmlParseInNodeContext:
+ * @node:  the context node
+ * @data:  the input string
+ * @datalen:  the input string length in bytes
+ * @options:  a combination of xmlParserOption
+ * @lst:  the return value for the set of parsed nodes
+ *
+ * Parse a well-balanced chunk of an XML document
+ * within the context (DTD, namespaces, etc ...) of the given node.
+ *
+ * The allowed sequence for the data is a Well Balanced Chunk defined by
+ * the content production in the XML grammar:
+ *
+ * [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*
+ *
+ * Returns XML_ERR_OK if the chunk is well balanced, and the parser
+ * error code otherwise
+ */
+xmlParserErrors
+xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
+                      int options, xmlNodePtr *lst) {
+#ifdef SAX2
+    xmlParserCtxtPtr ctxt;
+    xmlDocPtr doc = NULL;
+    xmlNodePtr fake, cur;
+    int nsnr = 0;
+
+    xmlParserErrors ret = XML_ERR_OK;
+
+    /*
+     * check all input parameters, grab the document
+     */
+    if ((lst == NULL) || (node == NULL) || (data == NULL) || (datalen < 0))
+        return(XML_ERR_INTERNAL_ERROR);
+    switch (node->type) {
+        case XML_ELEMENT_NODE:
+        case XML_ATTRIBUTE_NODE:
+        case XML_TEXT_NODE:
+        case XML_CDATA_SECTION_NODE:
+        case XML_ENTITY_REF_NODE:
+        case XML_PI_NODE:
+        case XML_COMMENT_NODE:
+        case XML_DOCUMENT_NODE:
+        case XML_HTML_DOCUMENT_NODE:
+	    break;
+	default:
+	    return(XML_ERR_INTERNAL_ERROR);
+
+    }
+    while ((node != NULL) && (node->type != XML_ELEMENT_NODE) &&
+           (node->type != XML_DOCUMENT_NODE) &&
+	   (node->type != XML_HTML_DOCUMENT_NODE))
+	node = node->parent;
+    if (node == NULL)
+	return(XML_ERR_INTERNAL_ERROR);
+    if (node->type == XML_ELEMENT_NODE)
+	doc = node->doc;
+    else
+        doc = (xmlDocPtr) node;
+    if (doc == NULL)
+	return(XML_ERR_INTERNAL_ERROR);
+
+    /*
+     * allocate a context and set-up everything not related to the
+     * node position in the tree
+     */
+    if (doc->type == XML_DOCUMENT_NODE)
+	ctxt = xmlCreateMemoryParserCtxt((char *) data, datalen);
+#ifdef LIBXML_HTML_ENABLED
+    else if (doc->type == XML_HTML_DOCUMENT_NODE)
+	ctxt = htmlCreateMemoryParserCtxt((char *) data, datalen);
+#endif
+    else
+        return(XML_ERR_INTERNAL_ERROR);
+
+    if (ctxt == NULL)
+        return(XML_ERR_NO_MEMORY);
+    fake = xmlNewComment(NULL);
+    if (fake == NULL) {
+        xmlFreeParserCtxt(ctxt);
+	return(XML_ERR_NO_MEMORY);
+    }
+    xmlAddChild(node, fake);
+
+    /* 
+     * Use input doc's dict if present, else assure XML_PARSE_NODICT is set.
+     * We need a dictionary for xmlDetectSAX2, so if there's no doc dict
+     * we must wait until the last moment to free the original one.
+     */
+    if (doc->dict != NULL) {
+        if (ctxt->dict != NULL)
+	    xmlDictFree(ctxt->dict);
+	ctxt->dict = doc->dict;
+    } else
+        options |= XML_PARSE_NODICT;
+
+    xmlCtxtUseOptions(ctxt, options);
+    xmlDetectSAX2(ctxt);
+    ctxt->myDoc = doc;
+
+    if (node->type == XML_ELEMENT_NODE) {
+	nodePush(ctxt, node);
+	/*
+	 * initialize the SAX2 namespaces stack
+	 */
+	cur = node;
+	while ((cur != NULL) && (cur->type == XML_ELEMENT_NODE)) {
+	    xmlNsPtr ns = cur->nsDef;
+	    const xmlChar *iprefix, *ihref;
+
+	    while (ns != NULL) {
+		if (ctxt->dict) {
+		    iprefix = xmlDictLookup(ctxt->dict, ns->prefix, -1);
+		    ihref = xmlDictLookup(ctxt->dict, ns->href, -1);
+		} else {
+		    iprefix = ns->prefix;
+		    ihref = ns->href;
+		}
+
+	        if (xmlGetNamespace(ctxt, iprefix) == NULL) {
+		    nsPush(ctxt, iprefix, ihref);
+		    nsnr++;
+		}
+		ns = ns->next;
+	    }
+	    cur = cur->parent;
+	}
+	ctxt->instate = XML_PARSER_CONTENT;
+    } 
+
+    if ((ctxt->validate) || (ctxt->replaceEntities != 0)) {
+	/*
+	 * ID/IDREF registration will be done in xmlValidateElement below
+	 */
+	ctxt->loadsubset |= XML_SKIP_IDS;
+    }
+
+    xmlParseContent(ctxt);
+    nsPop(ctxt, nsnr);
+    if ((RAW == '<') && (NXT(1) == '/')) {
+	xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL);
+    } else if (RAW != 0) {
+	xmlFatalErr(ctxt, XML_ERR_EXTRA_CONTENT, NULL);
+    }
+    if ((ctxt->node != NULL) && (ctxt->node != node)) {
+	xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL);
+	ctxt->wellFormed = 0;
+    }
+
+    if (!ctxt->wellFormed) {
+        if (ctxt->errNo == 0)
+	    ret = XML_ERR_INTERNAL_ERROR;
+	else
+	    ret = (xmlParserErrors)ctxt->errNo;
+    } else {
+        ret = XML_ERR_OK;
+    }
+    
+    /*
+     * Return the newly created nodeset after unlinking it from
+     * the pseudo sibling.
+     */
+    
+    cur = fake->next;
+    fake->next = NULL;
+    node->last = fake;
+
+    if (cur != NULL) {
+	cur->prev = NULL;
+    }
+
+    *lst = cur;
+
+    while (cur != NULL) {
+	cur->parent = NULL;
+	cur = cur->next;
+    }
+
+    xmlUnlinkNode(fake);
+    xmlFreeNode(fake);
+
+
+    if (ret != XML_ERR_OK) {
+        xmlFreeNodeList(*lst);
+	*lst = NULL;
+    }
+
+    if (doc->dict != NULL)
+        ctxt->dict = NULL;
+    xmlFreeParserCtxt(ctxt);
+    
+    return(ret);
+#else /* !SAX2 */
+    return(XML_ERR_INTERNAL_ERROR);
+#endif
+}
+
 #ifdef LIBXML_SAX1_ENABLED
 /**
  * xmlParseBalancedChunkMemoryRecover:
@@ -10839,7 +11206,7 @@
     xmlParserCtxtPtr ctxt;
     xmlDocPtr newDoc;
     xmlSAXHandlerPtr oldsax = NULL;
-    xmlNodePtr content;
+    xmlNodePtr content, newRoot;
     int size;
     int ret = 0;
 
@@ -10869,12 +11236,23 @@
 	xmlFreeParserCtxt(ctxt);
 	return(-1);
     }
+    if ((doc != NULL) && (doc->dict != NULL)) {
+        xmlDictFree(ctxt->dict);
+	ctxt->dict = doc->dict;
+	xmlDictReference(ctxt->dict);
+	ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3);
+	ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5);
+	ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36);
+	ctxt->dictNames = 1;
+    } else {
+	xmlCtxtUseOptions(ctxt, XML_PARSE_NODICT);
+    }
     if (doc != NULL) {
 	newDoc->intSubset = doc->intSubset;
 	newDoc->extSubset = doc->extSubset;
     }
-    newDoc->children = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
-    if (newDoc->children == NULL) {
+    newRoot = xmlNewDocNode(newDoc, NULL, BAD_CAST "pseudoroot", NULL);
+    if (newRoot == NULL) {
 	if (sax != NULL)
 	    ctxt->sax = oldsax;
 	xmlFreeParserCtxt(ctxt);
@@ -10883,7 +11261,8 @@
         xmlFreeDoc(newDoc);
 	return(-1);
     }
-    nodePush(ctxt, newDoc->children);
+    xmlAddChild((xmlNodePtr) newDoc, newRoot);
+    nodePush(ctxt, newRoot);
     if (doc == NULL) {
 	ctxt->myDoc = newDoc;
     } else {
@@ -10927,21 +11306,22 @@
       ret = 0;
     }
     
-    if (lst != NULL && (ret == 0 || recover == 1)) {
-      xmlNodePtr cur;
+    if ((lst != NULL) && ((ret == 0) || (recover == 1))) {
+	xmlNodePtr cur;
 
-	    /*
-	     * Return the newly created nodeset after unlinking it from
-	     * they pseudo parent.
-	     */
-	    cur = newDoc->children->children;
-	    *lst = cur;
-	    while (cur != NULL) {
-		cur->parent = NULL;
-		cur = cur->next;
-	    }
-            newDoc->children->children = NULL;
+	/*
+	 * Return the newly created nodeset after unlinking it from
+	 * they pseudo parent.
+	 */
+	cur = newDoc->children->children;
+	*lst = cur;
+	while (cur != NULL) {
+	    xmlSetTreeDoc(cur, doc);
+	    cur->parent = NULL;
+	    cur = cur->next;
 	}
+	newDoc->children->children = NULL;
+    }
 	
     if (sax != NULL) 
 	ctxt->sax = oldsax;
@@ -11301,10 +11681,13 @@
 {
     xmlParserInputPtr input;
 
+    if ((ctxt == NULL) || (buffer == NULL))
+        return;
+
     input = xmlNewInputStream(ctxt);
     if (input == NULL) {
         xmlErrMemory(NULL, "parsing new buffer: out of memory\n");
-        xmlFree(ctxt);
+        xmlClearParserCtxt(ctxt);
         return;
     }
   
@@ -11358,6 +11741,10 @@
     }
     if (sax != NULL)
 	ctxt->sax = NULL;
+    if (ctxt->myDoc != NULL) {
+        xmlFreeDoc(ctxt->myDoc);
+	ctxt->myDoc = NULL;
+    }
     xmlFreeParserCtxt(ctxt);
     
     return ret;
@@ -11560,6 +11947,10 @@
 	    ret = -1;
     }
     ctxt->sax = oldsax;
+    if (ctxt->myDoc != NULL) {
+        xmlFreeDoc(ctxt->myDoc);
+	ctxt->myDoc = NULL;
+    }
     xmlFreeParserCtxt(ctxt);
     
     return ret;
@@ -11603,6 +11994,7 @@
 xmlSAXParseDoc(xmlSAXHandlerPtr sax, xmlChar *cur, int recovery) {
     xmlDocPtr ret;
     xmlParserCtxtPtr ctxt;
+    xmlSAXHandlerPtr oldsax = NULL;
 
     if (cur == NULL) return(NULL);
 
@@ -11610,6 +12002,7 @@
     ctxt = xmlCreateDocParserCtxt(cur);
     if (ctxt == NULL) return(NULL);
     if (sax != NULL) { 
+        oldsax = ctxt->sax;
         ctxt->sax = sax;
         ctxt->userData = NULL;
     }
@@ -11622,8 +12015,8 @@
        xmlFreeDoc(ctxt->myDoc);
        ctxt->myDoc = NULL;
     }
-    if (sax != NULL) 
-	ctxt->sax = NULL;
+    if (sax != NULL)
+	ctxt->sax = oldsax;
     xmlFreeParserCtxt(ctxt);
     
     return(ret);
@@ -11757,6 +12150,10 @@
 #ifdef LIBXML_OUTPUT_ENABLED
     xmlCleanupOutputCallbacks();
 #endif
+#ifdef LIBXML_SCHEMAS_ENABLED
+    xmlSchemaCleanupTypes();
+    xmlRelaxNGCleanupTypes();
+#endif
     xmlCleanupGlobals();
     xmlResetLastError();
     xmlCleanupThreads(); /* must be last if called not from the main thread */
@@ -11792,8 +12189,13 @@
 xmlCtxtReset(xmlParserCtxtPtr ctxt)
 {
     xmlParserInputPtr input;
-    xmlDictPtr dict = ctxt->dict;
+    xmlDictPtr dict;
+    
+    if (ctxt == NULL)
+        return;
 
+    dict = ctxt->dict;
+
     while ((input = inputPop(ctxt)) != NULL) { /* Non consuming */
         xmlFreeInputStream(input);
     }
@@ -11988,6 +12390,8 @@
 int
 xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
 {
+    if (ctxt == NULL)
+        return(-1);
     if (options & XML_PARSE_RECOVER) {
         ctxt->recovery = 1;
         options -= XML_PARSE_RECOVER;

Modified: packages/libxml2/branches/unstable/parserInternals.c
===================================================================
--- packages/libxml2/branches/unstable/parserInternals.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/parserInternals.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -127,7 +127,7 @@
 /**
  * __xmlErrEncoding:
  * @ctxt:  an XML parser context
- * @error:  the error number
+ * @xmlerr:  the error number
  * @msg:  the error message
  * @str1:  an string info
  * @str2:  an string info
@@ -135,16 +135,16 @@
  * Handle an encoding error
  */
 void
-__xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors error,
+__xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr,
                  const char *msg, const xmlChar * str1, const xmlChar * str2)
 {
     if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
         (ctxt->instate == XML_PARSER_EOF))
 	return;
     if (ctxt != NULL)
-        ctxt->errNo = error;
+        ctxt->errNo = xmlerr;
     __xmlRaiseError(NULL, NULL, NULL,
-                    ctxt, NULL, XML_FROM_PARSER, error, XML_ERR_FATAL,
+                    ctxt, NULL, XML_FROM_PARSER, xmlerr, XML_ERR_FATAL,
                     NULL, 0, (const char *) str1, (const char *) str2,
                     NULL, 0, 0, msg, str1, str2);
     if (ctxt != NULL) {
@@ -281,6 +281,7 @@
     int used;
     int indx;
 
+    if (in == NULL) return(-1);
 #ifdef DEBUG_INPUT
     xmlGenericError(xmlGenericErrorContext, "Read\n");
 #endif
@@ -330,6 +331,7 @@
     int ret;
     int indx;
 
+    if (in == NULL) return(-1);
 #ifdef DEBUG_INPUT
     xmlGenericError(xmlGenericErrorContext, "Grow\n");
 #endif
@@ -388,6 +390,7 @@
 #ifdef DEBUG_INPUT
     xmlGenericError(xmlGenericErrorContext, "Shrink\n");
 #endif
+    if (in == NULL) return;
     if (in->buf == NULL) return;
     if (in->base == NULL) return;
     if (in->cur == NULL) return;
@@ -444,7 +447,8 @@
 void
 xmlNextChar(xmlParserCtxtPtr ctxt)
 {
-    if (ctxt->instate == XML_PARSER_EOF)
+    if ((ctxt == NULL) || (ctxt->instate == XML_PARSER_EOF) ||
+        (ctxt->input == NULL))
         return;
 
     if (ctxt->charset == XML_CHAR_ENCODING_UTF8) {
@@ -570,14 +574,20 @@
      * to ISO-Latin-1 (if you don't like this policy, just declare the
      * encoding !)
      */
-    __xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
-		   "Input is not proper UTF-8, indicate encoding !\n",
-		   NULL, NULL);
-    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL)) {
-        ctxt->sax->error(ctxt->userData,
-                         "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
-                         ctxt->input->cur[0], ctxt->input->cur[1],
-                         ctxt->input->cur[2], ctxt->input->cur[3]);
+    if ((ctxt == NULL) || (ctxt->input == NULL) ||
+        (ctxt->input->end - ctxt->input->cur < 4)) {
+	__xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
+		     "Input is not proper UTF-8, indicate encoding !\n",
+		     NULL, NULL);
+    } else {
+        char buffer[150];
+
+	snprintf(buffer, 149, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+			ctxt->input->cur[0], ctxt->input->cur[1],
+			ctxt->input->cur[2], ctxt->input->cur[3]);
+	__xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
+		     "Input is not proper UTF-8, indicate encoding !\n%s",
+		     BAD_CAST buffer, NULL);
     }
     ctxt->charset = XML_CHAR_ENCODING_8859_1;
     ctxt->input->cur++;
@@ -604,6 +614,7 @@
 
 int
 xmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
+    if ((ctxt == NULL) || (len == NULL) || (ctxt->input == NULL)) return(0);
     if (ctxt->instate == XML_PARSER_EOF)
 	return(0);
 
@@ -716,13 +727,15 @@
      * to ISO-Latin-1 (if you don't like this policy, just declare the
      * encoding !)
      */
-    __xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
-		   "Input is not proper UTF-8, indicate encoding !\n",
-		   NULL, NULL);
-    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL)) {
-	ctxt->sax->error(ctxt->userData, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+    {
+        char buffer[150];
+
+	snprintf(buffer, 149, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
 			ctxt->input->cur[0], ctxt->input->cur[1],
 			ctxt->input->cur[2], ctxt->input->cur[3]);
+	__xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
+		     "Input is not proper UTF-8, indicate encoding !\n%s",
+		     BAD_CAST buffer, NULL);
     }
     ctxt->charset = XML_CHAR_ENCODING_8859_1; 
     *len = 1;
@@ -744,6 +757,7 @@
 int
 xmlStringCurrentChar(xmlParserCtxtPtr ctxt, const xmlChar * cur, int *len)
 {
+    if ((len == NULL) || (cur == NULL)) return(0);
     if ((ctxt == NULL) || (ctxt->charset == XML_CHAR_ENCODING_UTF8)) {
         /*
          * We are supposed to handle UTF8, check it's valid
@@ -810,20 +824,31 @@
 encoding_error:
 
     /*
+     * An encoding problem may arise from a truncated input buffer
+     * splitting a character in the middle. In that case do not raise
+     * an error but return 0 to endicate an end of stream problem
+     */
+    if ((ctxt == NULL) || (ctxt->input == NULL) ||
+        (ctxt->input->end - ctxt->input->cur < 4)) {
+	*len = 0;
+	return(0);
+    }
+    /*
      * If we detect an UTF8 error that probably mean that the
      * input encoding didn't get properly advertised in the
      * declaration header. Report the error and switch the encoding
      * to ISO-Latin-1 (if you don't like this policy, just declare the
      * encoding !)
      */
-    __xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
-		   "Input is not proper UTF-8, indicate encoding !\n",
-		   NULL, NULL);
-    if ((ctxt != NULL) && (ctxt->sax != NULL) && (ctxt->sax->error != NULL)) {
-	ctxt->sax->error(ctxt->userData,
-			 "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
-			 ctxt->input->cur[0], ctxt->input->cur[1],
-			 ctxt->input->cur[2], ctxt->input->cur[3]);
+    {
+        char buffer[150];
+
+	snprintf(buffer, 149, "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+			ctxt->input->cur[0], ctxt->input->cur[1],
+			ctxt->input->cur[2], ctxt->input->cur[3]);
+	__xmlErrEncoding(ctxt, XML_ERR_INVALID_CHAR,
+		     "Input is not proper UTF-8, indicate encoding !\n%s",
+		     BAD_CAST buffer, NULL);
     }
     *len = 1;
     return ((int) *cur);
@@ -840,6 +865,7 @@
  */
 int
 xmlCopyCharMultiByte(xmlChar *out, int val) {
+    if (out == NULL) return(0);
     /*
      * We are supposed to handle UTF8, check it's valid
      * From rfc2044: encoding of the Unicode values on UTF-8:
@@ -882,6 +908,7 @@
 
 int
 xmlCopyChar(int len ATTRIBUTE_UNUSED, xmlChar *out, int val) {
+    if (out == NULL) return(0);
     /* the len parameter is ignored */
     if  (val >= 0x80) {
 	return(xmlCopyCharMultiByte (out, val));
@@ -911,6 +938,7 @@
 {
     xmlCharEncodingHandlerPtr handler;
 
+    if (ctxt == NULL) return(-1);
     switch (enc) {
 	case XML_CHAR_ENCODING_ERROR:
 	    __xmlErrEncoding(ctxt, XML_ERR_UNKNOWN_ENCODING,
@@ -1329,6 +1357,7 @@
 	            xmlCharEncoding enc) {
     xmlParserInputPtr inputStream;
 
+    if (input == NULL) return(NULL);
     if (xmlParserDebugEntities)
 	xmlGenericError(xmlGenericErrorContext, "new input from I/O\n");
     inputStream = xmlNewInputStream(ctxt);
@@ -1513,6 +1542,8 @@
 int
 xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
 {
+    xmlParserInputPtr input;
+
     if(ctxt==NULL) {
         xmlErrInternal(NULL, "Got NULL parser context\n", NULL);
         return(-1);
@@ -1520,12 +1551,14 @@
 
     xmlDefaultSAXHandlerInit();
 
-    ctxt->dict = xmlDictCreate();
+    if (ctxt->dict == NULL)
+	ctxt->dict = xmlDictCreate();
     if (ctxt->dict == NULL) {
         xmlErrMemory(NULL, "cannot initialize parser context\n");
 	return(-1);
     }
-    ctxt->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
+    if (ctxt->sax == NULL)
+	ctxt->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
     if (ctxt->sax == NULL) {
         xmlErrMemory(NULL, "cannot initialize parser context\n");
 	return(-1);
@@ -1536,17 +1569,22 @@
     ctxt->maxatts = 0;
     ctxt->atts = NULL;
     /* Allocate the Input stack */
-    ctxt->inputTab = (xmlParserInputPtr *)
-	        xmlMalloc(5 * sizeof(xmlParserInputPtr));
     if (ctxt->inputTab == NULL) {
+	ctxt->inputTab = (xmlParserInputPtr *)
+		    xmlMalloc(5 * sizeof(xmlParserInputPtr));
+	ctxt->inputMax = 5;
+    }
+    if (ctxt->inputTab == NULL) {
         xmlErrMemory(NULL, "cannot initialize parser context\n");
 	ctxt->inputNr = 0;
 	ctxt->inputMax = 0;
 	ctxt->input = NULL;
 	return(-1);
     }
+    while ((input = inputPop(ctxt)) != NULL) { /* Non consuming */
+        xmlFreeInputStream(input);
+    }
     ctxt->inputNr = 0;
-    ctxt->inputMax = 5;
     ctxt->input = NULL;
 
     ctxt->version = NULL;
@@ -1561,8 +1599,11 @@
     ctxt->directory = NULL;
 
     /* Allocate the Node stack */
-    ctxt->nodeTab = (xmlNodePtr *) xmlMalloc(10 * sizeof(xmlNodePtr));
     if (ctxt->nodeTab == NULL) {
+	ctxt->nodeTab = (xmlNodePtr *) xmlMalloc(10 * sizeof(xmlNodePtr));
+	ctxt->nodeMax = 10;
+    }
+    if (ctxt->nodeTab == NULL) {
         xmlErrMemory(NULL, "cannot initialize parser context\n");
 	ctxt->nodeNr = 0;
 	ctxt->nodeMax = 0;
@@ -1573,12 +1614,14 @@
 	return(-1);
     }
     ctxt->nodeNr = 0;
-    ctxt->nodeMax = 10;
     ctxt->node = NULL;
 
     /* Allocate the Name stack */
-    ctxt->nameTab = (const xmlChar **) xmlMalloc(10 * sizeof(xmlChar *));
     if (ctxt->nameTab == NULL) {
+	ctxt->nameTab = (const xmlChar **) xmlMalloc(10 * sizeof(xmlChar *));
+	ctxt->nameMax = 10;
+    }
+    if (ctxt->nameTab == NULL) {
         xmlErrMemory(NULL, "cannot initialize parser context\n");
 	ctxt->nodeNr = 0;
 	ctxt->nodeMax = 0;
@@ -1592,12 +1635,14 @@
 	return(-1);
     }
     ctxt->nameNr = 0;
-    ctxt->nameMax = 10;
     ctxt->name = NULL;
 
     /* Allocate the space stack */
-    ctxt->spaceTab = (int *) xmlMalloc(10 * sizeof(int));
     if (ctxt->spaceTab == NULL) {
+	ctxt->spaceTab = (int *) xmlMalloc(10 * sizeof(int));
+	ctxt->spaceMax = 10;
+    }
+    if (ctxt->spaceTab == NULL) {
         xmlErrMemory(NULL, "cannot initialize parser context\n");
 	ctxt->nodeNr = 0;
 	ctxt->nodeMax = 0;
@@ -1630,6 +1675,7 @@
     if (ctxt->keepBlanks == 0)
 	ctxt->sax->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
 
+    ctxt->vctxt.finishDtd = XML_CTXT_FINISH_DTD_0;
     ctxt->vctxt.userData = ctxt;
     ctxt->vctxt.error = xmlParserValidityError;
     ctxt->vctxt.warning = xmlParserValidityWarning;
@@ -1783,9 +1829,10 @@
   if (ctxt==NULL)
     return;
   xmlClearNodeInfoSeq(&ctxt->node_seq);
-  xmlInitParserCtxt(ctxt);
+  xmlCtxtReset(ctxt);
 }
 
+
 /**
  * xmlParserFindNodeInfo:
  * @ctx:  an XML parser context
@@ -1795,17 +1842,20 @@
  * 
  * Returns an xmlParserNodeInfo block pointer or NULL
  */
-const xmlParserNodeInfo* xmlParserFindNodeInfo(const xmlParserCtxtPtr ctx,
-                                               const xmlNodePtr node)
+const xmlParserNodeInfo *
+xmlParserFindNodeInfo(const xmlParserCtxtPtr ctx, const xmlNodePtr node)
 {
-  unsigned long pos;
+    unsigned long pos;
 
-  /* Find position where node should be at */
-  pos = xmlParserFindNodeInfoIndex(&ctx->node_seq, node);
-  if (pos < ctx->node_seq.length && ctx->node_seq.buffer[pos].node == node)
-    return &ctx->node_seq.buffer[pos];
-  else
-    return NULL;
+    if ((ctx == NULL) || (node == NULL))
+        return (NULL);
+    /* Find position where node should be at */
+    pos = xmlParserFindNodeInfoIndex(&ctx->node_seq, node);
+    if (pos < ctx->node_seq.length
+        && ctx->node_seq.buffer[pos].node == node)
+        return &ctx->node_seq.buffer[pos];
+    else
+        return NULL;
 }
 
 
@@ -1818,9 +1868,11 @@
 void
 xmlInitNodeInfoSeq(xmlParserNodeInfoSeqPtr seq)
 {
-  seq->length = 0;
-  seq->maximum = 0;
-  seq->buffer = NULL;
+    if (seq == NULL)
+        return;
+    seq->length = 0;
+    seq->maximum = 0;
+    seq->buffer = NULL;
 }
 
 /**
@@ -1833,12 +1885,13 @@
 void
 xmlClearNodeInfoSeq(xmlParserNodeInfoSeqPtr seq)
 {
-  if ( seq->buffer != NULL )
-    xmlFree(seq->buffer);
-  xmlInitNodeInfoSeq(seq);
+    if (seq == NULL)
+        return;
+    if (seq->buffer != NULL)
+        xmlFree(seq->buffer);
+    xmlInitNodeInfoSeq(seq);
 }
 
-
 /**
  * xmlParserFindNodeInfoIndex:
  * @seq:  a node info sequence pointer
@@ -1850,31 +1903,35 @@
  *
  * Returns a long indicating the position of the record
  */
-unsigned long xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
-                                         const xmlNodePtr node)
+unsigned long
+xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
+                           const xmlNodePtr node)
 {
-  unsigned long upper, lower, middle;
-  int found = 0;
+    unsigned long upper, lower, middle;
+    int found = 0;
 
-  /* Do a binary search for the key */
-  lower = 1;
-  upper = seq->length;
-  middle = 0;
-  while ( lower <= upper && !found) {
-    middle = lower + (upper - lower) / 2;
-    if ( node == seq->buffer[middle - 1].node )
-      found = 1;
-    else if ( node < seq->buffer[middle - 1].node )
-      upper = middle - 1;
+    if ((seq == NULL) || (node == NULL))
+        return (-1);
+
+    /* Do a binary search for the key */
+    lower = 1;
+    upper = seq->length;
+    middle = 0;
+    while (lower <= upper && !found) {
+        middle = lower + (upper - lower) / 2;
+        if (node == seq->buffer[middle - 1].node)
+            found = 1;
+        else if (node < seq->buffer[middle - 1].node)
+            upper = middle - 1;
+        else
+            lower = middle + 1;
+    }
+
+    /* Return position */
+    if (middle == 0 || seq->buffer[middle - 1].node < node)
+        return middle;
     else
-      lower = middle + 1;
-  }
-
-  /* Return position */
-  if ( middle == 0 || seq->buffer[middle - 1].node < node )
-    return middle;
-  else 
-    return middle - 1;
+        return middle - 1;
 }
 
 
@@ -1891,6 +1948,8 @@
 {
     unsigned long pos;
 
+    if ((ctxt == NULL) || (info == NULL)) return;
+
     /* Find pos and check to see if node is already in the sequence */
     pos = xmlParserFindNodeInfoIndex(&ctxt->node_seq, (xmlNodePtr)
                                      info->node);

Modified: packages/libxml2/branches/unstable/python/Makefile.am
===================================================================
--- packages/libxml2/branches/unstable/python/Makefile.am	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/Makefile.am	2005-02-16 19:06:11 UTC (rev 352)
@@ -5,7 +5,8 @@
 
 INCLUDES = \
 	-I$(PYTHON_INCLUDES) \
-	-I$(top_srcdir)/include
+	-I$(top_srcdir)/include	\
+	-I$(top_builddir)/include
 
 DOCS_DIR = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
 # libxml2class.txt is generated
@@ -23,7 +24,7 @@
 	libxml2-python-api.xml	\
 	$(DOCS)
 
-libxml2mod_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/.libs
+libxml2mod_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -module -avoid-version -L$(top_builddir)/.libs
 
 if WITH_PYTHON
 mylibs = \
@@ -34,7 +35,7 @@
 python_LTLIBRARIES = libxml2mod.la
 
 libxml2mod_la_SOURCES = libxml.c types.c libxml2-py.c
-libxml2mod_la_LIBADD = $(mylibs)
+libxml2mod_la_LIBADD = $(mylibs) @CYGWIN_EXTRA_PYTHON_LIBADD@
 
 libxml2.py: $(srcdir)/libxml.py $(srcdir)/libxml2class.py
 	cat $(srcdir)/libxml.py $(srcdir)/libxml2class.py > libxml2.py
@@ -69,5 +70,5 @@
 all: 
 endif
 tests test: all
-	cd tests && $(MAKE) tests
+	cd tests && $(MAKE) MAKEFLAGS+=--silent tests
 

Modified: packages/libxml2/branches/unstable/python/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/python/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -104,6 +104,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -136,6 +138,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -156,6 +159,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -212,6 +216,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -225,6 +230,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -232,6 +238,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@
@@ -285,7 +292,8 @@
 SUBDIRS = . tests
 INCLUDES = \
 	-I$(PYTHON_INCLUDES) \
-	-I$(top_srcdir)/include
+	-I$(top_srcdir)/include	\
+	-I$(top_builddir)/include
 
 DOCS_DIR = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
 # libxml2class.txt is generated
@@ -302,13 +310,13 @@
 	libxml2-python-api.xml	\
 	$(DOCS)
 
-libxml2mod_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/.libs
+libxml2mod_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -module -avoid-version -L$(top_builddir)/.libs
 @WITH_PYTHON_TRUE at mylibs = \
 @WITH_PYTHON_TRUE@	$(top_builddir)/libxml2.la
 
 @WITH_PYTHON_TRUE at python_LTLIBRARIES = libxml2mod.la
 @WITH_PYTHON_TRUE at libxml2mod_la_SOURCES = libxml.c types.c libxml2-py.c
- at WITH_PYTHON_TRUE@libxml2mod_la_LIBADD = $(mylibs)
+ at WITH_PYTHON_TRUE@libxml2mod_la_LIBADD = $(mylibs) @CYGWIN_EXTRA_PYTHON_LIBADD@
 @WITH_PYTHON_TRUE at GENERATE = generator.py
 @WITH_PYTHON_TRUE at API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml
 @WITH_PYTHON_TRUE at GENERATED = $(srcdir)/libxml2class.py \
@@ -714,7 +722,7 @@
 
 @WITH_PYTHON_FALSE at all: 
 tests test: all
-	cd tests && $(MAKE) tests
+	cd tests && $(MAKE) MAKEFLAGS+=--silent tests
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:

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

Modified: packages/libxml2/branches/unstable/python/generator.py
===================================================================
--- packages/libxml2/branches/unstable/python/generator.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/generator.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -270,6 +270,7 @@
     'xmlParserCtxt *': ('O', "parserCtxt", "xmlParserCtxtPtr", "xmlParserCtxtPtr"),
     'htmlParserCtxtPtr': ('O', "parserCtxt", "xmlParserCtxtPtr", "xmlParserCtxtPtr"),
     'htmlParserCtxt *': ('O', "parserCtxt", "xmlParserCtxtPtr", "xmlParserCtxtPtr"),
+    'xmlValidCtxtPtr': ('O', "ValidCtxt", "xmlValidCtxtPtr", "xmlValidCtxtPtr"),
     'xmlCatalogPtr': ('O', "catalog", "xmlCatalogPtr", "xmlCatalogPtr"),
     'FILE *': ('O', "File", "FILEPtr", "FILE *"),
     'xmlURIPtr': ('O', "URI", "xmlURIPtr", "xmlURIPtr"),
@@ -282,6 +283,9 @@
     'xmlRelaxNGPtr': ('O', "relaxNgSchema", "xmlRelaxNGPtr", "xmlRelaxNGPtr"),
     'xmlRelaxNGParserCtxtPtr': ('O', "relaxNgParserCtxt", "xmlRelaxNGParserCtxtPtr", "xmlRelaxNGParserCtxtPtr"),
     'xmlRelaxNGValidCtxtPtr': ('O', "relaxNgValidCtxt", "xmlRelaxNGValidCtxtPtr", "xmlRelaxNGValidCtxtPtr"),
+    'xmlSchemaPtr': ('O', "Schema", "xmlSchemaPtr", "xmlSchemaPtr"),
+    'xmlSchemaParserCtxtPtr': ('O', "SchemaParserCtxt", "xmlSchemaParserCtxtPtr", "xmlSchemaParserCtxtPtr"),
+    'xmlSchemaValidCtxtPtr': ('O', "SchemaValidCtxt", "xmlSchemaValidCtxtPtr", "xmlSchemaValidCtxtPtr"),
 }
 
 py_return_types = {
@@ -297,6 +301,13 @@
 #
 #######################################################################
 
+# Class methods which are written by hand in libxml.c but the Python-level
+# code is still automatically generated (so they are not in skip_function()).
+skip_impl = (
+    'xmlSaveFileTo',
+    'xmlSaveFormatFileTo',
+)
+
 def skip_function(name):
     if name[0:12] == "xmlXPathWrap":
         return 1
@@ -335,6 +346,14 @@
         return 1
     if name == "xmlErrMemory":
         return 1
+
+    if name == "xmlValidBuildContentModel":
+        return 1
+    if name == "xmlValidateElementDecl":
+        return 1
+    if name == "xmlValidateAttributeDecl":
+        return 1
+
     return 0
 
 def print_function_wrapper(name, output, export, include):
@@ -353,6 +372,9 @@
         return 0
     if skip_function(name) == 1:
         return 0
+    if name in skip_impl:
+	# Don't delete the function entry in the caller.
+	return 1
 
     c_call = "";
     format=""
@@ -655,6 +677,7 @@
     "xmlParserCtxt *": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"),
     "htmlParserCtxtPtr": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"),
     "htmlParserCtxt *": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"),
+    "xmlValidCtxtPtr": ("._o", "ValidCtxt(_obj=%s)", "ValidCtxt"),
     "xmlCatalogPtr": ("._o", "catalog(_obj=%s)", "catalog"),
     "xmlURIPtr": ("._o", "URI(_obj=%s)", "URI"),
     "xmlErrorPtr": ("._o", "Error(_obj=%s)", "Error"),
@@ -666,6 +689,9 @@
     'xmlRelaxNGPtr': ('._o', "relaxNgSchema(_obj=%s)", "relaxNgSchema"),
     'xmlRelaxNGParserCtxtPtr': ('._o', "relaxNgParserCtxt(_obj=%s)", "relaxNgParserCtxt"),
     'xmlRelaxNGValidCtxtPtr': ('._o', "relaxNgValidCtxt(_obj=%s)", "relaxNgValidCtxt"),
+    'xmlSchemaPtr': ("._o", "Schema(_obj=%s)", "Schema"),
+    'xmlSchemaParserCtxtPtr': ("._o", "SchemaParserCtxt(_obj=%s)", "SchemaParserCtxt"),
+    'xmlSchemaValidCtxtPtr': ("._o", "SchemaValidCtxt(_obj=%s)", "SchemaValidCtxt"),
 }
 
 converter_type = {
@@ -699,6 +725,10 @@
     "relaxNgSchema": "xmlRelaxNGFree",
     "relaxNgParserCtxt": "xmlRelaxNGFreeParserCtxt",
     "relaxNgValidCtxt": "xmlRelaxNGFreeValidCtxt",
+	"Schema": "xmlSchemaFree",
+	"SchemaParserCtxt": "xmlSchemaFreeParserCtxt",
+	"SchemaValidCtxt": "xmlSchemaFreeValidCtxt",
+        "ValidCtxt": "xmlFreeValidCtxt",
 }
 
 functions_noexcept = {
@@ -710,6 +740,7 @@
 reference_keepers = {
     "xmlTextReader": [('inputBuffer', 'input')],
     "relaxNgValidCtxt": [('relaxNgSchema', 'schema')],
+	"SchemaValidCtxt": [('Schema', 'schema')],
 }
 
 function_classes = {}
@@ -1016,6 +1047,13 @@
 		classes.write("class %s(%s):\n" % (classname,
 			      classes_ancestor[classname]))
 		classes.write("    def __init__(self, _obj=None):\n")
+		if classes_ancestor[classname] == "xmlCore" or \
+		   classes_ancestor[classname] == "xmlNode":
+		    classes.write("        if type(_obj).__name__ != ")
+		    classes.write("'PyCObject':\n")
+		    classes.write("            raise TypeError, ")
+		    classes.write("'%s needs a PyCObject argument'\n" % \
+		                classname)
 		if reference_keepers.has_key(classname):
 		    rlist = reference_keepers[classname]
 		    for ref in rlist:

Modified: packages/libxml2/branches/unstable/python/libxml.c
===================================================================
--- packages/libxml2/branches/unstable/python/libxml.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/libxml.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -95,7 +95,8 @@
 libxml_xmlErrorInitialize(void); /* forward declare */
 
 PyObject *
-libxml_xmlMemoryUsed(ATTRIBUTE_UNUSED PyObject * self, PyObject * args)
+libxml_xmlMemoryUsed(PyObject * self ATTRIBUTE_UNUSED, 
+        PyObject * args ATTRIBUTE_UNUSED)
 {
     long ret;
     PyObject *py_retval;
@@ -107,7 +108,7 @@
 }
 
 PyObject *
-libxml_xmlDebugMemory(ATTRIBUTE_UNUSED PyObject * self, PyObject * args)
+libxml_xmlDebugMemory(PyObject * self ATTRIBUTE_UNUSED, PyObject * args)
 {
     int activate;
     PyObject *py_retval;
@@ -511,6 +512,11 @@
     if (!PyArg_ParseTuple(args, (char *)"O:xmlOutputBufferClose", &pyobj_out))
         return(NULL);
     out = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_out);
+    /* Buffer may already have been destroyed elsewhere. This is harmless. */
+    if (out == NULL) {
+	Py_INCREF(Py_None);
+	return(Py_None);
+    }
 
     c_retval = xmlOutputBufferClose(out);
     py_retval = libxml_intWrap((int) c_retval);
@@ -532,6 +538,53 @@
     py_retval = libxml_intWrap((int) c_retval);
     return(py_retval);
 }
+
+static PyObject *
+libxml_xmlSaveFileTo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlOutputBufferPtr buf;
+    PyObject *pyobj_buf;
+    xmlDocPtr cur;
+    PyObject *pyobj_cur;
+    char * encoding;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOz:xmlSaveFileTo", &pyobj_buf, &pyobj_cur, &encoding))
+        return(NULL);
+    buf = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_buf);
+    cur = (xmlDocPtr) PyxmlNode_Get(pyobj_cur);
+
+    c_retval = xmlSaveFileTo(buf, cur, encoding);
+	/* xmlSaveTo() freed the memory pointed to by buf, so record that in the
+	 * Python object. */
+    ((PyoutputBuffer_Object *)(pyobj_buf))->obj = NULL;
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+static PyObject *
+libxml_xmlSaveFormatFileTo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlOutputBufferPtr buf;
+    PyObject *pyobj_buf;
+    xmlDocPtr cur;
+    PyObject *pyobj_cur;
+    char * encoding;
+    int format;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOzi:xmlSaveFormatFileTo", &pyobj_buf, &pyobj_cur, &encoding, &format))
+        return(NULL);
+    buf = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_buf);
+    cur = (xmlDocPtr) PyxmlNode_Get(pyobj_cur);
+
+    c_retval = xmlSaveFormatFileTo(buf, cur, encoding, format);
+	/* xmlSaveFormatFileTo() freed the memory pointed to by buf, so record that
+	 * in the Python object */
+	((PyoutputBuffer_Object *)(pyobj_buf))->obj = NULL;
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 
@@ -1374,35 +1427,25 @@
 static PyObject *libxml_xmlPythonErrorFuncCtxt = NULL;
 
 /* helper to build a xmlMalloc'ed string from a format and va_list */
+/* 
+ * disabled the loop, the repeated call to vsnprintf without reset of ap
+ * in case the initial buffer was too small segfaulted on x86_64
+ * we now directly vsnprintf on a large buffer.
+ */
 static char *
 libxml_buildMessage(const char *msg, va_list ap)
 {
-    int size;
     int chars;
-    char *larger;
     char *str;
 
-    str = (char *) xmlMalloc(150);
+    str = (char *) xmlMalloc(1000);
     if (str == NULL)
         return NULL;
 
-    size = 150;
+    chars = vsnprintf(str, 999, msg, ap);
+    if (chars >= 998)
+        str[999] = 0;
 
-    while (1) {
-        chars = vsnprintf(str, size, msg, ap);
-        if ((chars > -1) && (chars < size))
-            break;
-        if (chars > -1)
-            size += chars + 1;
-        else
-            size += 100;
-        if ((larger = (char *) xmlRealloc(str, size)) == NULL) {
-            xmlFree(str);
-            return NULL;
-        }
-        str = larger;
-    }
-
     return str;
 }
 
@@ -1411,10 +1454,10 @@
                            ...)
 {
     va_list ap;
-    char *str;
     PyObject *list;
     PyObject *message;
     PyObject *result;
+    char str[1000];
 
 #ifdef DEBUG_ERROR
     printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
@@ -1427,13 +1470,14 @@
         va_end(ap);
     } else {
         va_start(ap, msg);
-        str = libxml_buildMessage(msg,ap);
+        if (vsnprintf(str, 999, msg, ap) >= 998)
+	    str[999] = 0;
         va_end(ap);
 
         list = PyTuple_New(2);
         PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt);
         Py_XINCREF(libxml_xmlPythonErrorFuncCtxt);
-        message = libxml_charPtrWrap(str);
+        message = libxml_charPtrConstWrap(str);
         PyTuple_SetItem(list, 1, message);
         result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
         Py_XDECREF(list);
@@ -1510,7 +1554,7 @@
     xmlParserCtxtPyCtxtPtr pyCtxt;
     
 #ifdef DEBUG_ERROR
-    printf("libxml_xmlParserCtxtGenericErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
+    printf("libxml_xmlParserCtxtGenericErrorFuncHandler(%p, %s, ...) called\n", ctx, str);
 #endif
 
     ctxt = (xmlParserCtxtPtr)ctx;
@@ -1679,6 +1723,141 @@
     return(Py_None);
 }
 
+/***
+ * xmlValidCtxt stuff
+ */
+
+typedef struct 
+{
+    PyObject *warn;
+    PyObject *error;
+    PyObject *arg;
+} xmlValidCtxtPyCtxt;
+typedef xmlValidCtxtPyCtxt *xmlValidCtxtPyCtxtPtr;
+
+static void
+libxml_xmlValidCtxtGenericErrorFuncHandler(void *ctx, int severity, char *str) 
+{
+    PyObject *list;
+    PyObject *result;
+    xmlValidCtxtPyCtxtPtr pyCtxt;
+    
+#ifdef DEBUG_ERROR
+    printf("libxml_xmlValidCtxtGenericErrorFuncHandler(%p, %d, %s, ...) called\n", ctx, severity, str);
+#endif
+
+    pyCtxt = (xmlValidCtxtPyCtxtPtr)ctx;
+    
+    list = PyTuple_New(2);
+    PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
+    PyTuple_SetItem(list, 1, pyCtxt->arg);
+    Py_XINCREF(pyCtxt->arg);
+    result = PyEval_CallObject(pyCtxt->error, list);
+    if (result == NULL) 
+    {
+	/* TODO: manage for the exception to be propagated... */
+	PyErr_Print();
+    }
+    Py_XDECREF(list);
+    Py_XDECREF(result);
+}
+
+static void
+libxml_xmlValidCtxtGenericWarningFuncHandler(void *ctx, int severity, char *str) 
+{
+    PyObject *list;
+    PyObject *result;
+    xmlValidCtxtPyCtxtPtr pyCtxt;
+    
+#ifdef DEBUG_ERROR
+    printf("libxml_xmlValidCtxtGenericWarningFuncHandler(%p, %d, %s, ...) called\n", ctx, severity, str);
+#endif
+
+    pyCtxt = (xmlValidCtxtPyCtxtPtr)ctx;
+
+    list = PyTuple_New(2);
+    PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
+    PyTuple_SetItem(list, 1, pyCtxt->arg);
+    Py_XINCREF(pyCtxt->arg);
+    result = PyEval_CallObject(pyCtxt->warn, list);
+    if (result == NULL) 
+    {
+	/* TODO: manage for the exception to be propagated... */
+	PyErr_Print();
+    }
+    Py_XDECREF(list);
+    Py_XDECREF(result);
+}
+
+static void 
+libxml_xmlValidCtxtErrorFuncHandler(void *ctx, const char *msg, ...) 
+{
+    va_list ap;
+
+    va_start(ap, msg);
+    libxml_xmlValidCtxtGenericErrorFuncHandler(ctx,XML_PARSER_SEVERITY_VALIDITY_ERROR,libxml_buildMessage(msg,ap));
+    va_end(ap);
+}
+
+static void 
+libxml_xmlValidCtxtWarningFuncHandler(void *ctx, const char *msg, ...) 
+{
+    va_list ap;
+
+    va_start(ap, msg);
+    libxml_xmlValidCtxtGenericWarningFuncHandler(ctx,XML_PARSER_SEVERITY_VALIDITY_WARNING,libxml_buildMessage(msg,ap));
+    va_end(ap);
+}
+
+static PyObject *
+libxml_xmlSetValidErrors(ATTRIBUTE_UNUSED PyObject * self, PyObject * args)
+{
+    PyObject *py_retval;
+    PyObject *pyobj_error;
+    PyObject *pyobj_warn;
+    PyObject *pyobj_ctx;
+    PyObject *pyobj_arg = Py_None;
+    xmlValidCtxtPtr ctxt;
+    xmlValidCtxtPyCtxtPtr pyCtxt;
+
+    if (!PyArg_ParseTuple
+        (args, (char *) "OOO|O:xmlSetValidErrors", &pyobj_ctx, &pyobj_error, &pyobj_warn, &pyobj_arg))
+        return (NULL);
+
+#ifdef DEBUG_ERROR
+    printf("libxml_xmlSetValidErrors(%p, %p, %p) called\n", pyobj_ctx, pyobj_error, pyobj_warn);
+#endif
+
+    ctxt = PyValidCtxt_Get(pyobj_ctx);
+    pyCtxt = xmlMalloc(sizeof(xmlValidCtxtPyCtxt));
+    if (pyCtxt == NULL) {
+            py_retval = libxml_intWrap(-1);
+            return(py_retval);
+    }
+    memset(pyCtxt, 0, sizeof(xmlValidCtxtPyCtxt));
+
+    
+    /* TODO: check warn and error is a function ! */
+    Py_XDECREF(pyCtxt->error);
+    Py_XINCREF(pyobj_error);
+    pyCtxt->error = pyobj_error;
+    
+    Py_XDECREF(pyCtxt->warn);
+    Py_XINCREF(pyobj_warn);
+    pyCtxt->warn = pyobj_warn;
+    
+    Py_XDECREF(pyCtxt->arg);
+    Py_XINCREF(pyobj_arg);
+    pyCtxt->arg = pyobj_arg;
+
+    ctxt->error = libxml_xmlValidCtxtErrorFuncHandler;
+    ctxt->warning = libxml_xmlValidCtxtWarningFuncHandler;
+    ctxt->userData = pyCtxt;
+
+    py_retval = libxml_intWrap(1);
+    return (py_retval);
+}
+
 /************************************************************************
  *									*
  *                      Per xmlTextReader error handler                 *
@@ -2947,8 +3126,175 @@
     return(Py_None);
 }
 
+typedef struct
+{
+	PyObject *warn;
+	PyObject *error;
+	PyObject *arg;
+} xmlSchemaValidCtxtPyCtxt;
+typedef xmlSchemaValidCtxtPyCtxt *xmlSchemaValidCtxtPyCtxtPtr;
+
+static void
+libxml_xmlSchemaValidityGenericErrorFuncHandler(void *ctx, char *str)
+{
+	PyObject *list;
+	PyObject *result;
+	xmlSchemaValidCtxtPyCtxtPtr pyCtxt;
+
+#ifdef DEBUG_ERROR
+	printf("libxml_xmlSchemaValiditiyGenericErrorFuncHandler(%p, %s, ...) called\n", ctx, str);
 #endif
 
+	pyCtxt = (xmlSchemaValidCtxtPyCtxtPtr) ctx;
+
+	list = PyTuple_New(2);
+	PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
+	PyTuple_SetItem(list, 1, pyCtxt->arg);
+	Py_XINCREF(pyCtxt->arg);
+	result = PyEval_CallObject(pyCtxt->error, list);
+	if (result == NULL) 
+	{
+		/* TODO: manage for the exception to be propagated... */
+		PyErr_Print();
+	}
+	Py_XDECREF(list);
+	Py_XDECREF(result);
+}
+
+static void
+libxml_xmlSchemaValidityGenericWarningFuncHandler(void *ctx, char *str)
+{
+	PyObject *list;
+	PyObject *result;
+	xmlSchemaValidCtxtPyCtxtPtr pyCtxt;
+
+#ifdef DEBUG_ERROR
+	printf("libxml_xmlSchemaValidityGenericWarningFuncHandler(%p, %s, ...) called\n", ctx, str);
+#endif
+	
+	pyCtxt = (xmlSchemaValidCtxtPyCtxtPtr) ctx;
+
+	list = PyTuple_New(2);
+	PyTuple_SetItem(list, 0, libxml_charPtrWrap(str));
+	PyTuple_SetItem(list, 1, pyCtxt->arg);
+	Py_XINCREF(pyCtxt->arg);
+	result = PyEval_CallObject(pyCtxt->warn, list);
+	if (result == NULL)
+	{
+		/* TODO: manage for the exception to be propagated... */
+		PyErr_Print();
+	}
+	Py_XDECREF(list);
+	Py_XDECREF(result);
+}
+
+static void
+libxml_xmlSchemaValidityErrorFunc(void *ctx, const char *msg, ...)
+{
+	va_list ap;
+	
+	va_start(ap, msg);
+	libxml_xmlSchemaValidityGenericErrorFuncHandler(ctx, libxml_buildMessage(msg, ap));
+	va_end(ap);
+}
+
+static void
+libxml_xmlSchemaValidityWarningFunc(void *ctx, const char *msg, ...)
+{
+	va_list ap;
+
+	va_start(ap, msg);
+	libxml_xmlSchemaValidityGenericWarningFuncHandler(ctx, libxml_buildMessage(msg, ap));
+	va_end(ap);
+}
+
+PyObject *
+libxml_xmlSchemaSetValidErrors(ATTRIBUTE_UNUSED PyObject * self, PyObject * args)
+{
+	PyObject *py_retval;
+	PyObject *pyobj_error;
+	PyObject *pyobj_warn;
+	PyObject *pyobj_ctx;
+	PyObject *pyobj_arg = Py_None;
+	xmlSchemaValidCtxtPtr ctxt;
+	xmlSchemaValidCtxtPyCtxtPtr pyCtxt;
+
+	if (!PyArg_ParseTuple
+		(args, (char *) "OOO|O:xmlSchemaSetValidErrors", &pyobj_ctx, &pyobj_error, &pyobj_warn, &pyobj_arg))
+		return (NULL);
+
+#ifdef DEBUG_ERROR
+	printf("libxml_xmlSchemaSetValidErrors(%p, %p, %p) called\n", pyobj_ctx, pyobj_error, pyobj_warn);
+#endif
+
+	ctxt = PySchemaValidCtxt_Get(pyobj_ctx);
+	if (xmlSchemaGetValidErrors(ctxt, NULL, NULL, (void **) &pyCtxt) == -1)
+	{
+		py_retval = libxml_intWrap(-1);
+		return(py_retval);
+	}
+
+	if (pyCtxt == NULL)
+	{
+		/* first time to set the error handlers */
+		pyCtxt = xmlMalloc(sizeof(xmlSchemaValidCtxtPyCtxt));
+		if (pyCtxt == NULL) {
+			py_retval = libxml_intWrap(-1);
+			return(py_retval);
+		}
+		memset(pyCtxt, 0, sizeof(xmlSchemaValidCtxtPyCtxt));
+	}
+
+	/* TODO: check warn and error is a function ! */
+	Py_XDECREF(pyCtxt->error);
+	Py_XINCREF(pyobj_error);
+	pyCtxt->error = pyobj_error;
+
+	Py_XDECREF(pyCtxt->warn);
+	Py_XINCREF(pyobj_warn);
+	pyCtxt->warn = pyobj_warn;
+
+	Py_XDECREF(pyCtxt->arg);
+	Py_XINCREF(pyobj_arg);
+	pyCtxt->arg = pyobj_arg;
+
+	xmlSchemaSetValidErrors(ctxt, &libxml_xmlSchemaValidityErrorFunc, &libxml_xmlSchemaValidityWarningFunc, pyCtxt);
+
+	py_retval = libxml_intWrap(1);
+	return(py_retval);
+}
+
+#if 0
+PyObject *
+libxml_xmlSchemaFreeValidCtxt(ATTRIBUTE_UNUSED PyObject * self, PyObject * args)
+{
+	xmlSchemaValidCtxtPtr ctxt;
+	xmlSchemaValidCtxtPyCtxtPtr pyCtxt;
+	PyObject *pyobj_ctxt;
+
+	if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaFreeValidCtxt", &pyobj_ctxt))
+		return(NULL);
+	ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+
+	if (xmlSchemaGetValidErrors(ctxt, NULL, NULL, (void **) &pyCtxt) == 0)
+	{
+		if (pyCtxt != NULL)
+		{
+			Py_XDECREF(pyCtxt->error);
+			Py_XDECREF(pyCtxt->warn);
+			Py_XDECREF(pyCtxt->arg);
+			xmlFree(pyCtxt);
+		}
+	}
+
+	xmlSchemaFreeValidCtxt(ctxt);
+	Py_INCREF(Py_None);
+	return(Py_None);
+}
+#endif
+
+#endif
+
 #ifdef LIBXML_C14N_ENABLED
 #ifdef LIBXML_OUTPUT_ENABLED
 
@@ -3242,8 +3588,18 @@
 #endif
 #endif
 
+static PyObject *
+libxml_getObjDesc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
 
+    PyObject *obj;
+    char *str;
 
+    if (!PyArg_ParseTuple(args, (char *)"O:getObjDesc", &obj))
+        return NULL;
+    str = PyCObject_GetDesc(obj);
+    return Py_BuildValue((char *)"s", str);
+}
+
 /************************************************************************
  *									*
  *			The registration stuff				*
@@ -3261,6 +3617,7 @@
     {(char *) "type", libxml_type, METH_VARARGS, NULL},
     {(char *) "doc", libxml_doc, METH_VARARGS, NULL},
     {(char *) "xmlNewNode", libxml_xmlNewNode, METH_VARARGS, NULL},
+    {(char *)"xmlSetValidErrors", libxml_xmlSetValidErrors, METH_VARARGS, NULL},
 #ifdef LIBXML_OUTPUT_ENABLED
     {(char *) "serializeNode", libxml_serializeNode, METH_VARARGS, NULL},
     {(char *) "saveNodeTo", libxml_saveNodeTo, METH_VARARGS, NULL},
@@ -3268,6 +3625,8 @@
     {(char *) "outputBufferGetPythonFile", libxml_outputBufferGetPythonFile, METH_VARARGS, NULL},
     {(char *) "xmlOutputBufferClose", libxml_xmlOutputBufferClose, METH_VARARGS, NULL},
     { (char *)"xmlOutputBufferFlush", libxml_xmlOutputBufferFlush, METH_VARARGS, NULL },
+    { (char *)"xmlSaveFileTo", libxml_xmlSaveFileTo, METH_VARARGS, NULL },
+    { (char *)"xmlSaveFormatFileTo", libxml_xmlSaveFormatFileTo, METH_VARARGS, NULL },
 #endif /* LIBXML_OUTPUT_ENABLED */
     {(char *) "inputBufferCreate", libxml_xmlCreateInputBuffer, METH_VARARGS, NULL},
     {(char *) "setEntityLoader", libxml_xmlSetEntityLoader, METH_VARARGS, NULL},
@@ -3282,6 +3641,7 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
     {(char *)"xmlRelaxNGSetValidErrors", libxml_xmlRelaxNGSetValidErrors, METH_VARARGS, NULL},
     {(char *)"xmlRelaxNGFreeValidCtxt", libxml_xmlRelaxNGFreeValidCtxt, METH_VARARGS, NULL},
+    {(char *)"xmlSchemaSetValidErrors", libxml_xmlSchemaSetValidErrors, METH_VARARGS, NULL},
 #endif
 #ifdef LIBXML_C14N_ENABLED
 #ifdef LIBXML_OUTPUT_ENABLED
@@ -3289,6 +3649,7 @@
     {(char *)"xmlC14NDocSaveTo", libxml_C14NDocSaveTo, METH_VARARGS, NULL},
 #endif
 #endif
+    {(char *) "getObjDesc", libxml_getObjDesc, METH_VARARGS, NULL},
     {NULL, NULL, 0, NULL}
 };
 

Modified: packages/libxml2/branches/unstable/python/libxml.py
===================================================================
--- packages/libxml2/branches/unstable/python/libxml.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/libxml.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,28 +1,31 @@
 import libxml2mod
 import types
 
+# The root of all libxml2 errors.
+class libxmlError(Exception): pass
+
 #
 # Errors raised by the wrappers when some tree handling failed.
 #
-class treeError:
+class treeError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):
         return self.msg
 
-class parserError:
+class parserError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):
         return self.msg
 
-class uriError:
+class uriError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):
         return self.msg
 
-class xpathError:
+class xpathError(libxmlError):
     def __init__(self, msg):
         self.msg = msg
     def __str__(self):
@@ -82,19 +85,19 @@
     def __init__(self, _obj, enc = ""):
 #        print "ioWriteWrapper.__init__", _obj
         if type(_obj) == type(''):
-	    print "write io from a string"
-	    self.o = None
-	elif type(_obj) == types.InstanceType:
-	    print "write io from instance of %s" % (_obj.__class__)
-	    ioWrapper.__init__(self, _obj)
-	    self._o = libxml2mod.xmlCreateOutputBuffer(self, enc)
-	else:
-	    file = libxml2mod.outputBufferGetPythonFile(_obj)
-	    if file != None:
-		ioWrapper.__init__(self, file)
-	    else:
-	        ioWrapper.__init__(self, _obj)
-	    self._o = _obj
+            print "write io from a string"
+            self.o = None
+        elif type(_obj) == types.InstanceType:
+            print "write io from instance of %s" % (_obj.__class__)
+            ioWrapper.__init__(self, _obj)
+            self._o = libxml2mod.xmlCreateOutputBuffer(self, enc)
+        else:
+            file = libxml2mod.outputBufferGetPythonFile(_obj)
+            if file != None:
+                ioWrapper.__init__(self, file)
+            else:
+                ioWrapper.__init__(self, _obj)
+            self._o = _obj
 
     def __del__(self):
 #        print "__del__"
@@ -488,19 +491,19 @@
 #
 def nodeWrap(o):
     # TODO try to cast to the most appropriate node class
-    name = libxml2mod.name(o)
+    name = libxml2mod.type(o)
     if name == "element" or name == "text":
         return xmlNode(_obj=o)
     if name == "attribute":
         return xmlAttr(_obj=o)
     if name[0:8] == "document":
         return xmlDoc(_obj=o)
-    if name[0:8] == "namespace":
+    if name == "namespace":
         return xmlNs(_obj=o)
     if name == "elem_decl":
         return xmlElement(_obj=o)
     if name == "attribute_decl":
-        return xmlAtribute(_obj=o)
+        return xmlAttribute(_obj=o)
     if name == "entity_decl":
         return xmlEntity(_obj=o)
     if name == "dtd":

Modified: packages/libxml2/branches/unstable/python/libxml2-py.c
===================================================================
--- packages/libxml2/branches/unstable/python/libxml2-py.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/libxml2-py.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -156,25 +156,6 @@
 }
 
 PyObject *
-libxml_xmlAddSibling(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlNodePtr c_retval;
-    xmlNodePtr cur;
-    PyObject *pyobj_cur;
-    xmlNodePtr elem;
-    PyObject *pyobj_elem;
-
-    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddSibling", &pyobj_cur, &pyobj_elem))
-        return(NULL);
-    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
-    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
-
-    c_retval = xmlAddSibling(cur, elem);
-    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlScanName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlChar * c_retval;
@@ -387,32 +368,39 @@
 }
 
 PyObject *
-libxml_xmlRecoverMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libxml_xmlValidateOneElement(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
-    xmlDocPtr c_retval;
-    char * buffer;
-    int size;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
 
-    if (!PyArg_ParseTuple(args, (char *)"zi:xmlRecoverMemory", &buffer, &size))
+    if (!PyArg_ParseTuple(args, (char *)"OOO:xmlValidateOneElement", &pyobj_ctxt, &pyobj_doc, &pyobj_elem))
         return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
 
-    c_retval = xmlRecoverMemory(buffer, size);
-    py_retval = libxml_xmlDocPtrWrap((xmlDocPtr) c_retval);
+    c_retval = xmlValidateOneElement(ctxt, doc, elem);
+    py_retval = libxml_intWrap((int) c_retval);
     return(py_retval);
 }
 
 PyObject *
-libxml_xmlValidateNCName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libxml_xmlRecoverMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
-    int c_retval;
-    xmlChar * value;
-    int space;
+    xmlDocPtr c_retval;
+    char * buffer;
+    int size;
 
-    if (!PyArg_ParseTuple(args, (char *)"zi:xmlValidateNCName", &value, &space))
+    if (!PyArg_ParseTuple(args, (char *)"zi:xmlRecoverMemory", &buffer, &size))
         return(NULL);
 
-    c_retval = xmlValidateNCName(value, space);
-    py_retval = libxml_intWrap((int) c_retval);
+    c_retval = xmlRecoverMemory(buffer, size);
+    py_retval = libxml_xmlDocPtrWrap((xmlDocPtr) c_retval);
     return(py_retval);
 }
 
@@ -516,7 +504,50 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaSetValidOptions(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlSchemaValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    int options;
+
+    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlSchemaSetValidOptions", &pyobj_ctxt, &options))
+        return(NULL);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+
+    c_retval = xmlSchemaSetValidOptions(ctxt, options);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
+libxml_xmlValidCtxtNormalizeAttributeValue(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlChar * c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+    xmlChar * name;
+    xmlChar * value;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOOzz:xmlValidCtxtNormalizeAttributeValue", &pyobj_ctxt, &pyobj_doc, &pyobj_elem, &name, &value))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlValidCtxtNormalizeAttributeValue(ctxt, doc, elem, name, value);
+    py_retval = libxml_xmlCharPtrWrap((xmlChar *) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlFreeNs(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     xmlNsPtr cur;
     PyObject *pyobj_cur;
@@ -636,6 +667,25 @@
 }
 
 PyObject *
+libxml_xmlAddSibling(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlNodePtr c_retval;
+    xmlNodePtr cur;
+    PyObject *pyobj_cur;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddSibling", &pyobj_cur, &pyobj_elem))
+        return(NULL);
+    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlAddSibling(cur, elem);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlNodeAddContentLen(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     xmlNodePtr cur;
     PyObject *pyobj_cur;
@@ -841,7 +891,24 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaNewMemParserCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlSchemaParserCtxtPtr c_retval;
+    char * buffer;
+    int size;
+
+    if (!PyArg_ParseTuple(args, (char *)"zi:xmlSchemaNewMemParserCtxt", &buffer, &size))
+        return(NULL);
+
+    c_retval = xmlSchemaNewMemParserCtxt(buffer, size);
+    py_retval = libxml_xmlSchemaParserCtxtPtrWrap((xmlSchemaParserCtxtPtr) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlCleanupGlobals(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
 
     xmlCleanupGlobals();
@@ -915,6 +982,29 @@
 }
 
 PyObject *
+libxml_xmlValidatePopElement(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+    xmlChar * qname;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOOz:xmlValidatePopElement", &pyobj_ctxt, &pyobj_doc, &pyobj_elem, &qname))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlValidatePopElement(ctxt, doc, elem, qname);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlStrncasecmp(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -1307,20 +1397,18 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
-libxml_xmlUCSIsMiscellaneousMathematicalSymbolsB(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libxml_xmlRelaxNGInitTypes(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
     PyObject *py_retval;
     int c_retval;
-    int code;
 
-    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsMiscellaneousMathematicalSymbolsB", &code))
-        return(NULL);
-
-    c_retval = xmlUCSIsMiscellaneousMathematicalSymbolsB(code);
+    c_retval = xmlRelaxNGInitTypes();
     py_retval = libxml_intWrap((int) c_retval);
     return(py_retval);
 }
 
+#endif /* LIBXML_SCHEMAS_ENABLED */
 PyObject *
 libxml_xmlParserGetDirectory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
@@ -1485,7 +1573,55 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaFreeParserCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlSchemaParserCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaFreeParserCtxt", &pyobj_ctxt))
+        return(NULL);
+    ctxt = (xmlSchemaParserCtxtPtr) PySchemaParserCtxt_Get(pyobj_ctxt);
+
+    xmlSchemaFreeParserCtxt(ctxt);
+    Py_INCREF(Py_None);
+    return(Py_None);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+#ifdef LIBXML_SCHEMAS_ENABLED
+PyObject *
+libxml_xmlSchemaFreeValidCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlSchemaValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaFreeValidCtxt", &pyobj_ctxt))
+        return(NULL);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+
+    xmlSchemaFreeValidCtxt(ctxt);
+    Py_INCREF(Py_None);
+    return(Py_None);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+#ifdef LIBXML_SCHEMAS_ENABLED
+PyObject *
+libxml_xmlSchemaNewParserCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlSchemaParserCtxtPtr c_retval;
+    char * URL;
+
+    if (!PyArg_ParseTuple(args, (char *)"z:xmlSchemaNewParserCtxt", &URL))
+        return(NULL);
+
+    c_retval = xmlSchemaNewParserCtxt(URL);
+    py_retval = libxml_xmlSchemaParserCtxtPtrWrap((xmlSchemaParserCtxtPtr) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlInitializeCatalog(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
 
     xmlInitializeCatalog();
@@ -1569,6 +1705,48 @@
 
 #endif /* LIBXML_HTML_ENABLED */
 PyObject *
+libxml_xmlTextReaderConstEncoding(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    const xmlChar * c_retval;
+    xmlTextReaderPtr reader;
+    PyObject *pyobj_reader;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlTextReaderConstEncoding", &pyobj_reader))
+        return(NULL);
+    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
+
+    c_retval = xmlTextReaderConstEncoding(reader);
+    py_retval = libxml_xmlCharPtrConstWrap((const xmlChar *) c_retval);
+    return(py_retval);
+}
+
+PyObject *
+libxml_xmlValidateOneAttribute(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+    xmlAttrPtr attr;
+    PyObject *pyobj_attr;
+    xmlChar * value;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOOOz:xmlValidateOneAttribute", &pyobj_ctxt, &pyobj_doc, &pyobj_elem, &pyobj_attr, &value))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+    attr = (xmlAttrPtr) PyxmlNode_Get(pyobj_attr);
+
+    c_retval = xmlValidateOneAttribute(ctxt, doc, elem, attr, value);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlHasNsProp(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlAttrPtr c_retval;
@@ -1773,6 +1951,25 @@
 }
 
 PyObject *
+libxml_xmlValidateRoot(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlValidateRoot", &pyobj_ctxt, &pyobj_doc))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlValidateRoot(ctxt, doc);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlNormalizeURIPath(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -1787,6 +1984,22 @@
 }
 
 PyObject *
+libxml_xmlTextReaderConstXmlVersion(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    const xmlChar * c_retval;
+    xmlTextReaderPtr reader;
+    PyObject *pyobj_reader;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlTextReaderConstXmlVersion", &pyobj_reader))
+        return(NULL);
+    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
+
+    c_retval = xmlTextReaderConstXmlVersion(reader);
+    py_retval = libxml_xmlCharPtrConstWrap((const xmlChar *) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsCombiningDiacriticalMarksforSymbols(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -2212,6 +2425,26 @@
 }
 
 PyObject *
+libxml_xmlReaderNewFd(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlTextReaderPtr reader;
+    PyObject *pyobj_reader;
+    int fd;
+    char * URL;
+    char * encoding;
+    int options;
+
+    if (!PyArg_ParseTuple(args, (char *)"Oizzi:xmlReaderNewFd", &pyobj_reader, &fd, &URL, &encoding, &options))
+        return(NULL);
+    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
+
+    c_retval = xmlReaderNewFd(reader, fd, URL, encoding, options);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsBraillePatterns(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -2546,6 +2779,27 @@
 }
 
 #endif /* LIBXML_XPATH_ENABLED */
+#ifdef LIBXML_SCHEMAS_ENABLED
+PyObject *
+libxml_xmlSchemaValidateDoc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlSchemaValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlSchemaValidateDoc", &pyobj_ctxt, &pyobj_doc))
+        return(NULL);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlSchemaValidateDoc(ctxt, doc);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
 libxml_xmlXPathEvalExpression(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -2808,6 +3062,25 @@
     return(py_retval);
 }
 
+PyObject *
+libxml_xmlDocCopyNodeList(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlNodePtr c_retval;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr node;
+    PyObject *pyobj_node;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlDocCopyNodeList", &pyobj_doc, &pyobj_node))
+        return(NULL);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    node = (xmlNodePtr) PyxmlNode_Get(pyobj_node);
+
+    c_retval = xmlDocCopyNodeList(doc, node);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
+    return(py_retval);
+}
+
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
 libxml_xmlXPathNextNamespace(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -2860,7 +3133,28 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaValidateOneElement(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlSchemaValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlSchemaValidateOneElement", &pyobj_ctxt, &pyobj_elem))
+        return(NULL);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlSchemaValidateOneElement(ctxt, elem);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlReadDoc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlDocPtr c_retval;
@@ -2976,6 +3270,28 @@
     return(Py_None);
 }
 
+PyObject *
+libxml_xmlValidateDtd(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlDtdPtr dtd;
+    PyObject *pyobj_dtd;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOO:xmlValidateDtd", &pyobj_ctxt, &pyobj_doc, &pyobj_dtd))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    dtd = (xmlDtdPtr) PyxmlNode_Get(pyobj_dtd);
+
+    c_retval = xmlValidateDtd(ctxt, doc, dtd);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
 #ifdef LIBXML_HTML_ENABLED
 PyObject *
 libxml_htmlReadFile(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -3131,6 +3447,28 @@
 }
 
 PyObject *
+libxml_xmlValidateElement(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOO:xmlValidateElement", &pyobj_ctxt, &pyobj_doc, &pyobj_elem))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlValidateElement(ctxt, doc, elem);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlPopInputCallbacks(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
     PyObject *py_retval;
     int c_retval;
@@ -3213,22 +3551,26 @@
     return(py_retval);
 }
 
-#ifdef LIBXML_XPATH_ENABLED
+#ifdef LIBXML_HTML_ENABLED
 PyObject *
-libxml_xmlXPathFreeContext(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    xmlXPathContextPtr ctxt;
-    PyObject *pyobj_ctxt;
+libxml_htmlReadMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    htmlDocPtr c_retval;
+    char * buffer;
+    int size;
+    char * URL;
+    char * encoding;
+    int options;
 
-    if (!PyArg_ParseTuple(args, (char *)"O:xmlXPathFreeContext", &pyobj_ctxt))
+    if (!PyArg_ParseTuple(args, (char *)"zizzi:htmlReadMemory", &buffer, &size, &URL, &encoding, &options))
         return(NULL);
-    ctxt = (xmlXPathContextPtr) PyxmlXPathContext_Get(pyobj_ctxt);
 
-    xmlXPathFreeContext(ctxt);
-    Py_INCREF(Py_None);
-    return(Py_None);
+    c_retval = htmlReadMemory(buffer, size, URL, encoding, options);
+    py_retval = libxml_xmlDocPtrWrap((xmlDocPtr) c_retval);
+    return(py_retval);
 }
 
-#endif /* LIBXML_XPATH_ENABLED */
+#endif /* LIBXML_HTML_ENABLED */
 PyObject *
 libxml_xmlURIGetAuthority(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
@@ -3642,6 +3984,25 @@
 }
 
 PyObject *
+libxml_xmlAddChildList(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlNodePtr c_retval;
+    xmlNodePtr parent;
+    PyObject *pyobj_parent;
+    xmlNodePtr cur;
+    PyObject *pyobj_cur;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddChildList", &pyobj_parent, &pyobj_cur))
+        return(NULL);
+    parent = (xmlNodePtr) PyxmlNode_Get(pyobj_parent);
+    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
+
+    c_retval = xmlAddChildList(parent, cur);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlGetNodePath(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlChar * c_retval;
@@ -4215,7 +4576,23 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaFree(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlSchemaPtr schema;
+    PyObject *pyobj_schema;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaFree", &pyobj_schema))
+        return(NULL);
+    schema = (xmlSchemaPtr) PySchema_Get(pyobj_schema);
+
+    xmlSchemaFree(schema);
+    Py_INCREF(Py_None);
+    return(Py_None);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlSaveFormatFile(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -4778,7 +5155,39 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaParse(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlSchemaPtr c_retval;
+    xmlSchemaParserCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaParse", &pyobj_ctxt))
+        return(NULL);
+    ctxt = (xmlSchemaParserCtxtPtr) PySchemaParserCtxt_Get(pyobj_ctxt);
+
+    c_retval = xmlSchemaParse(ctxt);
+    py_retval = libxml_xmlSchemaPtrWrap((xmlSchemaPtr) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
+libxml_xmlThrDefDefaultBufferSize(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    int v;
+
+    if (!PyArg_ParseTuple(args, (char *)"i:xmlThrDefDefaultBufferSize", &v))
+        return(NULL);
+
+    c_retval = xmlThrDefDefaultBufferSize(v);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlTextReaderReadState(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -5169,15 +5578,16 @@
 }
 
 PyObject *
-libxml_xmlUCSIsMusicalSymbols(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libxml_xmlValidateNCName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
-    int code;
+    xmlChar * value;
+    int space;
 
-    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsMusicalSymbols", &code))
+    if (!PyArg_ParseTuple(args, (char *)"zi:xmlValidateNCName", &value, &space))
         return(NULL);
 
-    c_retval = xmlUCSIsMusicalSymbols(code);
+    c_retval = xmlValidateNCName(value, space);
     py_retval = libxml_intWrap((int) c_retval);
     return(py_retval);
 }
@@ -5221,6 +5631,25 @@
 
 #endif /* LIBXML_SCHEMAS_ENABLED */
 PyObject *
+libxml_xmlValidateDocument(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlValidateDocument", &pyobj_ctxt, &pyobj_doc))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlValidateDocument(ctxt, doc);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsLimbu(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -5250,6 +5679,24 @@
 }
 
 PyObject *
+libxml_xmlNewDocPI(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlNodePtr c_retval;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlChar * name;
+    xmlChar * content;
+
+    if (!PyArg_ParseTuple(args, (char *)"Ozz:xmlNewDocPI", &pyobj_doc, &name, &content))
+        return(NULL);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlNewDocPI(doc, name, content);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsCatPc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -5516,6 +5963,25 @@
 
 #endif /* LIBXML_XPATH_ENABLED */
 PyObject *
+libxml_xmlValidateDtdFinal(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlValidateDtdFinal", &pyobj_ctxt, &pyobj_doc))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlValidateDtdFinal(ctxt, doc);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlParseEncName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlChar * c_retval;
@@ -5796,6 +6262,23 @@
 }
 
 #endif /* LIBXML_HTML_ENABLED */
+PyObject *
+libxml_xmlEncodeSpecialChars(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlChar * c_retval;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlChar * input;
+
+    if (!PyArg_ParseTuple(args, (char *)"Oz:xmlEncodeSpecialChars", &pyobj_doc, &input))
+        return(NULL);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlEncodeSpecialChars(doc, input);
+    py_retval = libxml_xmlCharPtrWrap((xmlChar *) c_retval);
+    return(py_retval);
+}
+
 #ifdef LIBXML_HTML_ENABLED
 PyObject *
 libxml_htmlParseElement(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -6376,6 +6859,26 @@
     return(Py_None);
 }
 
+PyObject *
+libxml_xmlValidateNotationUse(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlChar * notationName;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOz:xmlValidateNotationUse", &pyobj_ctxt, &pyobj_doc, &notationName))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlValidateNotationUse(ctxt, doc, notationName);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
 #ifdef LIBXML_HTML_ENABLED
 PyObject *
 libxml_htmlCtxtReadDoc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -6832,23 +7335,6 @@
 }
 
 PyObject *
-libxml_xmlEncodeSpecialChars(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlChar * c_retval;
-    xmlDocPtr doc;
-    PyObject *pyobj_doc;
-    xmlChar * input;
-
-    if (!PyArg_ParseTuple(args, (char *)"Oz:xmlEncodeSpecialChars", &pyobj_doc, &input))
-        return(NULL);
-    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
-
-    c_retval = xmlEncodeSpecialChars(doc, input);
-    py_retval = libxml_xmlCharPtrWrap((xmlChar *) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlFreePropList(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     xmlAttrPtr cur;
     PyObject *pyobj_cur;
@@ -7110,6 +7596,16 @@
 
 #endif /* LIBXML_REGEXP_ENABLED */
 PyObject *
+libxml_xmlNewValidCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
+    PyObject *py_retval;
+    xmlValidCtxtPtr c_retval;
+
+    c_retval = xmlNewValidCtxt();
+    py_retval = libxml_xmlValidCtxtPtrWrap((xmlValidCtxtPtr) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsCatSm(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -7371,26 +7867,22 @@
     return(py_retval);
 }
 
-#ifdef LIBXML_HTML_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 PyObject *
-libxml_htmlReadMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    htmlDocPtr c_retval;
-    char * buffer;
-    int size;
-    char * URL;
-    char * encoding;
-    int options;
+libxml_xmlXPathFreeContext(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlXPathContextPtr ctxt;
+    PyObject *pyobj_ctxt;
 
-    if (!PyArg_ParseTuple(args, (char *)"zizzi:htmlReadMemory", &buffer, &size, &URL, &encoding, &options))
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlXPathFreeContext", &pyobj_ctxt))
         return(NULL);
+    ctxt = (xmlXPathContextPtr) PyxmlXPathContext_Get(pyobj_ctxt);
 
-    c_retval = htmlReadMemory(buffer, size, URL, encoding, options);
-    py_retval = libxml_xmlDocPtrWrap((xmlDocPtr) c_retval);
-    return(py_retval);
+    xmlXPathFreeContext(ctxt);
+    Py_INCREF(Py_None);
+    return(Py_None);
 }
 
-#endif /* LIBXML_HTML_ENABLED */
+#endif /* LIBXML_XPATH_ENABLED */
 PyObject *
 libxml_xmlUCSIsCypriotSyllabary(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
@@ -7756,25 +8248,6 @@
 }
 
 PyObject *
-libxml_xmlAddChildList(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlNodePtr c_retval;
-    xmlNodePtr parent;
-    PyObject *pyobj_parent;
-    xmlNodePtr cur;
-    PyObject *pyobj_cur;
-
-    if (!PyArg_ParseTuple(args, (char *)"OO:xmlAddChildList", &pyobj_parent, &pyobj_cur))
-        return(NULL);
-    parent = (xmlNodePtr) PyxmlNode_Get(pyobj_parent);
-    cur = (xmlNodePtr) PyxmlNode_Get(pyobj_cur);
-
-    c_retval = xmlAddChildList(parent, cur);
-    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlGetDtdEntity(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlEntityPtr c_retval;
@@ -8057,21 +8530,27 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_DEBUG_ENABLED
 PyObject *
-libxml_xmlParserSetLoadSubset(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    xmlParserCtxtPtr ctxt;
-    PyObject *pyobj_ctxt;
-    int loadsubset;
+libxml_xmlDebugCheckDocument(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    FILE * output;
+    PyObject *pyobj_output;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlParserSetLoadSubset", &pyobj_ctxt, &loadsubset))
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlDebugCheckDocument", &pyobj_output, &pyobj_doc))
         return(NULL);
-    ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt);
+    output = (FILE *) PyFile_Get(pyobj_output);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
 
-    ctxt->loadsubset = loadsubset;
-    Py_INCREF(Py_None);
-    return(Py_None);
+    c_retval = xmlDebugCheckDocument(output, doc);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
 }
 
+#endif /* LIBXML_DEBUG_ENABLED */
 PyObject *
 libxml_xmlURIGetScheme(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
@@ -8380,6 +8859,20 @@
 }
 
 PyObject *
+libxml_xmlUCSIsCherokee(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    int code;
+
+    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsCherokee", &code))
+        return(NULL);
+
+    c_retval = xmlUCSIsCherokee(code);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsKhmer(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -8745,6 +9238,24 @@
     return(Py_None);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
+PyObject *
+libxml_xmlSchemaNewDocParserCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlSchemaParserCtxtPtr c_retval;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaNewDocParserCtxt", &pyobj_doc))
+        return(NULL);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlSchemaNewDocParserCtxt(doc);
+    py_retval = libxml_xmlSchemaParserCtxtPtrWrap((xmlSchemaParserCtxtPtr) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
 #ifdef LIBXML_REGEXP_ENABLED
 PyObject *
 libxml_xmlRegFreeRegexp(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -9140,6 +9651,20 @@
 }
 
 PyObject *
+libxml_xmlUCSIsMiscellaneousMathematicalSymbolsB(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    int code;
+
+    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsMiscellaneousMathematicalSymbolsB", &code))
+        return(NULL);
+
+    c_retval = xmlUCSIsMiscellaneousMathematicalSymbolsB(code);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlNanoHTTPCleanup(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
 
     xmlNanoHTTPCleanup();
@@ -9211,15 +9736,17 @@
 
 #endif /* LIBXML_XPATH_ENABLED */
 PyObject *
-libxml_xmlThrDefDefaultBufferSize(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libxml_xmlTextReaderIsNamespaceDecl(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
-    int v;
+    xmlTextReaderPtr reader;
+    PyObject *pyobj_reader;
 
-    if (!PyArg_ParseTuple(args, (char *)"i:xmlThrDefDefaultBufferSize", &v))
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlTextReaderIsNamespaceDecl", &pyobj_reader))
         return(NULL);
+    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
 
-    c_retval = xmlThrDefDefaultBufferSize(v);
+    c_retval = xmlTextReaderIsNamespaceDecl(reader);
     py_retval = libxml_intWrap((int) c_retval);
     return(py_retval);
 }
@@ -9332,6 +9859,29 @@
 }
 
 PyObject *
+libxml_xmlValidatePushElement(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+    xmlChar * qname;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOOz:xmlValidatePushElement", &pyobj_ctxt, &pyobj_doc, &pyobj_elem, &qname))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+
+    c_retval = xmlValidatePushElement(ctxt, doc, elem, qname);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsTaiXuanJingSymbols(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -9367,6 +9917,20 @@
 
 #endif /* LIBXML_HTML_ENABLED */
 PyObject *
+libxml_xmlUCSIsMusicalSymbols(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    int code;
+
+    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsMusicalSymbols", &code))
+        return(NULL);
+
+    c_retval = xmlUCSIsMusicalSymbols(code);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlTextReaderRelaxNGValidate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -9700,23 +10264,6 @@
     return(py_retval);
 }
 
-#ifdef LIBXML_XPATH_ENABLED
-PyObject *
-libxml_xmlXPathConcatFunction(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    xmlXPathParserContextPtr ctxt;
-    PyObject *pyobj_ctxt;
-    int nargs;
-
-    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlXPathConcatFunction", &pyobj_ctxt, &nargs))
-        return(NULL);
-    ctxt = (xmlXPathParserContextPtr) PyxmlXPathParserContext_Get(pyobj_ctxt);
-
-    xmlXPathConcatFunction(ctxt, nargs);
-    Py_INCREF(Py_None);
-    return(Py_None);
-}
-
-#endif /* LIBXML_XPATH_ENABLED */
 #ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
 libxml_xmlSchemaCollapseString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -10065,26 +10612,6 @@
     return(Py_None);
 }
 
-PyObject *
-libxml_xmlSaveFileTo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    xmlOutputBufferPtr buf;
-    PyObject *pyobj_buf;
-    xmlDocPtr cur;
-    PyObject *pyobj_cur;
-    char * encoding;
-
-    if (!PyArg_ParseTuple(args, (char *)"OOz:xmlSaveFileTo", &pyobj_buf, &pyobj_cur, &encoding))
-        return(NULL);
-    buf = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_buf);
-    cur = (xmlDocPtr) PyxmlNode_Get(pyobj_cur);
-
-    c_retval = xmlSaveFileTo(buf, cur, encoding);
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
-}
-
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
 libxml_xmlXPathStartsWithFunction(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -10103,6 +10630,24 @@
 
 #endif /* LIBXML_XPATH_ENABLED */
 PyObject *
+libxml_xmlValidatePushCData(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlChar * data;
+    int len;
+
+    if (!PyArg_ParseTuple(args, (char *)"Ozi:xmlValidatePushCData", &pyobj_ctxt, &data, &len))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+
+    c_retval = xmlValidatePushCData(ctxt, data, len);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlSearchNsByHref(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlNsPtr c_retval;
@@ -10157,7 +10702,23 @@
 }
 
 #endif /* LIBXML_XPATH_ENABLED */
+#ifdef LIBXML_XPATH_ENABLED
 PyObject *
+libxml_xmlXPathIsNodeType(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlChar * name;
+
+    if (!PyArg_ParseTuple(args, (char *)"z:xmlXPathIsNodeType", &name))
+        return(NULL);
+
+    c_retval = xmlXPathIsNodeType(name);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_XPATH_ENABLED */
+PyObject *
 libxml_xmlURISetScheme(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     xmlURIPtr URI;
     PyObject *pyobj_URI;
@@ -10219,21 +10780,23 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_XPATH_ENABLED
 PyObject *
-libxml_xmlParseDTD(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlDtdPtr c_retval;
-    xmlChar * ExternalID;
-    xmlChar * SystemID;
+libxml_xmlXPathFloorFunction(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlXPathParserContextPtr ctxt;
+    PyObject *pyobj_ctxt;
+    int nargs;
 
-    if (!PyArg_ParseTuple(args, (char *)"zz:xmlParseDTD", &ExternalID, &SystemID))
+    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlXPathFloorFunction", &pyobj_ctxt, &nargs))
         return(NULL);
+    ctxt = (xmlXPathParserContextPtr) PyxmlXPathParserContext_Get(pyobj_ctxt);
 
-    c_retval = xmlParseDTD(ExternalID, SystemID);
-    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
-    return(py_retval);
+    xmlXPathFloorFunction(ctxt, nargs);
+    Py_INCREF(Py_None);
+    return(Py_None);
 }
 
+#endif /* LIBXML_XPATH_ENABLED */
 PyObject *
 libxml_xmlUCSIsTibetan(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
@@ -10265,24 +10828,40 @@
     return(Py_None);
 }
 
-#ifdef LIBXML_XPATH_ENABLED
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
-libxml_xmlXPathFloorFunction(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    xmlXPathParserContextPtr ctxt;
+libxml_xmlSchemaValidCtxtGetOptions(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlSchemaValidCtxtPtr ctxt;
     PyObject *pyobj_ctxt;
-    int nargs;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlXPathFloorFunction", &pyobj_ctxt, &nargs))
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaValidCtxtGetOptions", &pyobj_ctxt))
         return(NULL);
-    ctxt = (xmlXPathParserContextPtr) PyxmlXPathParserContext_Get(pyobj_ctxt);
+    ctxt = (xmlSchemaValidCtxtPtr) PySchemaValidCtxt_Get(pyobj_ctxt);
 
-    xmlXPathFloorFunction(ctxt, nargs);
-    Py_INCREF(Py_None);
-    return(Py_None);
+    c_retval = xmlSchemaValidCtxtGetOptions(ctxt);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
 }
 
-#endif /* LIBXML_XPATH_ENABLED */
+#endif /* LIBXML_SCHEMAS_ENABLED */
 PyObject *
+libxml_xmlParseDTD(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlDtdPtr c_retval;
+    xmlChar * ExternalID;
+    xmlChar * SystemID;
+
+    if (!PyArg_ParseTuple(args, (char *)"zz:xmlParseDTD", &ExternalID, &SystemID))
+        return(NULL);
+
+    c_retval = xmlParseDTD(ExternalID, SystemID);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlNewGlobalNs(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlNsPtr c_retval;
@@ -10301,6 +10880,25 @@
 }
 
 PyObject *
+libxml_xmlValidateDocumentFinal(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlValidateDocumentFinal", &pyobj_ctxt, &pyobj_doc))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlValidateDocumentFinal(ctxt, doc);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlIsLetter(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -10419,6 +11017,21 @@
 
 #endif /* LIBXML_SCHEMAS_ENABLED */
 PyObject *
+libxml_xmlParserSetLoadSubset(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlParserCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    int loadsubset;
+
+    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlParserSetLoadSubset", &pyobj_ctxt, &loadsubset))
+        return(NULL);
+    ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt);
+
+    ctxt->loadsubset = loadsubset;
+    Py_INCREF(Py_None);
+    return(Py_None);
+}
+
+PyObject *
 libxml_xmlParseURI(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlURIPtr c_retval;
@@ -10433,6 +11046,33 @@
 }
 
 PyObject *
+libxml_xmlValidateOneNamespace(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlValidCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+    xmlNodePtr elem;
+    PyObject *pyobj_elem;
+    xmlChar * prefix;
+    xmlNsPtr ns;
+    PyObject *pyobj_ns;
+    xmlChar * value;
+
+    if (!PyArg_ParseTuple(args, (char *)"OOOzOz:xmlValidateOneNamespace", &pyobj_ctxt, &pyobj_doc, &pyobj_elem, &prefix, &pyobj_ns, &value))
+        return(NULL);
+    ctxt = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_ctxt);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+    elem = (xmlNodePtr) PyxmlNode_Get(pyobj_elem);
+    ns = (xmlNsPtr) PyxmlNode_Get(pyobj_ns);
+
+    c_retval = xmlValidateOneNamespace(ctxt, doc, elem, prefix, ns, value);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlCopyProp(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlAttrPtr c_retval;
@@ -10540,7 +11180,26 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaDump(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    FILE * output;
+    PyObject *pyobj_output;
+    xmlSchemaPtr schema;
+    PyObject *pyobj_schema;
+
+    if (!PyArg_ParseTuple(args, (char *)"OO:xmlSchemaDump", &pyobj_output, &pyobj_schema))
+        return(NULL);
+    output = (FILE *) PyFile_Get(pyobj_output);
+    schema = (xmlSchemaPtr) PySchema_Get(pyobj_schema);
+
+    xmlSchemaDump(output, schema);
+    Py_INCREF(Py_None);
+    return(Py_None);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlParseFile(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlDocPtr c_retval;
@@ -10863,7 +11522,7 @@
 PyObject *
 libxml_xmlUTF8Strpos(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
-    xmlChar * c_retval;
+    const xmlChar * c_retval;
     xmlChar * utf;
     int pos;
 
@@ -10871,7 +11530,7 @@
         return(NULL);
 
     c_retval = xmlUTF8Strpos(utf, pos);
-    py_retval = libxml_xmlCharPtrWrap((xmlChar *) c_retval);
+    py_retval = libxml_xmlCharPtrConstWrap((const xmlChar *) c_retval);
     return(py_retval);
 }
 
@@ -11060,26 +11719,6 @@
 }
 
 #endif /* LIBXML_XPATH_ENABLED */
-PyObject *
-libxml_xmlReaderNewFd(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    xmlTextReaderPtr reader;
-    PyObject *pyobj_reader;
-    int fd;
-    char * URL;
-    char * encoding;
-    int options;
-
-    if (!PyArg_ParseTuple(args, (char *)"Oizzi:xmlReaderNewFd", &pyobj_reader, &fd, &URL, &encoding, &options))
-        return(NULL);
-    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
-
-    c_retval = xmlReaderNewFd(reader, fd, URL, encoding, options);
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
-}
-
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
 libxml_xmlXPathCmpNodes(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -11189,6 +11828,22 @@
 }
 
 PyObject *
+libxml_xmlTextReaderStandalone(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlTextReaderPtr reader;
+    PyObject *pyobj_reader;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlTextReaderStandalone", &pyobj_reader))
+        return(NULL);
+    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
+
+    c_retval = xmlTextReaderStandalone(reader);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsMiscellaneousSymbolsandArrows(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -11532,17 +12187,18 @@
 
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
-libxml_xmlXPathIsNodeType(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    xmlChar * name;
+libxml_xmlXPathConcatFunction(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlXPathParserContextPtr ctxt;
+    PyObject *pyobj_ctxt;
+    int nargs;
 
-    if (!PyArg_ParseTuple(args, (char *)"z:xmlXPathIsNodeType", &name))
+    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlXPathConcatFunction", &pyobj_ctxt, &nargs))
         return(NULL);
+    ctxt = (xmlXPathParserContextPtr) PyxmlXPathParserContext_Get(pyobj_ctxt);
 
-    c_retval = xmlXPathIsNodeType(name);
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
+    xmlXPathConcatFunction(ctxt, nargs);
+    Py_INCREF(Py_None);
+    return(Py_None);
 }
 
 #endif /* LIBXML_XPATH_ENABLED */
@@ -11562,24 +12218,17 @@
 }
 
 PyObject *
-libxml_xmlSaveFormatFileTo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    xmlOutputBufferPtr buf;
-    PyObject *pyobj_buf;
-    xmlDocPtr cur;
+libxml_xmlFreeValidCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlValidCtxtPtr cur;
     PyObject *pyobj_cur;
-    char * encoding;
-    int format;
 
-    if (!PyArg_ParseTuple(args, (char *)"OOzi:xmlSaveFormatFileTo", &pyobj_buf, &pyobj_cur, &encoding, &format))
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlFreeValidCtxt", &pyobj_cur))
         return(NULL);
-    buf = (xmlOutputBufferPtr) PyoutputBuffer_Get(pyobj_buf);
-    cur = (xmlDocPtr) PyxmlNode_Get(pyobj_cur);
+    cur = (xmlValidCtxtPtr) PyValidCtxt_Get(pyobj_cur);
 
-    c_retval = xmlSaveFormatFileTo(buf, cur, encoding, format);
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
+    xmlFreeValidCtxt(cur);
+    Py_INCREF(Py_None);
+    return(Py_None);
 }
 
 PyObject *
@@ -12037,20 +12686,24 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
-libxml_xmlUCSIsCherokee(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libxml_xmlSchemaNewValidCtxt(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
-    int c_retval;
-    int code;
+    xmlSchemaValidCtxtPtr c_retval;
+    xmlSchemaPtr schema;
+    PyObject *pyobj_schema;
 
-    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsCherokee", &code))
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlSchemaNewValidCtxt", &pyobj_schema))
         return(NULL);
+    schema = (xmlSchemaPtr) PySchema_Get(pyobj_schema);
 
-    c_retval = xmlUCSIsCherokee(code);
-    py_retval = libxml_intWrap((int) c_retval);
+    c_retval = xmlSchemaNewValidCtxt(schema);
+    py_retval = libxml_xmlSchemaValidCtxtPtrWrap((xmlSchemaValidCtxtPtr) c_retval);
     return(py_retval);
 }
 
+#endif /* LIBXML_SCHEMAS_ENABLED */
 PyObject *
 libxml_xmlErrorGetLevel(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;

Modified: packages/libxml2/branches/unstable/python/libxml_wrap.h
===================================================================
--- packages/libxml2/branches/unstable/python/libxml_wrap.h	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/libxml_wrap.h	2005-02-16 19:06:11 UTC (rev 352)
@@ -18,7 +18,10 @@
 #include <libxml/xmlregexp.h>
 #include <libxml/xmlautomata.h>
 #include <libxml/xmlreader.h>
+#ifdef LIBXML_SCHEMAS_ENABLED
 #include <libxml/relaxng.h>
+#include <libxml/xmlschemas.h>
+#endif
 
 /**
  * ATTRIBUTE_UNUSED:
@@ -70,6 +73,14 @@
     xmlParserCtxtPtr obj;
 } PyparserCtxt_Object;
 
+#define PyValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
+	(((PyValidCtxt_Object *)(v))->obj))
+
+typedef struct {
+	PyObject_HEAD
+	xmlValidCtxtPtr obj;
+} PyValidCtxt_Object;
+
 #define Pycatalog_Get(v) (((v) == Py_None) ? NULL : \
         (((Pycatalog_Object *)(v))->obj))
 
@@ -165,6 +176,30 @@
 #define PyrelaxNgValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
 	(((PyrelaxNgValidCtxt_Object *)(v))->obj))
 
+typedef struct {
+	PyObject_HEAD
+	xmlSchemaPtr obj;
+} PySchema_Object;
+
+#define PySchema_Get(v) (((v) == Py_None) ? NULL : \
+	(((PySchema_Object *)(v))->obj))
+
+typedef struct {
+	PyObject_HEAD
+	xmlSchemaParserCtxtPtr obj;
+} PySchemaParserCtxt_Object;
+
+#define PySchemaParserCtxt_Get(v) (((v) == Py_None) ? NULL : \
+	(((PySchemaParserCtxt_Object *)(v))->obj))
+
+typedef struct {
+	PyObject_HEAD
+	xmlSchemaValidCtxtPtr obj;
+} PySchemaValidCtxt_Object;
+
+#define PySchemaValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
+	(((PySchemaValidCtxt_Object *)(v))->obj))
+
 #endif /* LIBXML_SCHEMAS_ENABLED */
 
 PyObject * libxml_intWrap(int val);
@@ -186,6 +221,7 @@
 PyObject * libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt);
 PyObject * libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt);
 PyObject * libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj);
+PyObject * libxml_xmlValidCtxtPtrWrap(xmlValidCtxtPtr valid);
 PyObject * libxml_xmlCatalogPtrWrap(xmlCatalogPtr obj);
 PyObject * libxml_xmlURIPtrWrap(xmlURIPtr uri);
 PyObject * libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer);
@@ -201,5 +237,9 @@
 PyObject * libxml_xmlRelaxNGPtrWrap(xmlRelaxNGPtr ctxt);
 PyObject * libxml_xmlRelaxNGParserCtxtPtrWrap(xmlRelaxNGParserCtxtPtr ctxt);
 PyObject * libxml_xmlRelaxNGValidCtxtPtrWrap(xmlRelaxNGValidCtxtPtr valid);
+PyObject * libxml_xmlSchemaPtrWrap(xmlSchemaPtr ctxt);
+PyObject * libxml_xmlSchemaParserCtxtPtrWrap(xmlSchemaParserCtxtPtr ctxt);
+PyObject * libxml_xmlSchemaValidCtxtPtrWrap(xmlSchemaValidCtxtPtr valid);
 #endif /* LIBXML_SCHEMAS_ENABLED */
 PyObject * libxml_xmlErrorPtrWrap(xmlErrorPtr error);
+PyObject * libxml_xmlSchemaSetValidErrors(PyObject * self, PyObject * args);

Modified: packages/libxml2/branches/unstable/python/setup.py
===================================================================
--- packages/libxml2/branches/unstable/python/setup.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/setup.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -226,7 +226,7 @@
 setup (name = "libxml2-python",
        # On *nix, the version number is created from setup.py.in
        # On windows, it is set by configure.js
-       version = "2.6.11",
+       version = "2.6.16",
        description = descr,
        author = "Daniel Veillard",
        author_email = "veillard at redhat.com",

Modified: packages/libxml2/branches/unstable/python/tests/Makefile.am
===================================================================
--- packages/libxml2/branches/unstable/python/tests/Makefile.am	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/tests/Makefile.am	2005-02-16 19:06:11 UTC (rev 352)
@@ -32,21 +32,24 @@
     ctxterror.py\
     readererr.py\
     relaxng.py	\
+    schema.py	\
     thread2.py \
     sync.py \
     tstLastError.py \
-    indexes.py
+    indexes.py \
+    dtdvalid.py
 
 XMLS=		\
     tst.xml	\
     valid.xml	\
-    invalid.xml
+    invalid.xml	\
+    test.dtd
 
 EXTRA_DIST = $(PYTESTS) $(XMLS)
 
 if WITH_PYTHON
 tests: $(PYTESTS)
-	echo "## running Python regression tests"
+	@echo "## running Python regression tests"
 	-@(PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \
 	   export PYTHONPATH; \
 	   for test in $(PYTESTS) ; \

Modified: packages/libxml2/branches/unstable/python/tests/Makefile.in
===================================================================
--- packages/libxml2/branches/unstable/python/tests/Makefile.in	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/tests/Makefile.in	2005-02-16 19:06:11 UTC (rev 352)
@@ -69,6 +69,8 @@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
 DEBUG_OBJ = @DEBUG_OBJ@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -101,6 +103,7 @@
 LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
 LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
 LIBXML_VERSION = @LIBXML_VERSION@
+LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
 LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
 LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
 LN_S = @LN_S@
@@ -121,6 +124,7 @@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PATTERN_TEST = @PATTERN_TEST@
+PERL = @PERL@
 PYTHON = @PYTHON@
 PYTHON_INCLUDES = @PYTHON_INCLUDES@
 PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
@@ -177,6 +181,7 @@
 WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
 WITH_READER = @WITH_READER@
 WITH_REGEXPS = @WITH_REGEXPS@
+WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
 WITH_SAX1 = @WITH_SAX1@
 WITH_SCHEMAS = @WITH_SCHEMAS@
 WITH_THREADS = @WITH_THREADS@
@@ -190,6 +195,7 @@
 WITH_XPATH = @WITH_XPATH@
 WITH_XPTR = @WITH_XPTR@
 XINCLUDE_OBJ = @XINCLUDE_OBJ@
+XMLLINT = @XMLLINT@
 XML_CFLAGS = @XML_CFLAGS@
 XML_INCLUDEDIR = @XML_INCLUDEDIR@
 XML_LIBDIR = @XML_LIBDIR@
@@ -197,6 +203,7 @@
 XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
 XPATH_OBJ = @XPATH_OBJ@
 XPTR_OBJ = @XPTR_OBJ@
+XSLTPROC = @XSLTPROC@
 Z_CFLAGS = @Z_CFLAGS@
 Z_LIBS = @Z_LIBS@
 ac_ct_AR = @ac_ct_AR@
@@ -277,15 +284,18 @@
     ctxterror.py\
     readererr.py\
     relaxng.py	\
+    schema.py	\
     thread2.py \
     sync.py \
     tstLastError.py \
-    indexes.py
+    indexes.py \
+    dtdvalid.py
 
 XMLS = \
     tst.xml	\
     valid.xml	\
-    invalid.xml
+    invalid.xml	\
+    test.dtd
 
 EXTRA_DIST = $(PYTESTS) $(XMLS)
 all: all-am
@@ -448,7 +458,7 @@
 
 
 @WITH_PYTHON_TRUE at tests: $(PYTESTS)
- at WITH_PYTHON_TRUE@	echo "## running Python regression tests"
+ at WITH_PYTHON_TRUE@	@echo "## running Python regression tests"
 @WITH_PYTHON_TRUE@	-@(PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \
 @WITH_PYTHON_TRUE@	   export PYTHONPATH; \
 @WITH_PYTHON_TRUE@	   for test in $(PYTESTS) ; \

Copied: packages/libxml2/branches/unstable/python/tests/dtdvalid.py (from rev 351, packages/libxml2/tags/2.6.16-2/python/tests/dtdvalid.py)


Property changes on: packages/libxml2/branches/unstable/python/tests/dtdvalid.py
___________________________________________________________________
Name: svn:executable
   + *

Modified: packages/libxml2/branches/unstable/python/tests/outbuf.py
===================================================================
--- packages/libxml2/branches/unstable/python/tests/outbuf.py	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/tests/outbuf.py	2005-02-16 19:06:11 UTC (rev 352)
@@ -3,31 +3,103 @@
 import libxml2
 import StringIO
 
-#print "Skipped"
-#sys.exit(1)
+def testSimpleBufferWrites():
+    f = StringIO.StringIO()
+    buf = libxml2.createOutputBuffer(f, "ISO-8859-1")
+    buf.write(3, "foo")
+    buf.writeString("bar")
+    buf.close()
+    
+    if f.getvalue() != "foobar":
+        print "Failed to save to StringIO"
+        sys.exit(1)
 
-# Memory debug specific
-libxml2.debugMemory(1)
+def testSaveDocToBuffer():
+    """
+    Regression test for bug #154294.
+    """
+    input = '<foo>Hello</foo>'
+    expected = '''\
+<?xml version="1.0" encoding="UTF-8"?>
+<foo>Hello</foo>
+'''
+    f = StringIO.StringIO()
+    buf = libxml2.createOutputBuffer(f, 'UTF-8')
+    doc = libxml2.parseDoc(input)
+    doc.saveFileTo(buf, 'UTF-8')
+    doc.freeDoc()
+    if f.getvalue() != expected:
+        print 'xmlDoc.saveFileTo() call failed.'
+        print '     got: %s' % repr(f.getvalue())
+        print 'expected: %s' % repr(expected)
+        sys.exit(1)
 
-#f = open('res', 'w')
-f = StringIO.StringIO()
-buf = libxml2.createOutputBuffer(f, "ISO-8859-1")
-buf.write(3, "foo")
-buf.writeString("bar")
-buf.close()
+def testSaveFormattedDocToBuffer():
+    input = '<outer><inner>Some text</inner><inner/></outer>'
+    # The formatted and non-formatted versions of the output.
+    expected = ('''\
+<?xml version="1.0" encoding="UTF-8"?>
+<outer><inner>Some text</inner><inner/></outer>
+''', '''\
+<?xml version="1.0" encoding="UTF-8"?>
+<outer>
+  <inner>Some text</inner>
+  <inner/>
+</outer>
+''')
+    doc = libxml2.parseDoc(input)
+    for i in (0, 1):
+        f = StringIO.StringIO()
+        buf = libxml2.createOutputBuffer(f, 'UTF-8')
+        doc.saveFormatFileTo(buf, 'UTF-8', i)
+        if f.getvalue() != expected[i]:
+            print 'xmlDoc.saveFormatFileTo() call failed.'
+            print '     got: %s' % repr(f.getvalue())
+            print 'expected: %s' % repr(expected[i])
+            sys.exit(1)
+    doc.freeDoc()
 
-if f.getvalue() != "foobar":
-    print "Failed to save to StringIO"
-    sys.exit(1)
+def testSaveIntoOutputBuffer():
+    """
+    Similar to the previous two tests, except this time we invoke the save
+    methods on the output buffer object and pass in an XML node object.
+    """
+    input = '<foo>Hello</foo>'
+    expected = '''\
+<?xml version="1.0" encoding="UTF-8"?>
+<foo>Hello</foo>
+'''
+    f = StringIO.StringIO()
+    doc = libxml2.parseDoc(input)
+    buf = libxml2.createOutputBuffer(f, 'UTF-8')
+    buf.saveFileTo(doc, 'UTF-8')
+    if f.getvalue() != expected:
+        print 'outputBuffer.saveFileTo() call failed.'
+        print '     got: %s' % repr(f.getvalue())
+        print 'expected: %s' % repr(expected)
+        sys.exit(1)
+    f = StringIO.StringIO()
+    buf = libxml2.createOutputBuffer(f, 'UTF-8')
+    buf.saveFormatFileTo(doc, 'UTF-8', 1)
+    if f.getvalue() != expected:
+        print 'outputBuffer.saveFormatFileTo() call failed.'
+        print '     got: %s' % repr(f.getvalue())
+        print 'expected: %s' % repr(expected)
+        sys.exit(1)
+    doc.freeDoc()
 
-del buf
-del f
+if __name__ == '__main__':
+    # Memory debug specific
+    libxml2.debugMemory(1)
 
-# Memory debug specific
-libxml2.cleanupParser()
-if libxml2.debugMemory(1) == 0:
-    print "OK"
-else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
-    libxml2.dumpMemory()
+    testSimpleBufferWrites()
+    testSaveDocToBuffer()
+    testSaveFormattedDocToBuffer()
+    testSaveIntoOutputBuffer()
 
+    libxml2.cleanupParser()
+    if libxml2.debugMemory(1) == 0:
+        print "OK"
+    else:
+        print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+        libxml2.dumpMemory()

Copied: packages/libxml2/branches/unstable/python/tests/schema.py (from rev 351, packages/libxml2/tags/2.6.16-2/python/tests/schema.py)


Property changes on: packages/libxml2/branches/unstable/python/tests/schema.py
___________________________________________________________________
Name: svn:executable
   + *

Copied: packages/libxml2/branches/unstable/python/tests/test.dtd (from rev 351, packages/libxml2/tags/2.6.16-2/python/tests/test.dtd)

Modified: packages/libxml2/branches/unstable/python/types.c
===================================================================
--- packages/libxml2/branches/unstable/python/types.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/python/types.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -478,6 +478,26 @@
 }
 
 PyObject *
+libxml_xmlValidCtxtPtrWrap(xmlValidCtxtPtr valid)
+{
+	PyObject *ret;
+	
+#ifdef DEBUG
+	printf("libxml_xmlValidCtxtPtrWrap: valid = %p\n", valid);
+#endif
+	if (valid == NULL) {
+		Py_INCREF(Py_None);
+		return (Py_None);
+	}
+
+	ret = 
+		PyCObject_FromVoidPtrAndDesc((void *) valid,
+									 (char *) "xmlValidCtxtPtr", NULL);
+
+	return (ret);
+}
+
+PyObject *
 libxml_xmlCatalogPtrWrap(xmlCatalogPtr catal)
 {
     PyObject *ret;
@@ -640,6 +660,63 @@
                                      (char *) "xmlRelaxNGValidCtxtPtr", NULL);
     return (ret);
 }
+
+PyObject *
+libxml_xmlSchemaPtrWrap(xmlSchemaPtr ctxt)
+{
+	PyObject *ret;
+
+#ifdef DEBUG
+	printf("libxml_xmlSchemaPtrWrap: ctxt = %p\n", ctxt);
+#endif
+	if (ctxt == NULL) {
+		Py_INCREF(Py_None);
+		return (Py_None);
+	}
+	ret =
+		PyCObject_FromVoidPtrAndDesc((void *) ctxt,
+									 (char *) "xmlSchemaPtr", NULL);
+	return (ret);
+}
+
+PyObject *
+libxml_xmlSchemaParserCtxtPtrWrap(xmlSchemaParserCtxtPtr ctxt)
+{
+	PyObject *ret;
+
+#ifdef DEBUG
+	printf("libxml_xmlSchemaParserCtxtPtrWrap: ctxt = %p\n", ctxt);
+#endif
+	if (ctxt == NULL) {
+		Py_INCREF(Py_None);
+		return (Py_None);
+	}
+	ret = 
+		PyCObject_FromVoidPtrAndDesc((void *) ctxt,
+									 (char *) "xmlSchemaParserCtxtPtr", NULL);
+
+	return (ret);
+}
+
+PyObject *
+libxml_xmlSchemaValidCtxtPtrWrap(xmlSchemaValidCtxtPtr valid)
+{
+	PyObject *ret;
+	
+#ifdef DEBUG
+	printf("libxml_xmlSchemaValidCtxtPtrWrap: valid = %p\n", valid);
+#endif
+	if (valid == NULL) {
+		Py_INCREF(Py_None);
+		return (Py_None);
+	}
+
+	ret = 
+		PyCObject_FromVoidPtrAndDesc((void *) valid,
+									 (char *) "xmlSchemaValidCtxtPtr", NULL);
+
+	return (ret);
+}
 #endif /* LIBXML_SCHEMAS_ENABLED */
 
 PyObject *

Modified: packages/libxml2/branches/unstable/relaxng.c
===================================================================
--- packages/libxml2/branches/unstable/relaxng.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/relaxng.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -248,6 +248,7 @@
     xmlAutomataStatePtr state;  /* used to build the automata */
 
     int crng;			/* compact syntax and other flags */
+    int freedoc;		/* need to free the document */
 };
 
 #define FLAGS_IGNORABLE		1
@@ -2781,7 +2782,7 @@
  *
  * Returns 0 in case of success and -1 in case of error.
  */
-static int
+int
 xmlRelaxNGInitTypes(void)
 {
     if (xmlRelaxNGTypeInitialized != 0)
@@ -3964,14 +3965,17 @@
                     return (NULL);
                 }
             } else if (max <= len) {
+	        xmlRelaxNGDefinePtr *temp;
+
                 max *= 2;
-                ret =
-                    xmlRealloc(ret,
+                temp = xmlRealloc(ret,
                                (max + 1) * sizeof(xmlRelaxNGDefinePtr));
-                if (ret == NULL) {
+                if (temp == NULL) {
                     xmlRngPErrMemory(ctxt, "getting element list\n");
+		    xmlFree(ret);
                     return (NULL);
                 }
+		ret = temp;
             }
             ret[len++] = cur;
             ret[len] = NULL;
@@ -6654,6 +6658,7 @@
     }
     memset(ret, 0, sizeof(xmlRelaxNGParserCtxt));
     ret->document = copy;
+    ret->freedoc = 1;
     ret->userData = xmlGenericErrorContext;
     return (ret);
 }
@@ -6690,6 +6695,8 @@
             xmlRelaxNGFreeDefine(ctxt->defTab[i]);
         xmlFree(ctxt->defTab);
     }
+    if ((ctxt->document != NULL) && (ctxt->freedoc))
+        xmlFreeDoc(ctxt->document);
     xmlFree(ctxt);
 }
 
@@ -6746,7 +6753,7 @@
 }
 
 /**
- * xmlRelaxNGCheckAttributes:
+ * xmlRelaxNGCleanupAttributes:
  * @ctxt:  a Relax-NG parser context
  * @node:  a Relax-NG node
  *
@@ -7021,7 +7028,8 @@
                         } else {
                             xmlNodePtr node;
 
-                            node = xmlNewNode(cur->ns, BAD_CAST "name");
+                            node = xmlNewDocNode(cur->doc, cur->ns,
+			                         BAD_CAST "name", NULL);
                             if (node != NULL) {
                                 xmlAddPrevSibling(cur->children, node);
                                 text = xmlNewText(name);
@@ -7667,6 +7675,8 @@
 void
 xmlRelaxNGDump(FILE * output, xmlRelaxNGPtr schema)
 {
+    if (output == NULL)
+        return;
     if (schema == NULL) {
         fprintf(output, "RelaxNG empty or failed to compile\n");
         return;
@@ -7696,6 +7706,8 @@
 void
 xmlRelaxNGDumpTree(FILE * output, xmlRelaxNGPtr schema)
 {
+    if (output == NULL)
+        return;
     if (schema == NULL) {
         fprintf(output, "RelaxNG empty or failed to compile\n");
         return;

Copied: packages/libxml2/branches/unstable/result/HTML/python.html (from rev 351, packages/libxml2/tags/2.6.16-2/result/HTML/python.html)

Copied: packages/libxml2/branches/unstable/result/HTML/python.html.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/HTML/python.html.err)

Copied: packages/libxml2/branches/unstable/result/HTML/python.html.sax (from rev 351, packages/libxml2/tags/2.6.16-2/result/HTML/python.html.sax)

Copied: packages/libxml2/branches/unstable/result/VC/AttributeNmtokens (from rev 351, packages/libxml2/tags/2.6.16-2/result/VC/AttributeNmtokens)

Copied: packages/libxml2/branches/unstable/result/catalogs/whites (from rev 351, packages/libxml2/tags/2.6.16-2/result/catalogs/whites)

Copied: packages/libxml2/branches/unstable/result/catalogs/whitex (from rev 351, packages/libxml2/tags/2.6.16-2/result/catalogs/whitex)

Copied: packages/libxml2/branches/unstable/result/ent10 (from rev 351, packages/libxml2/tags/2.6.16-2/result/ent10)

Copied: packages/libxml2/branches/unstable/result/ent10.rde (from rev 351, packages/libxml2/tags/2.6.16-2/result/ent10.rde)

Copied: packages/libxml2/branches/unstable/result/ent10.rdr (from rev 351, packages/libxml2/tags/2.6.16-2/result/ent10.rdr)

Copied: packages/libxml2/branches/unstable/result/ent10.sax (from rev 351, packages/libxml2/tags/2.6.16-2/result/ent10.sax)

Copied: packages/libxml2/branches/unstable/result/noent/ent10 (from rev 351, packages/libxml2/tags/2.6.16-2/result/noent/ent10)

Copied: packages/libxml2/branches/unstable/result/noent/ns5 (from rev 351, packages/libxml2/tags/2.6.16-2/result/noent/ns5)

Copied: packages/libxml2/branches/unstable/result/ns5 (from rev 351, packages/libxml2/tags/2.6.16-2/result/ns5)

Copied: packages/libxml2/branches/unstable/result/ns5.rde (from rev 351, packages/libxml2/tags/2.6.16-2/result/ns5.rde)

Copied: packages/libxml2/branches/unstable/result/ns5.rdr (from rev 351, packages/libxml2/tags/2.6.16-2/result/ns5.rdr)

Copied: packages/libxml2/branches/unstable/result/ns5.sax (from rev 351, packages/libxml2/tags/2.6.16-2/result/ns5.sax)

Modified: packages/libxml2/branches/unstable/result/schemas/all_0_3.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_0_3.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_0_3.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_3.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_3.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_0_4.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_0_4.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_0_4.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_4.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_4.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_0_5.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_0_5.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_0_5.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_5.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_5.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_0_6.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_0_6.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_0_6.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_6.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_6.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_0_7.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_0_7.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_0_7.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_7.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_7.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_1_5.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_1_5.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_1_5.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_5.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_5.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_2_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_2_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_2_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_0.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_0.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_2_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_2_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_2_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_1.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_1.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_2_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_2_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_2_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_2.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_2.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_2_4.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_2_4.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_2_4.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_4.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_4.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/all_2_5.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/all_2_5.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/all_2_5.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/all_5.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/all_5.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Copied: packages/libxml2/branches/unstable/result/schemas/annot-err_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/annot-err_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/annot-err_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/annot-err_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/any1_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any1_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/any1_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any1_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/any2_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any2_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/any2_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any2_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/any3_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any3_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/any3_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any3_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/any4_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any4_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/any4_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/any4_0_0.err)

Modified: packages/libxml2/branches/unstable/result/schemas/anyAttr-processContents-err1_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/anyAttr-processContents-err1_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/anyAttr-processContents-err1_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,3 +1,2 @@
-./test/schemas/anyAttr-processContents-err1_0.xml:11: element elem.lax: Schemas validity error : The value is not valid.
-./test/schemas/anyAttr-processContents-err1_0.xml:11: element elem.lax: Schemas validity error : Attribute "bar": the value is not valid.
-./test/schemas/anyAttr-processContents-err1_0.xml:12: element elem.strict: Schemas validity error : Attribute "barB" is not allowed.
+./test/schemas/anyAttr-processContents-err1_0.xml:11: element elem.lax: Schemas validity error : Element 'elem.lax', attribute 'foo:bar' ['language']: The value 'o o' is not valid.
+./test/schemas/anyAttr-processContents-err1_0.xml:12: element elem.strict: Schemas validity error : Element 'elem.strict': The attribute 'foo:barB' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/attruse_0_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/attruse_0_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/attruse_0_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : Attribute "attr" is required but missing.
+./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : Element 'barA': The attribute {'attr'} is required but missing.

Modified: packages/libxml2/branches/unstable/result/schemas/attruse_0_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/attruse_0_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/attruse_0_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : Attribute "attr" is not allowed.
+./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : Element 'barC': The attribute 'attr' is not allowed.

Copied: packages/libxml2/branches/unstable/result/schemas/bug141333_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/bug141333_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/bug141333_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/bug141333_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/bug145246_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/bug145246_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/bug145246_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/bug145246_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/bug152470_1_1 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/bug152470_1_1)

Copied: packages/libxml2/branches/unstable/result/schemas/bug152470_1_1.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/bug152470_1_1.err)

Modified: packages/libxml2/branches/unstable/result/schemas/choice_0_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_0_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_0_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_2.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_2.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_0_3.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_0_3.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_0_3.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_3.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_3.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_0_4.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_0_4.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_0_4.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_4.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_4.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_0_5.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_0_5.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_0_5.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_5.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_5.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_0_6.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_0_6.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_0_6.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_6.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_6.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_1_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_1_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_1_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_2.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_2.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_1_3.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_1_3.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_1_3.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_3.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_3.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_1_5.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_1_5.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_1_5.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_5.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_5.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_1_6.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_1_6.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_1_6.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_6.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_6.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_2_4.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_2_4.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_2_4.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_4.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_4.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/choice_2_6.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/choice_2_6.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/choice_2_6.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/choice_6.xml:1: element doc: Schemas validity error : Element doc content check failed
+./test/schemas/choice_6.xml:1: element doc: Schemas validity error : Element 'doc' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/cos-st-restricts-1-2-err_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/cos-st-restricts-1-2-err_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/cos-st-restricts-1-2-err_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/cos-st-restricts-1-2-err_0.xml:3: element foo: Schemas validity error : The value with length "2" is not facet-valid with respect to length = "3".
+./test/schemas/cos-st-restricts-1-2-err_0.xml:3: element foo: Schemas validity error : Element 'foo' [ST 'type.A', facet 'length']: The value has a length of '2'; this differs from the allowed length of '3'.

Copied: packages/libxml2/branches/unstable/result/schemas/ct-sc-nobase_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/ct-sc-nobase_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/ct-sc-nobase_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/ct-sc-nobase_0_0.err)

Modified: packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension-err_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension-err_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension-err_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/derivation-ok-extension-err_0.xsd:17: element attribute: Schemas parser error : ct-props-correct.4: Duplicate attribute use with the name "barA_1" specified
+./test/schemas/derivation-ok-extension-err_0.xsd:6: element complexType: Schemas parser error : CT local, attr. use {'barA_1'}: Duplicate attribute use specified.

Modified: packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/derivation-ok-extension_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/derivation-ok-extension_0.xsd:17: element attribute: Schemas parser error : ct-props-correct.4: Duplicate attribute use with the name "barA_1" specified
+./test/schemas/derivation-ok-extension_0.xsd:6: element complexType: Schemas parser error : CT local, attr. use {'barA_1'}: Duplicate attribute use specified.

Modified: packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-2-1-1_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-2-1-1_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-2-1-1_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,6 +1,6 @@
-./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:16: element attribute: Schemas parser error : derivation-ok-restriction.2.1.1: The "optional" attribute use "barB_1" is inconsistent with a matching "required" attribute use of the base type
-./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:20: element attribute: Schemas parser error : derivation-ok-restriction.3: The "required" attribute use "barB_3" of the base type does not have a matching attribute use in the derived type
-./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:23: element attribute: Schemas parser error : derivation-ok-restriction.2.2: The attribute use "barC_1" has neither a matching attribute use, nor a matching wildcard in the base type
-./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:25: element attribute: Schemas parser error : derivation-ok-restriction.2.2: The attribute use "barC_2" has neither a matching attribute use, nor a matching wildcard in the base type
-./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:30: element attribute: Schemas parser error : derivation-ok-restriction.2.2: The attribute use "barD_1" has neither a matching attribute use, nor a matching wildcard in the base type
-./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:32: element attribute: Schemas parser error : derivation-ok-restriction.2.2: The attribute use "barD_2" has neither a matching attribute use, nor a matching wildcard in the base type
+./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : CT local, attr. use {'barB_1'}: The 'optional' use is inconsistent with a matching 'required' use of the base type.
+./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : CT local: A matching attribute use for the 'required' attribute use {'barB_3'} of the base type is missing.
+./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : CT local, attr. use {'barC_1'}: Neither a matching attribute use, nor a matching wildcard in the base type does exist.
+./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : CT local, attr. use {'barC_2'}: Neither a matching attribute use, nor a matching wildcard in the base type does exist.
+./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : CT local, attr. use {'barD_1'}: Neither a matching attribute use, nor a matching wildcard in the base type does exist.
+./test/schemas/derivation-ok-restriction-2-1-1_0.xsd:6: element complexType: Schemas parser error : CT local, attr. use {'barD_2'}: Neither a matching attribute use, nor a matching wildcard in the base type does exist.

Modified: packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-4-1-err_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-4-1-err_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/derivation-ok-restriction-4-1-err_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,3 +1,3 @@
-./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:33: element complexType: Schemas parser error : The derived type "type.A" has an attribute wildcard, but the base type "base.type.A" does not have one.
-./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:45: element complexType: Schemas parser error : The wildcard in the derived type "type.B" is not a valid subset of the one in the base type "base.type.B".
-./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:57: element complexType: Schemas parser error : The process contents of the wildcard in the derived type "type.C" is weaker than that in the base type "base.type.C".
+./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:33: element complexType: Schemas parser error : CT 'type.A': The type has an attribute wildcard, but the base type CT 'base.type.A' does not have one.
+./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:45: element complexType: Schemas parser error : CT 'type.B': The attribute wildcard is not a valid subset of the wildcard in the base type CT 'base.type.B'.
+./test/schemas/derivation-ok-restriction-4-1-err_0.xsd:57: element complexType: Schemas parser error : CT 'type.C': The 'process contents' of the attribute wildcard is weaker than the one in the base type CT 'base.type.C'.

Modified: packages/libxml2/branches/unstable/result/schemas/deter0_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/deter0_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/deter0_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/deter0_0.xsd:5: element element: Schemas parser error : Content model of book is not determinist:
+./test/schemas/deter0_0.xsd:6: element complexType: Schemas parser error : CT local: The content model is not determinist.

Copied: packages/libxml2/branches/unstable/result/schemas/element-err_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/element-err_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/element-err_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/element-err_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/element-minmax-err_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/element-minmax-err_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/element-minmax-err_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/element-minmax-err_0_0.err)

Modified: packages/libxml2/branches/unstable/result/schemas/extension1_0_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/extension1_0_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/extension1_0_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/extension1_1.xml:1: element title: Schemas validity error : Attribute "langue" is not allowed.
+./test/schemas/extension1_1.xml:1: element title: Schemas validity error : Element 'title': The attribute 'langue' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/extension1_0_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/extension1_0_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/extension1_0_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/extension1_2.xml:1: element title: Schemas validity error : Element children are not allowed, because the content type is a simple type.
+./test/schemas/extension1_2.xml:1: element title: Schemas validity error : Element 'title' [CT local]: Element content is not allowed, because the content type is a simple type.

Modified: packages/libxml2/branches/unstable/result/schemas/facet-unionST-err1_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/facet-unionST-err1_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/facet-unionST-err1_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,2 +1 @@
-./test/schemas/facet-unionST-err1_0.xml:3: element foo: Schemas validity error : The value failed to validate against the facet "enumeration".
-./test/schemas/facet-unionST-err1_0.xml:3: element foo: Schemas validity error : The value is not valid.
+./test/schemas/facet-unionST-err1_0.xml:3: element foo: Schemas validity error : Element 'foo' [ST 'fooType.B']: The character content is not valid.

Copied: packages/libxml2/branches/unstable/result/schemas/facet-whiteSpace_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/facet-whiteSpace_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/facet-whiteSpace_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/facet-whiteSpace_0_0.err)

Modified: packages/libxml2/branches/unstable/result/schemas/hexbinary_0_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/hexbinary_0_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/hexbinary_0_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,12 +1,7 @@
-./test/schemas/hexbinary_1.xml:4: element hex: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:5: element hex: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:6: element hex: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:7: element hex: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:8: element hex: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:9: element hex: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : The value failed to validate against the facet "maxLength".
-./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : The value failed to validate against the facet "length".
-./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : The value is not valid.
-./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : The value failed to validate against the facet "length".
-./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:6: element hex: Schemas validity error : Element 'hex' ['hexBinary']: The character content is not valid.
+./test/schemas/hexbinary_1.xml:7: element hex: Schemas validity error : Element 'hex' ['hexBinary']: The character content is not valid.
+./test/schemas/hexbinary_1.xml:8: element hex: Schemas validity error : Element 'hex' ['hexBinary']: The character content is not valid.
+./test/schemas/hexbinary_1.xml:9: element hex: Schemas validity error : Element 'hex' ['hexBinary']: The character content is not valid.
+./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : Element 'hex2' [ST local, facet 'maxLength']: The value has a length of '9'; this exceeds the allowed maximum length of '8'.
+./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : Element 'hex3' [ST local, facet 'length']: The value has a length of '1'; this differs from the allowed length of '2'.
+./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : Element 'hex3' [ST local, facet 'length']: The value has a length of '3'; this differs from the allowed length of '2'.

Copied: packages/libxml2/branches/unstable/result/schemas/import1_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/import1_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/import1_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/import1_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/import2_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/import2_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/import2_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/import2_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/include1_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/include1_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/include1_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/include1_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/include2_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/include2_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/include2_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/include2_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/include3_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/include3_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/include3_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/include3_0_0.err)

Modified: packages/libxml2/branches/unstable/result/schemas/length3_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/length3_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/length3_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/length3_0.xsd:5: element element: Schemas parser error : Element "size": the QName "non-positive-integer" of the attribute "type" does not resolve to a schema component.
+./test/schemas/length3_0.xsd:5: element element: Schemas parser error : Element decl. 'size', attribute 'type': The QName value {'http://www.w3.org/2001/XMLSchema', 'non-positive-integer'} does not resolve to a(n) type definition.

Modified: packages/libxml2/branches/unstable/result/schemas/list0_0_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/list0_0_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/list0_0_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/list0_1.xml:1: element test: Schemas validity error : Element test content check failed
+./test/schemas/list0_1.xml:1: element test: Schemas validity error : Element 'test' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/list0_1_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/list0_1_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/list0_1_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/list0_0.xml:1: element test: Schemas validity error : Element test content check failed
+./test/schemas/list0_0.xml:1: element test: Schemas validity error : Element 'test' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/list0_1_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/list0_1_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/list0_1_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/list0_1.xml:1: element test: Schemas validity error : Element test content check failed
+./test/schemas/list0_1.xml:1: element test: Schemas validity error : Element 'test' [CT local]: The element content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/ns0_0_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/ns0_0_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/ns0_0_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,2 +1 @@
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element foo not declared
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element foo not declared
+./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': No matching global declaration available.

Modified: packages/libxml2/branches/unstable/result/schemas/ns0_0_3.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/ns0_0_3.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/ns0_0_3.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/ns0_3.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.
+./test/schemas/ns0_3.xml:1: element foo: Schemas validity error : Element 'n:foo': The attribute 'n:id' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/ns0_0_4.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/ns0_0_4.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/ns0_0_4.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/ns0_4.xml:2: element foo: Schemas validity error : Attribute "id" is not allowed.
+./test/schemas/ns0_4.xml:2: element foo: Schemas validity error : Element 'l:foo': The attribute 'b:id' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/ns0_1_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/ns0_1_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/ns0_1_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/ns0_0.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.
+./test/schemas/ns0_0.xml:1: element foo: Schemas validity error : Element 'foo': The attribute 'id' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/ns0_1_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/ns0_1_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/ns0_1_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/ns0_1.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.
+./test/schemas/ns0_1.xml:1: element foo: Schemas validity error : Element 'n:foo': The attribute 'id' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/ns0_1_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/ns0_1_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/ns0_1_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,2 +1 @@
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element foo not declared
-./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element foo not declared
+./test/schemas/ns0_2.xml:1: element foo: Schemas validity error : Element 'foo': No matching global declaration available.

Copied: packages/libxml2/branches/unstable/result/schemas/restrict-CT-attr-ref_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/restrict-CT-attr-ref_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/restrict-CT-attr-ref_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/restrict-CT-attr-ref_0_0.err)

Copied: packages/libxml2/branches/unstable/result/schemas/restriction-attr1_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/restriction-attr1_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/restriction-attr1_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/restriction-attr1_0_0.err)

Modified: packages/libxml2/branches/unstable/result/schemas/scc-no-xmlns_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/scc-no-xmlns_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/scc-no-xmlns_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/scc-no-xmlns_0.xsd:7: element attribute: Schemas parser error : The name of an attribute declaration must not match "xmlns".
+./test/schemas/scc-no-xmlns_0.xsd:7: element attribute: Schemas parser error : Element 'attribute', attribute 'name' ['NCName']: The value must not match 'xmlns'.

Modified: packages/libxml2/branches/unstable/result/schemas/scc-no-xsi_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/scc-no-xsi_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/scc-no-xsi_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/scc-no-xsi_0.xsd:7: element attribute: Schemas parser error : The target namespace of an attribute declaration, must not match "http://www.w3.org/2001/XMLSchema-instance"
+./test/schemas/scc-no-xsi_0.xsd:7: element attribute: Schemas parser error : Attribute decl. 'bar': The target namespace must not match 'http://www.w3.org/2001/XMLSchema-instance'.

Copied: packages/libxml2/branches/unstable/result/schemas/seq-dubl-elem1_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/seq-dubl-elem1_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/seq-dubl-elem1_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/seq-dubl-elem1_0_0.err)

Modified: packages/libxml2/branches/unstable/result/schemas/src-attribute1_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-attribute1_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-attribute1_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-attribute1_0.xsd:9: element attribute: Schemas parser error : Attribute declaration has both, "default" and "fixed"
+./test/schemas/src-attribute1_0.xsd:9: element attribute: Schemas parser error : Attribute decl. 'bar': The attributes 'default' and 'fixed' are mutually exclusive.

Modified: packages/libxml2/branches/unstable/result/schemas/src-attribute2_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-attribute2_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-attribute2_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-attribute2_0.xsd:9: element attribute: Schemas parser error : Attribute declaration has "default" but "use" is not "optional"
+./test/schemas/src-attribute2_0.xsd:9: element attribute: Schemas parser error : Attribute decl. 'bar', attribute 'use' [(optional | prohibited | required)]: The value must be 'optional' if the attribute 'default' is present as well.

Modified: packages/libxml2/branches/unstable/result/schemas/src-attribute3-1_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-attribute3-1_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-attribute3-1_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-attribute3-1_0.xsd:9: element attribute: Schemas parser error : Attribute declaration "bar" has both, "name" and "ref"
+./test/schemas/src-attribute3-1_0.xsd:9: element attribute: Schemas parser error : Attribute ref. 'foo:bar': The attributes 'ref' and 'name' are mutually exclusive.

Modified: packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-form_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-form_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-form_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-attribute3-2-form_0.xsd:10: element attribute: Schemas parser error : Attribute declaration anonattr 2 has "ref", thus "form" must be absent
+./test/schemas/src-attribute3-2-form_0.xsd:10: element attribute: Schemas parser error : Attribute ref. 'foo:bar': The attribute 'form' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-st_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-st_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-st_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-attribute3-2-st_0.xsd:11: element simpleType: Schemas parser error : Attribute declaration anonattr 2 has both ("ref" or "type") and <simpleType>
+./test/schemas/src-attribute3-2-st_0.xsd:11: element simpleType: Schemas parser error : Attribute ref. 'foo:bar': The content is not valid. Expected is (annotation?).

Modified: packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-type_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-type_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-attribute3-2-type_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-attribute3-2-type_0.xsd:10: element attribute: Schemas parser error : Attribute declaration anonattr 2 has "ref", thus "type" must be absent
+./test/schemas/src-attribute3-2-type_0.xsd:10: element attribute: Schemas parser error : Attribute ref. 'foo:bar': The attribute 'type' is not allowed.

Modified: packages/libxml2/branches/unstable/result/schemas/src-attribute4_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-attribute4_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-attribute4_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-attribute4_0.xsd:8: element simpleType: Schemas parser error : Attribute declaration bar has both ("ref" or "type") and <simpleType>
+./test/schemas/src-attribute4_0.xsd:8: element simpleType: Schemas parser error : Attribute decl. 'bar': The attribute 'type' and the <simpleType> child are mutually exclusive.

Modified: packages/libxml2/branches/unstable/result/schemas/src-element1_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-element1_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-element1_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-element1_0.xsd:7: element element: Schemas parser error : Element foo has both default and fixed
+./test/schemas/src-element1_0.xsd:7: element element: Schemas parser error : Element decl. 'foo': The attributes 'default' and 'fixed' are mutually exclusive.

Modified: packages/libxml2/branches/unstable/result/schemas/src-element2-1_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-element2-1_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-element2-1_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/src-element2-1_0.xsd:12: element element: Schemas parser error : Element declaration has both, "name" and "ref"
+./test/schemas/src-element2-1_0.xsd:12: element element: Schemas parser error : Element ref. 'foo:bar': The attributes 'ref' and 'name' are mutually exclusive.

Modified: packages/libxml2/branches/unstable/result/schemas/src-element2-2_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-element2-2_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-element2-2_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,8 +1,9 @@
-./test/schemas/src-element2-2_0.xsd:23: element complexType: Schemas parser error : Element declaration anonelem 6: only annotation is allowed as content in addition to ref
-./test/schemas/src-element2-2_0.xsd:29: element simpleType: Schemas parser error : Element declaration anonelem 7: only annotation is allowed as content in addition to ref
-./test/schemas/src-element2-2_0.xsd:36: element element: Schemas parser error : Element declaration anonelem 8: only minOccurs, maxOccurs and id are allowed in addition to ref
-./test/schemas/src-element2-2_0.xsd:37: element element: Schemas parser error : Element declaration anonelem 9: only minOccurs, maxOccurs and id are allowed in addition to ref
-./test/schemas/src-element2-2_0.xsd:38: element element: Schemas parser error : Element declaration anonelem 10: only minOccurs, maxOccurs and id are allowed in addition to ref
-./test/schemas/src-element2-2_0.xsd:39: element element: Schemas parser error : Element declaration anonelem 11: only minOccurs, maxOccurs and id are allowed in addition to ref
-./test/schemas/src-element2-2_0.xsd:40: element element: Schemas parser error : Element declaration anonelem 12: only minOccurs, maxOccurs and id are allowed in addition to ref
-./test/schemas/src-element2-2_0.xsd:41: element element: Schemas parser error : Element declaration anonelem 13: only minOccurs, maxOccurs and id are allowed in addition to ref
+./test/schemas/src-element2-2_0.xsd:18: element element: Schemas parser error : Element ref. 'foo:bar', attribute 'maxOccurs': The value must be greater than or equal to 1.
+./test/schemas/src-element2-2_0.xsd:23: element complexType: Schemas parser error : Element ref. 'foo:bar': The content is not valid. Expected is (annotation?).
+./test/schemas/src-element2-2_0.xsd:29: element simpleType: Schemas parser error : Element ref. 'foo:bar': The content is not valid. Expected is (annotation?).
+./test/schemas/src-element2-2_0.xsd:36: element element: Schemas parser error : Element ref. 'foo:bar', attribute 'type': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'.
+./test/schemas/src-element2-2_0.xsd:37: element element: Schemas parser error : Element ref. 'foo:bar', attribute 'nillable': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'.
+./test/schemas/src-element2-2_0.xsd:38: element element: Schemas parser error : Element ref. 'foo:bar', attribute 'default': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'.
+./test/schemas/src-element2-2_0.xsd:39: element element: Schemas parser error : Element ref. 'foo:bar', attribute 'fixed': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'.
+./test/schemas/src-element2-2_0.xsd:40: element element: Schemas parser error : Element ref. 'foo:bar', attribute 'form': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'.
+./test/schemas/src-element2-2_0.xsd:41: element element: Schemas parser error : Element ref. 'foo:bar', attribute 'block': Only the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'.

Modified: packages/libxml2/branches/unstable/result/schemas/src-element3_0_0.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/src-element3_0_0.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/src-element3_0_0.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,2 +1,2 @@
-./test/schemas/src-element3_0.xsd:8: element complexType: Schemas parser error : Element declaration foo has both "type" and a local complex type
-./test/schemas/src-element3_0.xsd:16: element simpleType: Schemas parser error : Element declaration bar has both "type" and a local simple type
+./test/schemas/src-element3_0.xsd:8: element complexType: Schemas parser error : Element decl. 'foo': The attribute 'type' and the <complexType> child are mutually exclusive.
+./test/schemas/src-element3_0.xsd:16: element simpleType: Schemas parser error : Element decl. 'bar': The attribute 'type' and the <simpleType> child are mutually exclusive.

Modified: packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_1.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_1.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_1.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1 +1 @@
-./test/schemas/vdv-first4_1.xml:14: element born: Schemas validity error : The value is not valid.
+./test/schemas/vdv-first4_1.xml:14: element born: Schemas validity error : Element 'born' [ST 'date']: The character content is not valid.

Modified: packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_2.err
===================================================================
--- packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_2.err	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/result/schemas/vdv-first4_0_2.err	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,2 +1 @@
-./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : The value failed to validate against the facet "pattern".
-./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : The value is not valid.
+./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : Element 'born' [ST 'date', facet 'pattern']: The value '2000-01-20Z' is not accepted by the pattern '[^:Z]*'.

Copied: packages/libxml2/branches/unstable/result/schemas/xsd-list-itemType_0_0 (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/xsd-list-itemType_0_0)

Copied: packages/libxml2/branches/unstable/result/schemas/xsd-list-itemType_0_0.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/schemas/xsd-list-itemType_0_0.err)

Copied: packages/libxml2/branches/unstable/result/scripts/base.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/base.err)

Copied: packages/libxml2/branches/unstable/result/scripts/base2.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/base2.err)

Copied: packages/libxml2/branches/unstable/result/scripts/set1 (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set1)

Copied: packages/libxml2/branches/unstable/result/scripts/set1.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set1.err)

Copied: packages/libxml2/branches/unstable/result/scripts/set2 (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set2)

Copied: packages/libxml2/branches/unstable/result/scripts/set2.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set2.err)

Copied: packages/libxml2/branches/unstable/result/scripts/set3 (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set3)

Copied: packages/libxml2/branches/unstable/result/scripts/set3.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set3.err)

Copied: packages/libxml2/branches/unstable/result/scripts/set4 (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set4)

Copied: packages/libxml2/branches/unstable/result/scripts/set4.err (from rev 351, packages/libxml2/tags/2.6.16-2/result/scripts/set4.err)

Modified: packages/libxml2/branches/unstable/test/.memdump
===================================================================
--- packages/libxml2/branches/unstable/test/.memdump	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/.memdump	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-      Tue Mar 20 13:25:40 2001
+      05:54:02 PM
 
-      MEMORY ALLOCATED : 0, MAX was 172
+      MEMORY ALLOCATED : 0, MAX was 12937
 BLOCK  NUMBER   SIZE  TYPE

Copied: packages/libxml2/branches/unstable/test/HTML/python.html (from rev 351, packages/libxml2/tags/2.6.16-2/test/HTML/python.html)

Copied: packages/libxml2/branches/unstable/test/VC/AttributeNmtokens (from rev 351, packages/libxml2/tags/2.6.16-2/test/VC/AttributeNmtokens)

Copied: packages/libxml2/branches/unstable/test/VCM/AttributeNmtokens.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/VCM/AttributeNmtokens.xml)

Copied: packages/libxml2/branches/unstable/test/catalogs/whites.script (from rev 351, packages/libxml2/tags/2.6.16-2/test/catalogs/whites.script)

Copied: packages/libxml2/branches/unstable/test/catalogs/whites.sgml (from rev 351, packages/libxml2/tags/2.6.16-2/test/catalogs/whites.sgml)

Copied: packages/libxml2/branches/unstable/test/catalogs/whitex.script (from rev 351, packages/libxml2/tags/2.6.16-2/test/catalogs/whitex.script)

Copied: packages/libxml2/branches/unstable/test/catalogs/whitex.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/catalogs/whitex.xml)

Copied: packages/libxml2/branches/unstable/test/ent10 (from rev 351, packages/libxml2/tags/2.6.16-2/test/ent10)

Copied: packages/libxml2/branches/unstable/test/ns5 (from rev 351, packages/libxml2/tags/2.6.16-2/test/ns5)

Copied: packages/libxml2/branches/unstable/test/schemas/annot-err_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/annot-err_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/annot-err_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/annot-err_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/any1_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any1_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/any1_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any1_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/any2_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any2_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/any2_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any2_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/any3_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any3_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/any3_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any3_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/any4_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any4_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/any4_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/any4_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/bug141333_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/bug141333_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/bug141333_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/bug141333_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/bug145246.xsd.imp (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/bug145246.xsd.imp)

Copied: packages/libxml2/branches/unstable/test/schemas/bug145246_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/bug145246_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/bug145246_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/bug145246_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/bug152470_1.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/bug152470_1.xml)


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

Copied: packages/libxml2/branches/unstable/test/schemas/bug152470_1.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/bug152470_1.xsd)


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

Copied: packages/libxml2/branches/unstable/test/schemas/ct-sc-nobase_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/ct-sc-nobase_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/ct-sc-nobase_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/ct-sc-nobase_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/element-err_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/element-err_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/element-err_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/element-err_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/element-minmax-err_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/element-minmax-err_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/element-minmax-err_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/element-minmax-err_0.xsd)

Modified: packages/libxml2/branches/unstable/test/schemas/facet-unionST-err1_0.xml
===================================================================
--- packages/libxml2/branches/unstable/test/schemas/facet-unionST-err1_0.xml	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/schemas/facet-unionST-err1_0.xml	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
 <?xml version="1.0"?>
 <foo xmlns="http://FOO" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="http://FOO facet-unionST-err1_0.xsd">large</foo>
+	xsi:schemaLocation="http://FOO facet-unionST-err1_0.xsd">tiny</foo>
 

Copied: packages/libxml2/branches/unstable/test/schemas/facet-whiteSpace_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/facet-whiteSpace_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/facet-whiteSpace_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/facet-whiteSpace_0.xsd)

Modified: packages/libxml2/branches/unstable/test/schemas/hexbinary_1.xml
===================================================================
--- packages/libxml2/branches/unstable/test/schemas/hexbinary_1.xml	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/schemas/hexbinary_1.xml	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!-- all should fail to validate -->
+<!-- all (except 2 first) should fail to validate -->
 <xsd_hexBinary>
   <hex></hex>
   <hex/>

Copied: packages/libxml2/branches/unstable/test/schemas/import-bad-1_0.imp (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import-bad-1_0.imp)


Property changes on: packages/libxml2/branches/unstable/test/schemas/import-bad-1_0.imp
___________________________________________________________________
Name: svn:executable
   + *

Copied: packages/libxml2/branches/unstable/test/schemas/import1_0.imp (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import1_0.imp)

Copied: packages/libxml2/branches/unstable/test/schemas/import1_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import1_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/import1_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import1_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/import1_0b.imp (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import1_0b.imp)

Copied: packages/libxml2/branches/unstable/test/schemas/import2_0.imp (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import2_0.imp)

Copied: packages/libxml2/branches/unstable/test/schemas/import2_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import2_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/import2_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/import2_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/include1_0.inc (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include1_0.inc)

Copied: packages/libxml2/branches/unstable/test/schemas/include1_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include1_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/include1_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include1_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/include2_0.inc (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include2_0.inc)

Copied: packages/libxml2/branches/unstable/test/schemas/include2_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include2_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/include2_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include2_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/include3_0.inc (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include3_0.inc)

Copied: packages/libxml2/branches/unstable/test/schemas/include3_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include3_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/include3_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/include3_0.xsd)

Modified: packages/libxml2/branches/unstable/test/schemas/item_0.xsd
===================================================================
--- packages/libxml2/branches/unstable/test/schemas/item_0.xsd	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/schemas/item_0.xsd	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
       <xsd:pattern value="\d{3}-[A-Z]{2}"/>
     </xsd:restriction>
   </xsd:simpleType>
-  <xsd:element name="Item" minOccurs="0" maxOccurs="unbounded">
+  <xsd:element name="Item">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="productName" type="xsd:string"/>

Modified: packages/libxml2/branches/unstable/test/schemas/item_1.xsd
===================================================================
--- packages/libxml2/branches/unstable/test/schemas/item_1.xsd	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/schemas/item_1.xsd	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,7 @@
       <xsd:pattern value="\d{3}-[A-Z]{2}"/>
     </xsd:restriction>
   </xsd:simpleType>
-  <xsd:element name="Item" minOccurs="0" maxOccurs="unbounded">
+  <xsd:element name="Item">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="productName" type="xsd:string"/>

Copied: packages/libxml2/branches/unstable/test/schemas/restrict-CT-attr-ref_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/restrict-CT-attr-ref_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/restrict-CT-attr-ref_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/restrict-CT-attr-ref_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/restriction-attr1_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/restriction-attr1_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/restriction-attr1_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/restriction-attr1_0.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/seq-dubl-elem1_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/seq-dubl-elem1_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/seq-dubl-elem1_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/seq-dubl-elem1_0.xsd)

Modified: packages/libxml2/branches/unstable/test/schemas/union_0_0.xml
===================================================================
--- packages/libxml2/branches/unstable/test/schemas/union_0_0.xml	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/schemas/union_0_0.xml	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,6 +1,7 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<foo xmlns="http://foo"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<foo xmlns="http://foo" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://foo union_0_0.xsd">
       <em>EMP0090</em>
       <em>EMP0099</em>
 </foo>

Modified: packages/libxml2/branches/unstable/test/schemas/union_0_0.xsd
===================================================================
--- packages/libxml2/branches/unstable/test/schemas/union_0_0.xsd	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/schemas/union_0_0.xsd	2005-02-16 19:06:11 UTC (rev 352)
@@ -7,7 +7,10 @@
   <xsd:element name="foo">
   	  <xsd:complexType>
   	  	<xsd:sequence>  
-  			<xsd:element name="em" type="emType" maxOccurs="unbounded"/>	  	
+  			<xsd:element name="em" 
+				type="emType" 
+				maxOccurs="unbounded"
+				form="qualified"/>	  	
   		</xsd:sequence>
   	  </xsd:complexType>    
   </xsd:element>

Copied: packages/libxml2/branches/unstable/test/schemas/xml.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/xml.xsd)

Copied: packages/libxml2/branches/unstable/test/schemas/xsd-list-itemType_0.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/xsd-list-itemType_0.xml)

Copied: packages/libxml2/branches/unstable/test/schemas/xsd-list-itemType_0.xsd (from rev 351, packages/libxml2/tags/2.6.16-2/test/schemas/xsd-list-itemType_0.xsd)

Modified: packages/libxml2/branches/unstable/test/schemas/xsd-simpleType-varieties_0.xsd
===================================================================
--- packages/libxml2/branches/unstable/test/schemas/xsd-simpleType-varieties_0.xsd	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/schemas/xsd-simpleType-varieties_0.xsd	2005-02-16 19:06:11 UTC (rev 352)
@@ -2,7 +2,9 @@
 
 <!-- This test checks the implementation of the varieties of the xsd:simpleType element. -->
     
-<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://FOO" xmlns:foo="http://FOO"> 
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+	targetNamespace="http://FOO" xmlns:foo="http://FOO" 
+	elementFormDefault="qualified"> 
 
 	<element name="foo">
 		<complexType>

Modified: packages/libxml2/branches/unstable/test/scripts/.memdump
===================================================================
--- packages/libxml2/branches/unstable/test/scripts/.memdump	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/test/scripts/.memdump	2005-02-16 19:06:11 UTC (rev 352)
@@ -1,4 +1,4 @@
-      05:38:46 PM
+      12:14:38 AM
 
-      MEMORY ALLOCATED : 0, MAX was 15611
+      MEMORY ALLOCATED : 0, MAX was 21622
 BLOCK  NUMBER   SIZE  TYPE

Copied: packages/libxml2/branches/unstable/test/scripts/set1.script (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set1.script)

Copied: packages/libxml2/branches/unstable/test/scripts/set1.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set1.xml)

Copied: packages/libxml2/branches/unstable/test/scripts/set2.script (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set2.script)

Copied: packages/libxml2/branches/unstable/test/scripts/set2.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set2.xml)

Copied: packages/libxml2/branches/unstable/test/scripts/set3.script (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set3.script)

Copied: packages/libxml2/branches/unstable/test/scripts/set3.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set3.xml)

Copied: packages/libxml2/branches/unstable/test/scripts/set4.script (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set4.script)

Copied: packages/libxml2/branches/unstable/test/scripts/set4.xml (from rev 351, packages/libxml2/tags/2.6.16-2/test/scripts/set4.xml)

Modified: packages/libxml2/branches/unstable/testThreads.c
===================================================================
--- packages/libxml2/branches/unstable/testThreads.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/testThreads.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -2,7 +2,7 @@
 #include <stdio.h>
 #include "libxml.h"
 
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
+#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_SAX1_ENABLED)
 #include <libxml/globals.h>
 #include <libxml/threads.h>
 #include <libxml/parser.h>

Copied: packages/libxml2/branches/unstable/testapi.c (from rev 351, packages/libxml2/tags/2.6.16-2/testapi.c)

Modified: packages/libxml2/branches/unstable/threads.c
===================================================================
--- packages/libxml2/branches/unstable/threads.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/threads.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -359,6 +359,9 @@
  ************************************************************************/
 
 #ifdef LIBXML_THREAD_ENABLED
+#ifdef xmlLastError
+#undef xmlLastError
+#endif
 /**
  * xmlFreeGlobalState:
  * @state:  a thread global state
@@ -369,6 +372,10 @@
 static void
 xmlFreeGlobalState(void *state)
 {
+    xmlGlobalState *gs = (xmlGlobalState *) state;
+
+    /* free any memory allocated in the thread's xmlLastError */
+    xmlResetError(&(gs->xmlLastError));
     free(state);
 }
 

Modified: packages/libxml2/branches/unstable/tree.c
===================================================================
--- packages/libxml2/branches/unstable/tree.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/tree.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -73,16 +73,16 @@
 
     switch(code) {
         case XML_TREE_INVALID_HEX:
-	    msg = "invalid hexadecimal character value";
+	    msg = "invalid hexadecimal character value\n";
 	    break;
 	case XML_TREE_INVALID_DEC:
-	    msg = "invalid decimal character value";
+	    msg = "invalid decimal character value\n";
 	    break;
 	case XML_TREE_UNTERMINATED_ENTITY:
-	    msg = "unterminated entity reference %15s";
+	    msg = "unterminated entity reference %15s\n";
 	    break;
 	default:
-	    msg = "unexpected error number";
+	    msg = "unexpected error number\n";
     }
     __xmlSimpleError(XML_FROM_TREE, code, node, msg, extra);
 }
@@ -242,6 +242,7 @@
     int len = 0;
     xmlChar *ret = NULL;
 
+    if (prefix == NULL) return(NULL);
     *prefix = NULL;
     if (name == NULL) return(NULL);
 
@@ -329,7 +330,7 @@
  
 #define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
 
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
+#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
 /**
  * xmlValidateNCName:
  * @value: the value to check
@@ -345,6 +346,9 @@
     const xmlChar *cur = value;
     int c,l;
 
+    if (value == NULL)
+        return(-1);
+
     /*
      * First quick algorithm for ASCII range
      */
@@ -416,6 +420,8 @@
     const xmlChar *cur = value;
     int c,l;
 
+    if (value == NULL)
+        return(-1);
     /*
      * First quick algorithm for ASCII range
      */
@@ -512,6 +518,8 @@
     const xmlChar *cur = value;
     int c,l;
 
+    if (value == NULL)
+        return(-1);
     /*
      * First quick algorithm for ASCII range
      */
@@ -579,6 +587,8 @@
     const xmlChar *cur = value;
     int c,l;
 
+    if (value == NULL)
+        return(-1);
     /*
      * First quick algorithm for ASCII range
      */
@@ -912,12 +922,36 @@
     memset(cur, 0, sizeof(xmlDtd));
     cur->type = XML_DTD_NODE;
 
-    if (name != NULL)
-	cur->name = xmlStrdup(name); 
-    if (ExternalID != NULL)
+    if (name != NULL) {
+	cur->name = xmlStrdup(name);
+	if (cur->name == NULL) {
+	    xmlTreeErrMemory("building internal subset");
+	    xmlFree(cur);
+	    return(NULL);
+	}
+    }
+    if (ExternalID != NULL) {
 	cur->ExternalID = xmlStrdup(ExternalID); 
-    if (SystemID != NULL)
+	if (cur->ExternalID  == NULL) {
+	    xmlTreeErrMemory("building internal subset");
+	    if (cur->name != NULL)
+	        xmlFree((char *)cur->name);
+	    xmlFree(cur);
+	    return(NULL);
+	}
+    }
+    if (SystemID != NULL) {
 	cur->SystemID = xmlStrdup(SystemID); 
+	if (cur->SystemID == NULL) {
+	    xmlTreeErrMemory("building internal subset");
+	    if (cur->name != NULL)
+	        xmlFree((char *)cur->name);
+	    if (cur->ExternalID != NULL)
+	        xmlFree((char *)cur->ExternalID);
+	    xmlFree(cur);
+	    return(NULL);
+	}
+    }
     if (doc != NULL) {
 	doc->intSubset = cur;
 	cur->parent = doc;
@@ -996,12 +1030,15 @@
 	xmlNodePtr next, c = cur->children;
 
 	/*
-	 * Cleanup all the DTD comments they are not in the DTD
-	 * indexes.
+	 * Cleanup all nodes which are not part of the specific lists
+	 * of notations, elements, attributes and entities.
 	 */
         while (c != NULL) {
 	    next = c->next;
-	    if ((c->type == XML_COMMENT_NODE) || (c->type == XML_PI_NODE)) {
+	    if ((c->type != XML_NOTATION_NODE) &&
+	        (c->type != XML_ELEMENT_DECL) &&
+		(c->type != XML_ATTRIBUTE_DECL) &&
+		(c->type != XML_ENTITY_DECL)) {
 		xmlUnlinkNode(c);
 		xmlFreeNode(c);
 	    }
@@ -1054,6 +1091,11 @@
     cur->type = XML_DOCUMENT_NODE;
 
     cur->version = xmlStrdup(version); 
+    if (cur->version == NULL) {
+	xmlTreeErrMemory("building doc");
+	xmlFree(cur);
+    	return(NULL);
+    }
     cur->standalone = -1;
     cur->compression = -1; /* not initialized */
     cur->doc = cur;
@@ -1087,6 +1129,10 @@
 #endif
 	return;
     }
+#ifdef LIBXML_DEBUG_RUNTIME
+    xmlDebugCheckDocument(stderr, cur);
+#endif
+
     if (cur != NULL) dict = cur->dict;
 
     if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue))
@@ -1270,6 +1316,7 @@
 			    temp = ent->children;
 			    while (temp) {
 				temp->parent = (xmlNodePtr)ent;
+				ent->last = temp;
 				temp = temp->next;
 			    }
 			}
@@ -1712,7 +1759,10 @@
 	doc = node->doc;
 	cur->doc = doc;
     }
-    cur->name = xmlStrdup(name);
+    if ((doc != NULL) && (doc->dict != NULL))
+        cur->name = (xmlChar *) xmlDictLookup(doc->dict, name, -1);
+    else
+	cur->name = xmlStrdup(name);
     if (value != NULL) {
 	xmlChar *buffer;
 	xmlNodePtr tmp;
@@ -1793,7 +1843,10 @@
 	cur->doc = doc;
     }
     cur->ns = ns;
-    cur->name = xmlStrdup(name);
+    if ((doc != NULL) && (doc->dict != NULL))
+	cur->name = xmlDictLookup(doc->dict, name, -1);
+    else
+	cur->name = xmlStrdup(name);
     if (value != NULL) {
 	xmlChar *buffer;
 	xmlNodePtr tmp;
@@ -1861,7 +1914,6 @@
     cur = (xmlAttrPtr) xmlMalloc(sizeof(xmlAttr));
     if (cur == NULL) {
 	xmlTreeErrMemory("building attribute");
-        xmlFree(name);
 	return(NULL);
     }
     memset(cur, 0, sizeof(xmlAttr));
@@ -1943,7 +1995,10 @@
     memset(cur, 0, sizeof(xmlAttr));
     cur->type = XML_ATTRIBUTE_NODE;
 
-    cur->name = xmlStrdup(name);
+    if ((doc != NULL) && (doc->dict != NULL))
+	cur->name = xmlDictLookup(doc->dict, name, -1);
+    else
+	cur->name = xmlStrdup(name);
     cur->doc = doc; 
     if (value != NULL) {
 	xmlNodePtr tmp;
@@ -2062,7 +2117,8 @@
 #endif /* LIBXML_TREE_ENABLED */
 
 /**
- * xmlNewPI:
+ * xmlNewDocPI:
+ * @doc:  the target document
  * @name:  the processing instruction name
  * @content:  the PI content
  *
@@ -2070,7 +2126,7 @@
  * Returns a pointer to the new node object.
  */
 xmlNodePtr
-xmlNewPI(const xmlChar *name, const xmlChar *content) {
+xmlNewDocPI(xmlDocPtr doc, const xmlChar *name, const xmlChar *content) {
     xmlNodePtr cur;
 
     if (name == NULL) {
@@ -2092,10 +2148,14 @@
     memset(cur, 0, sizeof(xmlNode));
     cur->type = XML_PI_NODE;
 
-    cur->name = xmlStrdup(name);
+    if ((doc != NULL) && (doc->dict != NULL))
+        cur->name = xmlDictLookup(doc->dict, name, -1);
+    else
+	cur->name = xmlStrdup(name);
     if (content != NULL) {
 	cur->content = xmlStrdup(content);
     }
+    cur->doc = doc;
 
     if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue))
 	xmlRegisterNodeDefaultValue((xmlNodePtr)cur);
@@ -2103,6 +2163,21 @@
 }
 
 /**
+ * xmlNewPI:
+ * @name:  the processing instruction name
+ * @content:  the PI content
+ *
+ * Creation of a processing instruction element.
+ * Use xmlDocNewPI preferably to get string interning
+ *
+ * Returns a pointer to the new node object.
+ */
+xmlNodePtr
+xmlNewPI(const xmlChar *name, const xmlChar *content) {
+    return(xmlNewDocPI(NULL, name, content));
+}
+
+/**
  * xmlNewNode:
  * @ns:  namespace if any
  * @name:  the node name
@@ -2172,7 +2247,6 @@
     cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode));
     if (cur == NULL) {
 	xmlTreeErrMemory("building node");
-        xmlFree(name);
 	return(NULL);
     }
     memset(cur, 0, sizeof(xmlNode));
@@ -2207,7 +2281,11 @@
               const xmlChar *name, const xmlChar *content) {
     xmlNodePtr cur;
 
-    cur = xmlNewNode(ns, name);
+    if ((doc != NULL) && (doc->dict != NULL))
+        cur = xmlNewNodeEatName(ns, (xmlChar *)
+	                        xmlDictLookup(doc->dict, name, -1));
+    else
+	cur = xmlNewNode(ns, name);
     if (cur != NULL) {
         cur->doc = doc;
 	if (content != NULL) {
@@ -2269,7 +2347,7 @@
                  const xmlChar *name, const xmlChar *content) {
     xmlNodePtr cur;
 
-    cur = xmlNewNode(ns, name);
+    cur = xmlNewDocNode(doc, ns, name, NULL);
     if (cur != NULL) {
         cur->doc = doc;
 	if (content != NULL) {
@@ -2436,6 +2514,9 @@
 xmlNewCharRef(xmlDocPtr doc, const xmlChar *name) {
     xmlNodePtr cur;
 
+    if (name == NULL)
+        return(NULL);
+
     /*
      * Allocate a new node and fill the fields.
      */
@@ -2477,6 +2558,9 @@
     xmlNodePtr cur;
     xmlEntityPtr ent;
 
+    if (name == NULL)
+        return(NULL);
+
     /*
      * Allocate a new node and fill the fields.
      */
@@ -3443,10 +3527,11 @@
  */
 xmlNodePtr
 xmlReplaceNode(xmlNodePtr old, xmlNodePtr cur) {
-    if (old == NULL) {
+    if (old == cur) return(NULL);
+    if ((old == NULL) || (old->parent == NULL)) {
 #ifdef DEBUG_TREE
         xmlGenericError(xmlGenericErrorContext,
-		"xmlReplaceNode : old == NULL\n");
+		"xmlReplaceNode : old == NULL or without parent\n");
 #endif
 	return(NULL);
     }
@@ -3677,6 +3762,8 @@
 
     while (cur != NULL) {
         q = xmlCopyProp(target, cur);
+	if (q == NULL)
+	    return(NULL);
 	if (p == NULL) {
 	    ret = p = q;
 	} else {
@@ -3767,8 +3854,12 @@
 	ret->name = xmlStringTextNoenc;
     else if (node->name == xmlStringComment)
 	ret->name = xmlStringComment;
-    else if (node->name != NULL)
-	ret->name = xmlStrdup(node->name);
+    else if (node->name != NULL) {
+        if ((doc != NULL) && (doc->dict != NULL))
+	    ret->name = xmlDictLookup(doc->dict, node->name, -1);
+	else
+	    ret->name = xmlStrdup(node->name);
+    }
     if ((node->type != XML_ELEMENT_NODE) &&
 	(node->content != NULL) &&
 	(node->type != XML_ENTITY_REF_NODE) &&
@@ -3847,7 +3938,8 @@
 
 out:
     /* if parent != NULL we already registered the node above */
-    if (parent == NULL && xmlRegisterNodeDefaultValue)
+    if ((parent == NULL) &&
+        ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)))
 	xmlRegisterNodeDefaultValue((xmlNodePtr)ret);
     return(ret);
 }
@@ -3931,10 +4023,25 @@
 }
 
 /**
+ * xmlDocCopyNodeList:
+ * @doc: the target document
+ * @node:  the first node in the list.
+ *
+ * Do a recursive copy of the node list.
+ *
+ * Returns: a new #xmlNodePtr, or NULL in case of error.
+ */
+xmlNodePtr xmlDocCopyNodeList(xmlDocPtr doc, const xmlNodePtr node) {
+    xmlNodePtr ret = xmlStaticCopyNodeList(node, doc, NULL);
+    return(ret);
+}
+
+/**
  * xmlCopyNodeList:
  * @node:  the first node in the list.
  *
  * Do a recursive copy of the node list.
+ * Use xmlDocCopyNodeList() if possible to ensure string interning.
  *
  * Returns: a new #xmlNodePtr, or NULL in case of error.
  */
@@ -4176,11 +4283,11 @@
             name = (const char *) cur->name;
             if (cur->ns) {
 	        if (cur->ns->prefix != NULL)
-                    snprintf(nametemp, sizeof(nametemp) - 1,
-                         "%s:%s", cur->ns->prefix, cur->name);
+                    snprintf(nametemp, sizeof(nametemp) - 1, "%s:%s",
+		    	(char *)cur->ns->prefix, (char *)cur->name);
 		else
-		    snprintf(nametemp, sizeof(nametemp) - 1,
-		         "%s", cur->name);
+		    snprintf(nametemp, sizeof(nametemp) - 1, "%s",
+		    	(char *)cur->name);
                 nametemp[sizeof(nametemp) - 1] = 0;
                 name = nametemp;
             }
@@ -4253,8 +4360,8 @@
             if (occur == 0) {
                 tmp = cur->next;
                 while (tmp != NULL && occur == 0) {
-		  if ((cur->type == XML_TEXT_NODE) ||
-		      (cur->type == XML_CDATA_SECTION_NODE))
+		  if ((tmp->type == XML_TEXT_NODE) ||
+		      (tmp->type == XML_CDATA_SECTION_NODE))
 		    occur++;
                     tmp = tmp->next;
                 }
@@ -4265,7 +4372,7 @@
         } else if (cur->type == XML_PI_NODE) {
             sep = "/";
 	    snprintf(nametemp, sizeof(nametemp) - 1,
-		     "processing-instruction('%s')", cur->name);
+		     "processing-instruction('%s')", (char *)cur->name);
             nametemp[sizeof(nametemp) - 1] = 0;
             name = nametemp;
 
@@ -4331,7 +4438,7 @@
         else
             snprintf((char *) buf, buf_len, "%s%s[%d]%s",
                      sep, name, occur, (char *) buffer);
-        snprintf((char *) buffer, buf_len, "%s", buf);
+        snprintf((char *) buffer, buf_len, "%s", (char *)buf);
         cur = next;
     } while (cur != NULL);
     xmlFree(buf);
@@ -4381,7 +4488,7 @@
     if (root == NULL)
 	return(NULL);
     xmlUnlinkNode(root);
-    root->doc = doc;
+    xmlSetTreeDoc(root, doc);
     root->parent = (xmlNodePtr) doc;
     old = doc->children;
     while (old != NULL) {
@@ -4572,6 +4679,9 @@
  */
 void
 xmlNodeSetName(xmlNodePtr cur, const xmlChar *name) {
+    xmlDocPtr doc;
+    xmlDictPtr dict;
+
     if (cur == NULL) return;
     if (name == NULL) return;
     switch(cur->type) {
@@ -4601,8 +4711,19 @@
         case XML_ENTITY_DECL:
 	    break;
     }
-    if (cur->name != NULL) xmlFree((xmlChar *) cur->name);
-    cur->name = xmlStrdup(name);
+    doc = cur->doc;
+    if (doc != NULL)
+	dict = doc->dict;
+    else
+        dict = NULL;
+    if (dict != NULL) {
+        if ((cur->name != NULL) && (!xmlDictOwns(dict, cur->name)))
+	    xmlFree((xmlChar *) cur->name);
+	cur->name = xmlDictLookup(dict, name, -1);
+    } else {
+	if (cur->name != NULL) xmlFree((xmlChar *) cur->name);
+	cur->name = xmlStrdup(name);
+    }
 }
 #endif
  
@@ -5043,7 +5164,7 @@
         case XML_COMMENT_NODE:
 	    if (cur->content != NULL) {
 	        if (!((cur->doc != NULL) && (cur->doc->dict != NULL) &&
-			xmlDictOwns(cur->doc->dict, cur->content)))
+		    (!xmlDictOwns(cur->doc->dict, cur->content))))
 		    xmlFree(cur->content);
 	    }	
 	    if (cur->children != NULL) xmlFreeNodeList(cur->children);
@@ -5585,7 +5706,7 @@
 #endif
 	return(NULL);
     }
-    if (ns == NULL) {
+    if ((ns == NULL) || (ns->type != XML_NAMESPACE_DECL)) {
 #ifdef DEBUG_TREE
         xmlGenericError(xmlGenericErrorContext,
 		"xmlNewReconciliedNs : ns == NULL\n");
@@ -5606,7 +5727,7 @@
     if (ns->prefix == NULL)
 	snprintf((char *) prefix, sizeof(prefix), "default");
     else
-	snprintf((char *) prefix, sizeof(prefix), "%.20s", ns->prefix);
+	snprintf((char *) prefix, sizeof(prefix), "%.20s", (char *)ns->prefix);
 
     def = xmlSearchNs(doc, tree, prefix);
     while (def != NULL) {
@@ -5614,7 +5735,8 @@
 	if (ns->prefix == NULL)
 	    snprintf((char *) prefix, sizeof(prefix), "default%d", counter++);
 	else
-	    snprintf((char *) prefix, sizeof(prefix), "%.20s%d", ns->prefix, counter++);
+	    snprintf((char *) prefix, sizeof(prefix), "%.20s%d",
+	    	(char *)ns->prefix, counter++);
 	def = xmlSearchNs(doc, tree, prefix);
     }
 
@@ -5652,6 +5774,9 @@
     xmlAttrPtr attr;
     int ret = 0, i;
 
+    if ((node == NULL) || (node->type != XML_ELEMENT_NODE)) return(-1);
+    if ((doc == NULL) || (doc->type != XML_DOCUMENT_NODE)) return(-1);
+    if (node->doc != doc) return(-1);
     while (node != NULL) {
         /*
 	 * Reconciliate the node namespace
@@ -5783,7 +5908,7 @@
 	/*
 	 * Browse the full subtree, deep first
 	 */
-        if (node->children != NULL) {
+        if (node->children != NULL && node->type != XML_ENTITY_REF_NODE) {
 	    /* deep first */
 	    node = node->children;
 	} else if ((node != tree) && (node->next != NULL)) {
@@ -5878,6 +6003,7 @@
  * This does the entity substitution.
  * This function looks in DTD attribute declaration for #FIXED or
  * default declaration values unless DTD use has been turned off.
+ * Note that a namespace of NULL indicates to use the default namespace.
  *
  * Returns the attribute or the attribute declaration or NULL
  *     if neither was found.
@@ -5893,17 +6019,18 @@
 	return(NULL);
 
     prop = node->properties;
-    if (nameSpace == NULL)
-	return(xmlHasProp(node, name));
     while (prop != NULL) {
 	/*
 	 * One need to have
 	 *   - same attribute names
 	 *   - and the attribute carrying that namespace
 	 */
-        if ((xmlStrEqual(prop->name, name)) &&
-	    ((prop->ns != NULL) && (xmlStrEqual(prop->ns->href, nameSpace)))) {
-	    return(prop);
+        if (xmlStrEqual(prop->name, name)) {
+	    if (((prop->ns != NULL) &&
+	    	 (xmlStrEqual(prop->ns->href, nameSpace))) ||
+		((prop->ns == NULL) && (nameSpace == NULL))) {
+		return(prop);
+	    }
         }
 	prop = prop->next;
     }
@@ -5936,16 +6063,25 @@
 		return(NULL);
 	    }
 
-	    cur = nsList;
-	    while (*cur != NULL) {
-		if (xmlStrEqual((*cur)->href, nameSpace)) {
-		    attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, ename,
-			                          name, (*cur)->prefix);
-		    if ((attrDecl == NULL) && (doc->extSubset != NULL))
-			attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, ename,
+	    if (nameSpace == NULL) {
+	        attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, ename,
+					      name, NULL);
+		if ((attrDecl == NULL) && (doc->extSubset != NULL)) {
+		    attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, ename,
+		    				  name, NULL);
+		}
+	    } else {
+		cur = nsList;
+		while (*cur != NULL) {
+		    if (xmlStrEqual((*cur)->href, nameSpace)) {
+			attrDecl = xmlGetDtdQAttrDesc(doc->intSubset, ename,
 						      name, (*cur)->prefix);
+			if ((attrDecl == NULL) && (doc->extSubset != NULL))
+			    attrDecl = xmlGetDtdQAttrDesc(doc->extSubset, ename,
+							  name, (*cur)->prefix);
+		    }
+		    cur++;
 		}
-		cur++;
 	    }
 	    xmlFree(nsList);
 	    xmlFree(ename);
@@ -6162,10 +6298,17 @@
     while (prop != NULL) {
         if ((xmlStrEqual(prop->name, name)) &&
 	    (prop->ns == NULL)) {
-	    if (prev == NULL)
+	    if (prev == NULL) {
 		node->properties = prop->next;
-	    else
+		if (prop->next != NULL)
+		    prop->next->prev = NULL;
+	    } else {
 		prev->next = prop->next;
+		if (prop->next != NULL)
+		    prop->next->prev = NULL;
+	    }
+	    prop->next = NULL;
+	    prop->prev = NULL;
 	    xmlFreeProp(prop);
 	    return(0);
 	}
@@ -6186,10 +6329,11 @@
  */
 int
 xmlUnsetNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name) {
-    xmlAttrPtr prop = node->properties, prev = NULL;;
+    xmlAttrPtr prop, prev = NULL;;
 
     if ((node == NULL) || (name == NULL))
 	return(-1);
+    prop = node->properties;
     if (ns == NULL)
 	return(xmlUnsetProp(node, name));
     if (ns->href == NULL)
@@ -6197,10 +6341,17 @@
     while (prop != NULL) {
         if ((xmlStrEqual(prop->name, name)) &&
 	    (prop->ns != NULL) && (xmlStrEqual(prop->ns->href, ns->href))) {
-	    if (prev == NULL)
+	    if (prev == NULL) {
 		node->properties = prop->next;
-	    else
+		if (prop->next != NULL)
+		    prop->next->prev = NULL;
+	    } else {
 		prev->next = prop->next;
+		if (prop->next != NULL)
+		    prop->next->prev = NULL;
+	    }
+	    prop->next = NULL;
+	    prop->prev = NULL;
 	    xmlFreeProp(prop);
 	    return(0);
 	}
@@ -6282,7 +6433,7 @@
 	     const xmlChar *value) {
     xmlAttrPtr prop;
     
-    if ((node == NULL) || (name == NULL))
+    if ((node == NULL) || (name == NULL) || (node->type != XML_ELEMENT_NODE))
 	return(NULL);
 
     if (ns == NULL)
@@ -6557,6 +6708,7 @@
  */
 void
 xmlBufferEmpty(xmlBufferPtr buf) {
+    if (buf == NULL) return;
     if (buf->content == NULL) return;
     buf->use = 0;
     if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) {
@@ -6577,6 +6729,7 @@
  */
 int
 xmlBufferShrink(xmlBufferPtr buf, unsigned int len) {
+    if (buf == NULL) return(-1);
     if (len == 0) return(0);
     if (len > buf->use) return(-1);
 
@@ -6604,10 +6757,23 @@
     int size;
     xmlChar *newbuf;
 
+    if (buf == NULL) return(-1);
+
     if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
     if (len + buf->use < buf->size) return(0);
 
+/*
+ * Windows has a BIG problem on realloc timing, so we try to double
+ * the buffer size (if that's enough) (bug 146697)
+ */
+#ifdef WIN32
+    if (buf->size > len)
+        size = buf->size * 2;
+    else
+        size = buf->use + len + 100;
+#else
     size = buf->use + len + 100;
+#endif
 
     newbuf = (xmlChar *) xmlRealloc(buf->content, size);
     if (newbuf == NULL) {
@@ -6702,6 +6868,9 @@
     unsigned int newSize;
     xmlChar* rebuf = NULL;
 
+    if (buf == NULL)
+        return(0);
+
     if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
 
     /* Don't resize if we don't have to */
@@ -6738,8 +6907,8 @@
 	if (rebuf != NULL) {
 	    memcpy(rebuf, buf->content, buf->use);
 	    xmlFree(buf->content);
+	    rebuf[buf->use] = 0;
 	}
-	rebuf[buf->use] = 0;
     }
     if (rebuf == NULL) {
 	xmlTreeErrMemory("growing buffer");
@@ -6759,44 +6928,44 @@
  *
  * Add a string range to an XML buffer. if len == -1, the length of
  * str is recomputed.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ *         and -1 in case of internal or API error.
  */
-void
+int
 xmlBufferAdd(xmlBufferPtr buf, const xmlChar *str, int len) {
     unsigned int needSize;
 
-    if (str == NULL) {
-#ifdef DEBUG_BUFFER
-        xmlGenericError(xmlGenericErrorContext,
-		"xmlBufferAdd: str == NULL\n");
-#endif
-	return;
+    if ((str == NULL) || (buf == NULL)) {
+	return -1;
     }
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
+    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (len < -1) {
 #ifdef DEBUG_BUFFER
         xmlGenericError(xmlGenericErrorContext,
 		"xmlBufferAdd: len < 0\n");
 #endif
-	return;
+	return -1;
     }
-    if (len == 0) return;
+    if (len == 0) return 0;
 
     if (len < 0)
         len = xmlStrlen(str);
 
-    if (len <= 0) return;
+    if (len <= 0) return -1;
 
     needSize = buf->use + len + 2;
     if (needSize > buf->size){
         if (!xmlBufferResize(buf, needSize)){
 	    xmlTreeErrMemory("growing buffer");
-            return;
+            return XML_ERR_NO_MEMORY;
         }
     }
 
     memmove(&buf->content[buf->use], str, len*sizeof(xmlChar));
     buf->use += len;
     buf->content[buf->use] = 0;
+    return 0;
 }
 
 /**
@@ -6807,38 +6976,43 @@
  *
  * Add a string range to the beginning of an XML buffer.
  * if len == -1, the length of @str is recomputed.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ *         and -1 in case of internal or API error.
  */
-void
+int
 xmlBufferAddHead(xmlBufferPtr buf, const xmlChar *str, int len) {
     unsigned int needSize;
 
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
+    if (buf == NULL)
+        return(-1);
+    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (str == NULL) {
 #ifdef DEBUG_BUFFER
         xmlGenericError(xmlGenericErrorContext,
 		"xmlBufferAddHead: str == NULL\n");
 #endif
-	return;
+	return -1;
     }
     if (len < -1) {
 #ifdef DEBUG_BUFFER
         xmlGenericError(xmlGenericErrorContext,
 		"xmlBufferAddHead: len < 0\n");
 #endif
-	return;
+	return -1;
     }
-    if (len == 0) return;
+    if (len == 0) return 0;
 
     if (len < 0)
         len = xmlStrlen(str);
 
-    if (len <= 0) return;
+    if (len <= 0) return -1;
 
     needSize = buf->use + len + 2;
     if (needSize > buf->size){
         if (!xmlBufferResize(buf, needSize)){
 	    xmlTreeErrMemory("growing buffer");
-            return;
+            return XML_ERR_NO_MEMORY;
         }
     }
 
@@ -6846,20 +7020,26 @@
     memmove(&buf->content[0], str, len * sizeof(xmlChar));
     buf->use += len;
     buf->content[buf->use] = 0;
+    return 0;
 }
 
 /**
  * xmlBufferCat:
- * @buf:  the buffer to dump
+ * @buf:  the buffer to add to
  * @str:  the #xmlChar string
  *
  * Append a zero terminated string to an XML buffer.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ *         and -1 in case of internal or API error.
  */
-void
+int
 xmlBufferCat(xmlBufferPtr buf, const xmlChar *str) {
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
-    if (str != NULL)
-	xmlBufferAdd(buf, str, -1);
+    if (buf == NULL)
+        return(-1);
+    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
+    if (str == NULL) return -1;
+    return xmlBufferAdd(buf, str, -1);
 }
 
 /**
@@ -6868,29 +7048,35 @@
  * @str:  the C char string
  *
  * Append a zero terminated C string to an XML buffer.
+ *
+ * Returns 0 successful, a positive error code number otherwise
+ *         and -1 in case of internal or API error.
  */
-void
+int
 xmlBufferCCat(xmlBufferPtr buf, const char *str) {
     const char *cur;
 
-    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
+    if (buf == NULL)
+        return(-1);
+    if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return -1;
     if (str == NULL) {
 #ifdef DEBUG_BUFFER
         xmlGenericError(xmlGenericErrorContext,
 		"xmlBufferCCat: str == NULL\n");
 #endif
-	return;
+	return -1;
     }
     for (cur = str;*cur != 0;cur++) {
         if (buf->use  + 10 >= buf->size) {
             if (!xmlBufferResize(buf, buf->use+10)){
 		xmlTreeErrMemory("growing buffer");
-                return;
+                return XML_ERR_NO_MEMORY;
             }
         }
         buf->content[buf->use++] = *cur;
     }
     buf->content[buf->use] = 0;
+    return 0;
 }
 
 /**
@@ -6903,6 +7089,8 @@
  */
 void
 xmlBufferWriteCHAR(xmlBufferPtr buf, const xmlChar *string) {
+    if (buf == NULL)
+        return;
     if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
     xmlBufferCat(buf, string);
 }
@@ -6917,6 +7105,8 @@
  */
 void
 xmlBufferWriteChar(xmlBufferPtr buf, const char *string) {
+    if (buf == NULL)
+        return;
     if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
     xmlBufferCCat(buf, string);
 }
@@ -6934,6 +7124,8 @@
 void
 xmlBufferWriteQuotedString(xmlBufferPtr buf, const xmlChar *string) {
     const xmlChar *cur, *base;
+    if (buf == NULL)
+        return;
     if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return;
     if (xmlStrchr(string, '\"')) {
         if (xmlStrchr(string, '\'')) {

Modified: packages/libxml2/branches/unstable/uri.c
===================================================================
--- packages/libxml2/branches/unstable/uri.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/uri.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -46,10 +46,12 @@
  */
 #define IS_UPALPHA(x) (((x) >= 'A') && ((x) <= 'Z'))
 
+#ifdef IS_DIGIT
+#undef IS_DIGIT
+#endif
 /*
  * digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
  */
-
 #define IS_DIGIT(x) (((x) >= '0') && ((x) <= '9'))
 
 /*
@@ -826,7 +828,7 @@
     in = str;
     out = ret;
     while(len > 0) {
-	if ((*in == '%') && (is_hex(in[1])) && (is_hex(in[2]))) {
+	if ((len > 2) && (*in == '%') && (is_hex(in[1])) && (is_hex(in[2]))) {
 	    in++;
 	    if ((*in >= '0') && (*in <= '9')) 
 	        *out = (*in - '0');
@@ -1407,8 +1409,8 @@
         }
         path = (char *) xmlMallocAtomic(len + 1);
         if (path == NULL) {
-            xmlGenericError(xmlGenericErrorContext,
-                            "xmlParseURIPathSegments: out of memory\n");
+	    xmlGenericError(xmlGenericErrorContext,
+	    		    "xmlParseURIPathSegments: out of memory\n");
             *str = cur;
             return (-1);
         }
@@ -2093,10 +2095,12 @@
 	if (ref->path[ix] == '/')
 	    break;
     }
-    if (ix == 0)
+    if (ix == 0) {
 	uptr = (xmlChar *)ref->path;
-    else
-	uptr = (xmlChar *)&ref->path[ix + 1];
+    } else {
+	ix++;
+	uptr = (xmlChar *)&ref->path[ix];
+    }
 
     /*
      * In base, count the number of '/' from the differing point
@@ -2112,7 +2116,6 @@
 	val = xmlStrdup (uptr);
 	goto done;
     }
-    nbslash--;
 
     /*
      * Allocate just enough space for the returned string -
@@ -2122,6 +2125,8 @@
     ix = xmlStrlen (uptr) + 1;
     val = (xmlChar *) xmlMalloc (ix + 3 * nbslash);
     if (val == NULL) {
+	xmlGenericError(xmlGenericErrorContext,
+		"xmlBuildRelativeURI: out of memory\n");
 	goto done;
     }
     vptr = val;
@@ -2193,12 +2198,12 @@
     len = xmlStrlen(path);
     if ((len > 2) && IS_WINDOWS_PATH(path)) {
 	uri->scheme = xmlStrdup(BAD_CAST "file");
-	uri->path = xmlMallocAtomic(len + 2);
+	uri->path = xmlMallocAtomic(len + 2);	/* FIXME - check alloc! */
 	uri->path[0] = '/';
 	p = uri->path + 1;
 	strncpy(p, path, len + 1);
     } else {
-	uri->path = xmlStrdup(path);
+	uri->path = xmlStrdup(path);		/* FIXME - check alloc! */
 	p = uri->path;
     }
     while (*p != '\0') {
@@ -2209,7 +2214,10 @@
 #else
     uri->path = (char *) xmlStrdup((const xmlChar *) path);
 #endif
-    
+    if (uri->path == NULL) {
+        xmlFreeURI(uri);
+        return(NULL);
+    }
     ret = xmlSaveUri(uri);
     xmlFreeURI(uri);
     return(ret);

Modified: packages/libxml2/branches/unstable/valid.c
===================================================================
--- packages/libxml2/branches/unstable/valid.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/valid.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -18,6 +18,7 @@
 
 #include <libxml/xmlmemory.h>
 #include <libxml/hash.h>
+#include <libxml/uri.h>
 #include <libxml/valid.h>
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
@@ -58,7 +59,12 @@
     if (ctxt != NULL) {
         channel = ctxt->error;
         data = ctxt->userData;
-	pctxt = ctxt->userData;
+	/* Use the special values to detect if it is part of a parsing
+	   context */
+	if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) ||
+	    (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) {
+	    pctxt = ctxt->userData;
+	}
     }
     if (extra)
         __xmlRaiseError(NULL, channel, data,
@@ -91,7 +97,12 @@
     if (ctxt != NULL) {
         channel = ctxt->error;
         data = ctxt->userData;
-	pctxt = ctxt->userData;
+	/* Use the special values to detect if it is part of a parsing
+	   context */
+	if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) ||
+	    (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) {
+	    pctxt = ctxt->userData;
+	}
     }
     if (extra)
         __xmlRaiseError(NULL, channel, data,
@@ -131,7 +142,12 @@
     if (ctxt != NULL) {
         channel = ctxt->error;
         data = ctxt->userData;
-	pctxt = ctxt->userData;
+	/* Use the special values to detect if it is part of a parsing
+	   context */
+	if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) ||
+	    (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) {
+	    pctxt = ctxt->userData;
+	}
     }
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
                     XML_ERR_ERROR, NULL, 0,
@@ -167,7 +183,12 @@
     if (ctxt != NULL) {
         channel = ctxt->error;
         data = ctxt->userData;
-	pctxt = ctxt->userData;
+	/* Use the special values to detect if it is part of a parsing
+	   context */
+	if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) ||
+	    (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) {
+	    pctxt = ctxt->userData;
+	}
     }
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
                     XML_ERR_ERROR, NULL, 0,
@@ -201,7 +222,12 @@
     if (ctxt != NULL) {
         channel = ctxt->error;
         data = ctxt->userData;
-	pctxt = ctxt->userData;
+	/* Use the special values to detect if it is part of a parsing
+	   context */
+	if ((ctxt->finishDtd == XML_CTXT_FINISH_DTD_0) ||
+	    (ctxt->finishDtd == XML_CTXT_FINISH_DTD_1)) {
+	    pctxt = ctxt->userData;
+	}
     }
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
                     XML_ERR_WARNING, NULL, 0,
@@ -859,6 +885,10 @@
  */
 void
 xmlFreeValidCtxt(xmlValidCtxtPtr cur) {
+    if (cur->vstateTab != NULL)
+        xmlFree(cur->vstateTab);
+    if (cur->nodeTab != NULL)
+        xmlFree(cur->nodeTab);
     xmlFree(cur);
 }
 
@@ -1487,6 +1517,8 @@
  */
 void
 xmlDumpElementDecl(xmlBufferPtr buf, xmlElementPtr elem) {
+    if ((buf == NULL) || (elem == NULL))
+        return;
     switch (elem->etype) {
 	case XML_ELEMENT_TYPE_EMPTY:
 	    xmlBufferWriteChar(buf, "<!ELEMENT ");
@@ -1557,6 +1589,8 @@
  */
 void
 xmlDumpElementTable(xmlBufferPtr buf, xmlElementTablePtr table) {
+    if ((buf == NULL) || (table == NULL))
+        return;
     xmlHashScan(table, (xmlHashScanner) xmlDumpElementDeclScan, buf);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
@@ -1636,7 +1670,8 @@
  */
 static void
 xmlDumpEnumeration(xmlBufferPtr buf, xmlEnumerationPtr cur) {
-    if (cur == NULL)  return;
+    if ((buf == NULL) || (cur == NULL))
+        return;
     
     xmlBufferWriteCHAR(buf, cur->name);
     if (cur->next == NULL)
@@ -1842,7 +1877,8 @@
 	                "Attribute %s of %s: invalid default value\n",
 	                elem, name, defaultValue);
 	defaultValue = NULL;
-	ctxt->valid = 0;
+	if (ctxt != NULL)
+	    ctxt->valid = 0;
     }
 #endif /* LIBXML_VALID_ENABLED */
 
@@ -1923,7 +1959,8 @@
 	    xmlErrValidNode(ctxt, (xmlNodePtr) dtd, XML_DTD_MULTIPLE_ID,
 	   "Element %s has too may ID attributes defined : %s\n",
 		   elem, name, NULL);
-	    ctxt->valid = 0;
+	    if (ctxt != NULL)
+		ctxt->valid = 0;
 	}
 #endif /* LIBXML_VALID_ENABLED */
 
@@ -2043,6 +2080,8 @@
  */
 void
 xmlDumpAttributeDecl(xmlBufferPtr buf, xmlAttributePtr attr) {
+    if ((buf == NULL) || (attr == NULL))
+        return;
     xmlBufferWriteChar(buf, "<!ATTLIST ");
     xmlBufferWriteCHAR(buf, attr->elem);
     xmlBufferWriteChar(buf, " ");
@@ -2134,6 +2173,8 @@
  */
 void
 xmlDumpAttributeTable(xmlBufferPtr buf, xmlAttributeTablePtr table) {
+    if ((buf == NULL) || (table == NULL))
+        return;
     xmlHashScan(table, (xmlHashScanner) xmlDumpAttributeDeclScan, buf);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
@@ -2317,6 +2358,8 @@
  */
 void
 xmlDumpNotationDecl(xmlBufferPtr buf, xmlNotationPtr nota) {
+    if ((buf == NULL) || (nota == NULL))
+        return;
     xmlBufferWriteChar(buf, "<!NOTATION ");
     xmlBufferWriteCHAR(buf, nota->name);
     if (nota->PublicID != NULL) {
@@ -2324,11 +2367,11 @@
 	xmlBufferWriteQuotedString(buf, nota->PublicID);
 	if (nota->SystemID != NULL) {
 	    xmlBufferWriteChar(buf, " ");
-	    xmlBufferWriteCHAR(buf, nota->SystemID);
+	    xmlBufferWriteQuotedString(buf, nota->SystemID);
 	}
     } else {
 	xmlBufferWriteChar(buf, " SYSTEM ");
-	xmlBufferWriteCHAR(buf, nota->SystemID);
+	xmlBufferWriteQuotedString(buf, nota->SystemID);
     }
     xmlBufferWriteChar(buf, " >\n");
 }
@@ -2354,6 +2397,8 @@
  */
 void
 xmlDumpNotationTable(xmlBufferPtr buf, xmlNotationTablePtr table) {
+    if ((buf == NULL) || (table == NULL))
+        return;
     xmlHashScan(table, (xmlHashScanner) xmlDumpNotationDeclScan, buf);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
@@ -2850,6 +2895,13 @@
  */
 int
 xmlIsRef(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
+    if (attr == NULL)
+        return(0);
+    if (doc == NULL) {
+        doc = attr->doc;
+	if (doc == NULL) return(0);
+    }
+
     if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) {
         return(0);
     } else if (doc->type == XML_HTML_DOCUMENT_NODE) {
@@ -2858,6 +2910,7 @@
     } else {
         xmlAttributePtr attrDecl;
 
+        if (elem == NULL) return(0);
         attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, attr->name);
         if ((attrDecl == NULL) && (doc->extSubset != NULL))
             attrDecl = xmlGetDtdAttrDesc(doc->extSubset,
@@ -3305,8 +3358,9 @@
 	cur += len;
     }
 
-    while (IS_BLANK(val)) {
-	while (IS_BLANK(val)) {
+    /* Should not test IS_BLANK(val) here -- see erratum E20*/
+    while (val == 0x20) {
+	while (val == 0x20) {
 	    val = xmlStringCurrentChar(NULL, cur, &len);
 	    cur += len;
 	}
@@ -3417,8 +3471,9 @@
 	cur += len;
     }
 
-    while (IS_BLANK(val)) {
-	while (IS_BLANK(val)) {
+    /* Should not test IS_BLANK(val) here -- see erratum E20*/
+    while (val == 0x20) {
+	while (val == 0x20) {
 	    val = xmlStringCurrentChar(NULL, cur, &len);
 	    cur += len;
 	}
@@ -5360,7 +5415,9 @@
     xmlElementPtr elemDecl = NULL;
     const xmlChar *prefix = NULL;
 
-    if ((elem == NULL) || (elem->name == NULL)) return(NULL);
+    if ((ctxt == NULL) || (doc == NULL) || 
+        (elem == NULL) || (elem->name == NULL))
+        return(NULL);
     if (extsubset != NULL)
 	*extsubset = 0;
 
@@ -5422,6 +5479,8 @@
     xmlElementPtr eDecl;
     int extsubset = 0;
 
+    if (ctxt == NULL)
+        return(0);
 /* printf("PushElem %s\n", qname); */
     if ((ctxt->vstateNr > 0) && (ctxt->vstate != NULL)) {
 	xmlValidStatePtr state = ctxt->vstate;
@@ -5511,6 +5570,8 @@
     int ret = 1;
 
 /* printf("CDATA %s %d\n", data, len); */
+    if (ctxt == NULL)
+        return(0);
     if (len <= 0)
 	return(ret);
     if ((ctxt->vstateNr > 0) && (ctxt->vstate != NULL)) {
@@ -5584,6 +5645,8 @@
 		      const xmlChar *qname ATTRIBUTE_UNUSED) {
     int ret = 1;
 
+    if (ctxt == NULL)
+        return(0);
 /* printf("PopElem %s\n", qname); */
     if ((ctxt->vstateNr > 0) && (ctxt->vstate != NULL)) {
 	xmlValidStatePtr state = ctxt->vstate;
@@ -6271,6 +6334,8 @@
 xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
     xmlRefTablePtr table;
 
+    if (ctxt == NULL)
+        return(0);
     if (doc == NULL) {
         xmlErrValid(ctxt, XML_DTD_NO_DOC, 
 		"xmlValidateDocumentFinal: doc == NULL\n", NULL);
@@ -6301,7 +6366,10 @@
  *
  * Try to validate the document against the dtd instance
  *
- * basically it does check all the definitions in the DtD.
+ * Basically it does check all the definitions in the DtD.
+ * Note the the internal subset (if present) is de-coupled
+ * (i.e. not used), which could give problems if ID or IDREF
+ * is present.
  *
  * returns 1 if valid or 0 otherwise
  */
@@ -6309,16 +6377,19 @@
 int
 xmlValidateDtd(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlDtdPtr dtd) {
     int ret;
-    xmlDtdPtr oldExt;
+    xmlDtdPtr oldExt, oldInt;
     xmlNodePtr root;
 
     if (dtd == NULL) return(0);
     if (doc == NULL) return(0);
     oldExt = doc->extSubset;
+    oldInt = doc->intSubset;
     doc->extSubset = dtd;
+    doc->intSubset = NULL;
     ret = xmlValidateRoot(ctxt, doc);
     if (ret == 0) {
 	doc->extSubset = oldExt;
+	doc->intSubset = oldInt;
 	return(ret);
     }
     if (doc->ids != NULL) {
@@ -6333,6 +6404,7 @@
     ret = xmlValidateElement(ctxt, doc, root);
     ret &= xmlValidateDocumentFinal(ctxt, doc);
     doc->extSubset = oldExt;
+    doc->intSubset = oldInt;
     return(ret);
 }
 
@@ -6495,6 +6567,8 @@
     int ret;
     xmlNodePtr root;
 
+    if (doc == NULL)
+        return(0);
     if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) {
         xmlErrValid(ctxt, XML_DTD_NO_DTD,
 	            "no DTD found!\n", NULL);
@@ -6502,8 +6576,22 @@
     }
     if ((doc->intSubset != NULL) && ((doc->intSubset->SystemID != NULL) ||
 	(doc->intSubset->ExternalID != NULL)) && (doc->extSubset == NULL)) {
+	xmlChar *sysID;
+	if (doc->intSubset->SystemID != NULL) {
+	    sysID = xmlBuildURI(doc->intSubset->SystemID,
+	    		doc->URL);
+	    if (sysID == NULL) {
+	        xmlErrValid(ctxt, XML_DTD_LOAD_ERROR,
+			"Could not build URI for external subset \"%s\"\n",
+			(const char *) doc->intSubset->SystemID);
+		return 0;
+	    }
+	} else
+	    sysID = NULL;
         doc->extSubset = xmlParseDTD(doc->intSubset->ExternalID,
-		                     doc->intSubset->SystemID);
+			(const xmlChar *)sysID);
+	if (sysID != NULL)
+	    xmlFree(sysID);
         if (doc->extSubset == NULL) {
 	    if (doc->intSubset->SystemID != NULL) {
 		xmlErrValid(ctxt, XML_DTD_LOAD_ERROR,
@@ -6673,8 +6761,7 @@
     /*
      * Creates a dummy node and insert it into the tree
      */    
-    test_node = xmlNewNode (NULL, BAD_CAST "<!dummy?>");
-    test_node->doc = ref_node->doc;
+    test_node = xmlNewDocNode (ref_node->doc, NULL, BAD_CAST "<!dummy?>", NULL);
     test_node->parent = parent;
     test_node->prev = prev;
     test_node->next = next;

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

Modified: packages/libxml2/branches/unstable/win32/Makefile.mingw
===================================================================
--- packages/libxml2/branches/unstable/win32/Makefile.mingw	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/win32/Makefile.mingw	2005-02-16 19:06:11 UTC (rev 352)
@@ -79,7 +79,7 @@
 LIBS += -liconv
 endif 
 ifeq ($(WITH_ZLIB),1)
-LIBS += -lzlib
+LIBS += -lzdll
 endif
 ifeq ($(WITH_THREADS),posix)
 LIBS += -lpthreadGC

Modified: packages/libxml2/branches/unstable/win32/Makefile.msvc
===================================================================
--- packages/libxml2/branches/unstable/win32/Makefile.msvc	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/win32/Makefile.msvc	2005-02-16 19:06:11 UTC (rev 352)
@@ -69,7 +69,7 @@
 LIBS = $(LIBS) iconv.lib
 !endif 
 !if "$(WITH_ZLIB)" == "1"
-LIBS = $(LIBS) zlib.lib
+LIBS = $(LIBS) zdll.lib
 !endif
 !if "$(WITH_THREADS)" == "posix"
 LIBS = $(LIBS) pthreadVC.lib

Modified: packages/libxml2/branches/unstable/win32/configure.js
===================================================================
--- packages/libxml2/branches/unstable/win32/configure.js	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/win32/configure.js	2005-02-16 19:06:11 UTC (rev 352)
@@ -25,6 +25,8 @@
 var verMinor;
 var verMicro;
 var verMicroSuffix;
+var verCvs;
+var useCvsVer = true;
 /* Libxml features. */
 var withTrio = false;
 var withThreads = "native";
@@ -162,8 +164,23 @@
    file included by our makefile. */
 function discoverVersion()
 {
-	var fso, cf, vf, ln, s;
+	var fso, cf, vf, ln, s, iDot, iSlash;
 	fso = new ActiveXObject("Scripting.FileSystemObject");
+	verCvs = "";
+	if (useCvsVer && fso.FileExists("..\\CVS\\Entries")) {
+		cf = fso.OpenTextFile("..\\CVS\\Entries", 1);
+		while (cf.AtEndOfStream != true) {
+			ln = cf.ReadLine();
+			s = new String(ln);
+			if (s.search(/^\/ChangeLog\//) != -1) {
+				iDot = s.indexOf(".");
+				iSlash = s.indexOf("/", iDot);
+				verCvs = "CVS" + s.substring(iDot + 1, iSlash);
+				break;
+			}
+		}
+		cf.Close();
+	}
 	cf = fso.OpenTextFile(configFile, 1);
 	if (compiler == "msvc")
 		versionFile = ".\\config.msvc";
@@ -263,6 +280,8 @@
 		} else if (s.search(/\@LIBXML_VERSION_NUMBER\@/) != -1) {
 			of.WriteLine(s.replace(/\@LIBXML_VERSION_NUMBER\@/, 
 				verMajor*10000 + verMinor*100 + verMicro*1));
+		} else if (s.search(/\@LIBXML_VERSION_EXTRA\@/) != -1) {
+			of.WriteLine(s.replace(/\@LIBXML_VERSION_EXTRA\@/, verCvs));
 		} else if (s.search(/\@WITH_TRIO\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_TRIO\@/, withTrio? "1" : "0"));
 		} else if (s.search(/\@WITH_THREADS\@/) != -1) {
@@ -482,6 +501,8 @@
 			buildInclude = arg.substring(opt.length + 1, arg.length);
 		else if (opt == "lib")
 			buildLib = arg.substring(opt.length + 1, arg.length);
+		else if (opt == "release")
+			useCvsVer = false;
 		else
 			error = 1;
 	} else if (i == 0) {
@@ -525,7 +546,12 @@
 	WScript.Quit(error);
 }
 
-WScript.Echo(baseName + " version: " + verMajor + "." + verMinor + "." + verMicro);
+var outVerString = baseName + " version: " + verMajor + "." + verMinor + "." + verMicro;
+if (verMicroSuffix && verMicroSuffix != "")
+	outVerString += "-" + verMicroSuffix;
+if (verCvs && verCvs != "")
+	outVerString += "-" + verCvs;
+WScript.Echo(outVerString);
 
 // Configure libxml.
 configureLibxml();

Modified: packages/libxml2/branches/unstable/win32/libxml2.def.src
===================================================================
--- packages/libxml2/branches/unstable/win32/libxml2.def.src	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/win32/libxml2.def.src	2005-02-16 19:06:11 UTC (rev 352)
@@ -502,6 +502,9 @@
 xmlAutomataNewCountTrans
 #endif
 #ifdef LIBXML_AUTOMATA_ENABLED
+xmlAutomataNewCountTrans2
+#endif
+#ifdef LIBXML_AUTOMATA_ENABLED
 xmlAutomataNewCountedTrans
 #endif
 #ifdef LIBXML_AUTOMATA_ENABLED
@@ -517,6 +520,9 @@
 xmlAutomataNewOnceTrans
 #endif
 #ifdef LIBXML_AUTOMATA_ENABLED
+xmlAutomataNewOnceTrans2
+#endif
+#ifdef LIBXML_AUTOMATA_ENABLED
 xmlAutomataNewState
 #endif
 #ifdef LIBXML_AUTOMATA_ENABLED
@@ -693,6 +699,9 @@
 xmlCtxtUseOptions
 xmlCurrentChar
 #ifdef LIBXML_DEBUG_ENABLED
+xmlDebugCheckDocument
+#endif
+#ifdef LIBXML_DEBUG_ENABLED
 xmlDebugDumpAttr
 #endif
 #ifdef LIBXML_DEBUG_ENABLED
@@ -736,6 +745,7 @@
 xmlDictReference
 xmlDictSize
 xmlDocCopyNode
+xmlDocCopyNodeList
 xmlDocDump
 xmlDocDumpFormatMemory
 xmlDocDumpFormatMemoryEnc
@@ -966,6 +976,7 @@
 #ifdef DEBUG_MEMORY_LOCATION
 xmlMallocLoc
 #endif
+xmlMemBlocks
 xmlMemDisplay
 xmlMemFree
 xmlMemGet
@@ -1060,6 +1071,9 @@
 xmlNanoHTTPClose
 #endif
 #ifdef LIBXML_HTTP_ENABLED
+xmlNanoHTTPContentLength
+#endif
+#ifdef LIBXML_HTTP_ENABLED
 xmlNanoHTTPEncoding
 #endif
 #ifdef LIBXML_HTTP_ENABLED
@@ -1114,6 +1128,7 @@
 xmlNewDocFragment
 xmlNewDocNode
 xmlNewDocNodeEatName
+xmlNewDocPI
 xmlNewDocProp
 xmlNewDocRawNode
 xmlNewDocText
@@ -1222,6 +1237,7 @@
 xmlParseExternalID
 xmlParseExternalSubset
 xmlParseFile
+xmlParseInNodeContext
 xmlParseMarkupDecl
 xmlParseMemory
 xmlParseMisc
@@ -1364,6 +1380,9 @@
 xmlRelaxNGGetValidErrors
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlRelaxNGInitTypes
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlRelaxNGNewDocParserCtxt
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1508,9 +1527,18 @@
 xmlSchemaGetBuiltInType
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaGetFacetValueAsULong
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaGetParserErrors
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaGetPredefinedType
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaGetValidErrors
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaInitTypes
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1541,18 +1569,33 @@
 xmlSchemaSetValidErrors
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaSetValidOptions
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaValPredefTypeNode
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaValPredefTypeNodeNoNorm
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaValidCtxtGetOptions
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaValidateDoc
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaValidateFacet
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaValidateLengthFacet
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaValidateListSimpleTypeFacet
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaValidateOneElement
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaValidatePredefinedType
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1656,6 +1699,7 @@
 xmlTextReaderBaseUri
 xmlTextReaderClose
 xmlTextReaderConstBaseUri
+xmlTextReaderConstEncoding
 xmlTextReaderConstLocalName
 xmlTextReaderConstName
 xmlTextReaderConstNamespaceUri
@@ -1663,6 +1707,7 @@
 xmlTextReaderConstString
 xmlTextReaderConstValue
 xmlTextReaderConstXmlLang
+xmlTextReaderConstXmlVersion
 xmlTextReaderCurrentDoc
 xmlTextReaderCurrentNode
 xmlTextReaderDepth
@@ -1677,6 +1722,7 @@
 xmlTextReaderHasValue
 xmlTextReaderIsDefault
 xmlTextReaderIsEmptyElement
+xmlTextReaderIsNamespaceDecl
 xmlTextReaderIsValid
 xmlTextReaderLocalName
 xmlTextReaderLocatorBaseURI
@@ -1713,6 +1759,7 @@
 xmlTextReaderSetErrorHandler
 xmlTextReaderSetParserProp
 xmlTextReaderSetStructuredErrorHandler
+xmlTextReaderStandalone
 xmlTextReaderValue
 xmlTextReaderXmlLang
 xmlTextWriterEndAttribute

Modified: packages/libxml2/branches/unstable/xinclude.c
===================================================================
--- packages/libxml2/branches/unstable/xinclude.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xinclude.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -398,6 +398,9 @@
 	xmlFree(ctxt->txtTab);
     if (ctxt->txturlTab != NULL)
 	xmlFree(ctxt->txturlTab);
+    if (ctxt->base != NULL) {
+        xmlFree(ctxt->base);
+    }
     xmlFree(ctxt);
 }
 
@@ -681,7 +684,7 @@
 	/*
 	 * Inherit the existing base
 	 */
-	newctxt->base = ctxt->base;
+	newctxt->base = xmlStrdup(ctxt->base);
 
 	/*
 	 * Inherit the documents already in use by other includes
@@ -1459,6 +1462,16 @@
 	return(-1);
     }
     ctxt->incTab[nr]->doc = doc;
+    /*
+     * It's possible that the requested URL has been mapped to a
+     * completely different location (e.g. through a catalog entry).
+     * To check for this, we compare the URL with that of the doc
+     * and change it if they disagree (bug 146988).
+     */
+   if (!xmlStrEqual(URL, doc->URL)) {
+       xmlFree(URL);
+       URL = xmlStrdup(doc->URL);
+   }
     for (i = nr + 1; i < ctxt->incNr; i++) {
 	if (xmlStrEqual(URL, ctxt->incTab[i]->URI)) {
 	    ctxt->incTab[nr]->count++;
@@ -1853,7 +1866,7 @@
 	newctxt = xmlXIncludeNewContext(ctxt->doc);
 	if (newctxt == NULL)
 	    return (-1);
-	newctxt->base = ctxt->base;	/* Inherit the base from the existing context */
+	newctxt->base = xmlStrdup(ctxt->base);	/* Inherit the base from the existing context */
 	xmlXIncludeSetFlags(newctxt, ctxt->parseFlags);
 	ret = xmlXIncludeDoProcess(newctxt, ctxt->doc, fallback->children);
 	if (ctxt->nbErrors > 0)
@@ -1862,7 +1875,8 @@
 	    ret = 0;	/* xmlXIncludeDoProcess can return +ve number */
 	xmlXIncludeFreeContext(newctxt);
 
-	ctxt->incTab[nr]->inc = xmlCopyNodeList(fallback->children);
+	ctxt->incTab[nr]->inc = xmlDocCopyNodeList(ctxt->doc,
+	                                           fallback->children);
     } else {
         ctxt->incTab[nr]->inc = NULL;
 	ctxt->incTab[nr]->emptyFb = 1;	/* flag empty callback */
@@ -2106,28 +2120,43 @@
 	}
     }
 
-    /*
-     * Change the current node as an XInclude start one, and add an
-     * entity end one
-     */
-    cur->type = XML_XINCLUDE_START;
-    end = xmlNewNode(cur->ns, cur->name);
-    if (end == NULL) {
-	xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_BUILD_FAILED,
-	               "failed to build node\n", NULL);
-	return(-1);
-    }
-    end->type = XML_XINCLUDE_END;
-    xmlAddNextSibling(cur, end);
+    if (ctxt->parseFlags & XML_PARSE_NOXINCNODE) {
+	/*
+	 * Add the list of nodes
+	 */
+	while (list != NULL) {
+	    end = list;
+	    list = list->next;
 
-    /*
-     * Add the list of nodes
-     */
-    while (list != NULL) {
-	cur = list;
-	list = list->next;
+	    xmlAddPrevSibling(cur, end);
+	}
+	xmlUnlinkNode(cur);
+	xmlFreeNode(cur);
+    } else {
+	/*
+	 * Change the current node as an XInclude start one, and add an
+	 * XInclude end one
+	 */
+	cur->type = XML_XINCLUDE_START;
+	end = xmlNewDocNode(cur->doc, cur->ns, cur->name, NULL);
+	if (end == NULL) {
+	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
+	                   XML_XINCLUDE_BUILD_FAILED,
+			   "failed to build node\n", NULL);
+	    return(-1);
+	}
+	end->type = XML_XINCLUDE_END;
+	xmlAddNextSibling(cur, end);
 
-        xmlAddPrevSibling(end, cur);
+	/*
+	 * Add the list of nodes
+	 */
+	while (list != NULL) {
+	    cur = list;
+	    list = list->next;
+
+	    xmlAddPrevSibling(end, cur);
+	}
     }
 
     
@@ -2346,7 +2375,7 @@
     ctxt = xmlXIncludeNewContext(doc);
     if (ctxt == NULL)
 	return(-1);
-    ctxt->base = (xmlChar *)doc->URL;
+    ctxt->base = xmlStrdup((xmlChar *)doc->URL);
     xmlXIncludeSetFlags(ctxt, flags);
     ret = xmlXIncludeDoProcess(ctxt, doc, tree);
     if ((ret >= 0) && (ctxt->nbErrors > 0))

Modified: packages/libxml2/branches/unstable/xmlIO.c
===================================================================
--- packages/libxml2/branches/unstable/xmlIO.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlIO.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -420,7 +420,8 @@
 	    channel = ctxt->sax->warning;
 	    level = XML_ERR_WARNING;
 	}
-	schannel = ctxt->sax->serror;
+	if (ctxt->sax->initialized == XML_SAX2_MAGIC)
+	    schannel = ctxt->sax->serror;
 	data = ctxt->userData;
     }
     __xmlRaiseError(schannel, channel, data, ctxt, NULL, XML_FROM_IO,
@@ -476,7 +477,7 @@
 }
 
 /**
- * xmlPopInputCallback:
+ * xmlPopInputCallbacks:
  *
  * Clear the top input callback from the input stack. this includes the
  * compiled-in I/O. 
@@ -554,6 +555,9 @@
 #ifdef HAVE_STAT
     struct stat stat_buffer;
 
+    if (path == NULL)
+        return(0);
+
     if (stat(path, &stat_buffer) == -1)
         return 0;
 
@@ -563,6 +567,9 @@
     }
 #endif
 #endif
+    if (path == NULL)
+        return(0);
+
     return 1;
 }
 
@@ -654,6 +661,9 @@
     const char *path = NULL;
     FILE *fd;
 
+    if (filename == NULL)
+        return(NULL);
+
     if (!strcmp(filename, "-")) {
 	fd = stdin;
 	return((void *) fd);
@@ -701,13 +711,14 @@
 xmlFileOpen (const char *filename) {
     char *unescaped;
     void *retval;
+
     unescaped = xmlURIUnescapeString(filename, 0, NULL);
     if (unescaped != NULL) {
 	retval = xmlFileOpen_real(unescaped);
+	xmlFree(unescaped);
     } else {
 	retval = xmlFileOpen_real(filename);
     }
-    xmlFree(unescaped);
     return retval;
 }
 
@@ -763,11 +774,13 @@
  *
  * Read @len bytes to @buffer from the I/O channel.
  *
- * Returns the number of bytes written
+ * Returns the number of bytes written or < 0 in case of failure
  */
 int
 xmlFileRead (void * context, char * buffer, int len) {
     int ret;
+    if ((context == NULL) || (buffer == NULL)) 
+        return(-1);
     ret = fread(&buffer[0], 1,  len, (FILE *) context);
     if (ret < 0) xmlIOErr(0, "fread()");
     return(ret);
@@ -788,6 +801,8 @@
 xmlFileWrite (void * context, const char * buffer, int len) {
     int items;
 
+    if ((context == NULL) || (buffer == NULL)) 
+        return(-1);
     items = fwrite(&buffer[0], len, 1, (FILE *) context);
     if ((items == 0) && (ferror((FILE *) context))) {
         xmlIOErr(0, "fwrite()");
@@ -810,6 +825,8 @@
     FILE *fil;
     int ret;
 
+    if (context == NULL)
+        return(-1);
     fil = (FILE *) context;
     if ((fil == stdout) || (fil == stderr)) {
         ret = fflush(fil);
@@ -834,6 +851,9 @@
 static int
 xmlFileFlush (void * context) {
     int ret;
+
+    if (context == NULL)
+        return(-1);
     ret = ( fflush((FILE *) context) == EOF ) ? -1 : 0;
     if (ret < 0)
         xmlIOErr(0, "fflush()");
@@ -1530,6 +1550,7 @@
  */
 int 
 xmlIOHTTPRead(void * context, char * buffer, int len) {
+    if ((buffer == NULL) || (len < 0)) return(-1);
     return(xmlNanoHTTPRead(context, &buffer[0], len));
 }
 
@@ -1808,6 +1829,7 @@
  */
 int 
 xmlIOFTPRead(void * context, char * buffer, int len) {
+    if ((buffer == NULL) || (len < 0)) return(-1);
     return(xmlNanoFTPRead(context, &buffer[0], len));
 }
 
@@ -2180,6 +2202,9 @@
 	}
 #endif
     }
+    else
+      xmlInputCallbackTable[i].closecallback (context);
+
     return(ret);
 }
 
@@ -2214,7 +2239,9 @@
     int i = 0;
     void *context = NULL;
     char *unescaped = NULL;
+#ifdef HAVE_ZLIB_H
     int is_file_uri = 1;
+#endif
 
     if (xmlOutputCallbackInitialized == 0)
 	xmlRegisterDefaultOutputCallbacks();
@@ -2225,7 +2252,9 @@
     if (puri != NULL) {
         if ((puri->scheme != NULL) &&
 	    (!xmlStrEqual(BAD_CAST puri->scheme, BAD_CAST "file")))
+#ifdef HAVE_ZLIB_H
 	    is_file_uri = 0;
+#endif
 	/*
 	 * try to limit the damages of the URI unescaping code.
 	 */
@@ -2449,6 +2478,7 @@
 xmlParserInputBufferPtr
 xmlParserInputBufferCreateMem(const char *mem, int size, xmlCharEncoding enc) {
     xmlParserInputBufferPtr ret;
+    int errcode;
 
     if (size <= 0) return(NULL);
     if (mem == NULL) return(NULL);
@@ -2458,7 +2488,11 @@
         ret->context = (void *) mem;
 	ret->readcallback = (xmlInputReadCallback) xmlNop;
 	ret->closecallback = NULL;
-	xmlBufferAdd(ret->buffer, (const xmlChar *) mem, size);
+	errcode = xmlBufferAdd(ret->buffer, (const xmlChar *) mem, size);
+	if (errcode != 0) {
+	    xmlFree(ret);
+	    return(NULL);
+	}
     }
 
     return(ret);
@@ -2656,6 +2690,7 @@
 xmlParserInputBufferPush(xmlParserInputBufferPtr in,
 	                 int len, const char *buf) {
     int nbchars = 0;
+    int ret;
 
     if (len < 0) return(0);
     if ((in == NULL) || (in->error)) return(-1);
@@ -2668,7 +2703,9 @@
         if (in->raw == NULL) {
 	    in->raw = xmlBufferCreate();
 	}
-	xmlBufferAdd(in->raw, (const xmlChar *) buf, len);
+	ret = xmlBufferAdd(in->raw, (const xmlChar *) buf, len);
+	if (ret != 0)
+	    return(-1);
 
 	/*
 	 * convert as much as possible to the parser reading buffer.
@@ -2683,7 +2720,9 @@
 	in->rawconsumed += (use - in->raw->use);
     } else {
 	nbchars = len;
-        xmlBufferAdd(in->buffer, (xmlChar *) buf, nbchars);
+        ret = xmlBufferAdd(in->buffer, (xmlChar *) buf, nbchars);
+	if (ret != 0)
+	    return(-1);
     }
 #ifdef DEBUG_INPUT
     xmlGenericError(xmlGenericErrorContext,
@@ -2737,7 +2776,7 @@
     if (buffree <= 0) {
 	xmlIOErr(XML_IO_BUFFER_FULL, NULL);
 	in->error = XML_IO_BUFFER_FULL;
-	return(0);
+	return(-1);
     }
 
     needSize = in->buffer->use + len + 1;
@@ -2745,7 +2784,7 @@
         if (!xmlBufferResize(in->buffer, needSize)){
 	    xmlIOErrMemory("growing input buffer");
 	    in->error = XML_ERR_NO_MEMORY;
-            return(0);
+            return(-1);
         }
     }
     buffer = (char *)&in->buffer->content[in->buffer->use];
@@ -2775,7 +2814,9 @@
         if (in->raw == NULL) {
 	    in->raw = xmlBufferCreate();
 	}
-	xmlBufferAdd(in->raw, (const xmlChar *) buffer, len);
+	res = xmlBufferAdd(in->raw, (const xmlChar *) buffer, len);
+	if (res != 0)
+	    return(-1);
 
 	/*
 	 * convert as much as possible to the parser reading buffer.
@@ -2866,7 +2907,9 @@
 	    if (out->conv == NULL) {
 		out->conv = xmlBufferCreate();
 	    }
-	    xmlBufferAdd(out->buffer, (const xmlChar *) buf, chunk);
+	    ret = xmlBufferAdd(out->buffer, (const xmlChar *) buf, chunk);
+	    if (ret != 0)
+	        return(-1);
 
 	    if ((out->buffer->use < MINLEN) && (chunk == len))
 		goto done;
@@ -2882,7 +2925,9 @@
 	    }
 	    nbchars = out->conv->use;
 	} else {
-	    xmlBufferAdd(out->buffer, (const xmlChar *) buf, chunk);
+	    ret = xmlBufferAdd(out->buffer, (const xmlChar *) buf, chunk);
+	    if (ret != 0)
+	        return(-1);
 	    nbchars = out->buffer->use;
 	}
 	buf += chunk;
@@ -3005,17 +3050,22 @@
     int nbchars = 0; /* number of chars to output to I/O */
     int ret;         /* return from function call */
     int written = 0; /* number of char written to I/O so far */
+    int oldwritten=0;/* loop guard */
     int chunk;       /* number of byte currently processed from str */
     int len;         /* number of bytes in str */
     int cons;        /* byte from str consumed */
 
-    if ((out == NULL) || (out->error) || (str == NULL)) return(-1);
+    if ((out == NULL) || (out->error) || (str == NULL) ||
+        (out->buffer == NULL) ||
+	(out->buffer->alloc == XML_BUFFER_ALLOC_IMMUTABLE)) return(-1);
     len = strlen((const char *)str);
     if (len < 0) return(0);
     if (out->error) return(-1);
     if (escaping == NULL) escaping = xmlEscapeContent;
 
     do {
+        oldwritten = written;
+
         /*
 	 * how many bytes to consume and how many bytes to store.
 	 */
@@ -3092,7 +3142,7 @@
 	    xmlBufferResize(out->buffer, out->buffer->size + MINLEN);
 	}
 	written += nbchars;
-    } while (len > 0);
+    } while ((len > 0) && (oldwritten != written));
 
 done:
 #ifdef DEBUG_INPUT
@@ -3389,7 +3439,7 @@
         /*
          * Do a local lookup
          */
-        if ((ctxt->catalogs != NULL) &&
+        if ((ctxt != NULL) && (ctxt->catalogs != NULL) &&
             ((pref == XML_CATA_ALLOW_ALL) ||
              (pref == XML_CATA_ALLOW_DOCUMENT))) {
             resource = xmlCatalogLocalResolve(ctxt->catalogs,
@@ -3415,7 +3465,7 @@
             && (!xmlSysIDExists((const char *) resource))) {
             xmlChar *tmp = NULL;
 
-            if ((ctxt->catalogs != NULL) &&
+            if ((ctxt != NULL) && (ctxt->catalogs != NULL) &&
                 ((pref == XML_CATA_ALLOW_ALL) ||
                  (pref == XML_CATA_ALLOW_DOCUMENT))) {
                 tmp = xmlCatalogLocalResolveURI(ctxt->catalogs, resource);
@@ -3577,7 +3627,7 @@
 	/*
 	 * Do a local lookup
 	 */
-	if ((ctxt->catalogs != NULL) &&
+	if ((ctxt != NULL) && (ctxt->catalogs != NULL) &&
 	    ((pref == XML_CATA_ALLOW_ALL) ||
 	     (pref == XML_CATA_ALLOW_DOCUMENT))) {
 	    resource = xmlCatalogLocalResolve(ctxt->catalogs,
@@ -3602,7 +3652,7 @@
 	if ((resource != NULL) && (!xmlNoNetExists((const char *)resource))) {
 	    xmlChar *tmp = NULL;
 
-	    if ((ctxt->catalogs != NULL) &&
+	    if ((ctxt != NULL) && (ctxt->catalogs != NULL) &&
 		((pref == XML_CATA_ALLOW_ALL) ||
 		 (pref == XML_CATA_ALLOW_DOCUMENT))) {
 		tmp = xmlCatalogLocalResolveURI(ctxt->catalogs, resource);

Modified: packages/libxml2/branches/unstable/xmlcatalog.c
===================================================================
--- packages/libxml2/branches/unstable/xmlcatalog.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlcatalog.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -37,6 +37,7 @@
 static int add = 0;
 static int del = 0;
 static int convert = 0;
+static int no_super_update = 0;
 static int verbose = 0;
 static char *filename = NULL;
 
@@ -306,17 +307,22 @@
  * 									*
  ************************************************************************/
 static void usage(const char *name) {
-    printf("Usage : %s [options] catalogfile entities...\n", name);
-    printf("\tParse the catalog file and query it for the entities\n");
-    printf("\t--sgml : handle SGML Super catalogs for --add and --del\n");
-    printf("\t--shell : run a shell allowing interactive queries\n");
-    printf("\t--create : create a new catalog\n");
-    printf("\t--add 'type' 'orig' 'replace' : add an entry\n");
-    printf("\t--del 'values' : remove values\n");
-    printf("\t--noout: avoid dumping the result on stdout\n");
-    printf("\t         used with add or del, it saves the catalog changes\n");
-    printf("\t         and with --sgml it also updates the super catalog\n");
-    printf("\t-v --verbose : provide debug informations\n");
+    /* split into 2 printf's to avoid overly long string (gcc warning) */
+    printf("\
+Usage : %s [options] catalogfile entities...\n\
+\tParse the catalog file and query it for the entities\n\
+\t--sgml : handle SGML Super catalogs for --add and --del\n\
+\t--shell : run a shell allowing interactive queries\n\
+\t--create : create a new catalog\n\
+\t--add 'type' 'orig' 'replace' : add an XML entry\n\
+\t--add 'entry' : add an SGML entry\n", name);
+    printf("\
+\t--del 'values' : remove values\n\
+\t--noout: avoid dumping the result on stdout\n\
+\t         used with --add or --del, it saves the catalog changes\n\
+\t         and with --sgml it automatically updates the super catalog\n\
+\t--no-super-update: do not update the SGML super catalog\n\
+\t-v --verbose : provide debug informations\n");
 }
 int main(int argc, char **argv) {
     int i;
@@ -357,6 +363,9 @@
 	} else if ((!strcmp(argv[i], "-convert")) ||
 	    (!strcmp(argv[i], "--convert"))) {
 	    convert++;
+	} else if ((!strcmp(argv[i], "-no-super-update")) ||
+	    (!strcmp(argv[i], "--no-super-update"))) {
+	    no_super_update++;
 	} else if ((!strcmp(argv[i], "-add")) ||
 	    (!strcmp(argv[i], "--add"))) {
 	    if (sgml)
@@ -386,6 +395,14 @@
 	} else if ((!strcmp(argv[i], "-del")) ||
 	    (!strcmp(argv[i], "--del"))) {
 	    i += 1;
+
+	    /* No catalog entry specified */
+	    if (i == argc || (sgml && i + 1 == argc)) {
+		fprintf(stderr, "No catalog entry specified to remove from\n");
+		usage (argv[0]);
+		return(1);
+	    }
+
 	    continue;
 	} else if (argv[i][0] == '-')
 	    continue;
@@ -424,14 +441,17 @@
 		    (!strcmp(argv[i], "--add"))) {
 		    if (catal == NULL)
 			catal = xmlNewCatalog(1);
-		    super = xmlLoadSGMLSuperCatalog(XML_SGML_DEFAULT_CATALOG);
-		    if (super == NULL)
-			super = xmlNewCatalog(1);
-
 		    xmlACatalogAdd(catal, BAD_CAST "CATALOG",
 					 BAD_CAST argv[i + 2], NULL);
-		    xmlACatalogAdd(super, BAD_CAST "CATALOG",
-					 BAD_CAST argv[i + 1], NULL);
+
+		    if (!no_super_update) {
+			super = xmlLoadSGMLSuperCatalog(XML_SGML_DEFAULT_CATALOG);
+			if (super == NULL)
+			    super = xmlNewCatalog(1);
+
+			xmlACatalogAdd(super, BAD_CAST "CATALOG",
+					     BAD_CAST argv[i + 1], NULL);
+		    }
 		} else {
 		    if (catal != NULL)
 			ret = xmlACatalogRemove(catal, BAD_CAST argv[i + 2]);
@@ -442,7 +462,7 @@
 				argv[i + 1]);
 			exit_value = 1;
 		    }
-		    if ((noout) && (catal != NULL) &&
+		    if ((!no_super_update) && (noout) && (catal != NULL) &&
 			(xmlCatalogIsEmpty(catal))) {
 			super = xmlLoadSGMLSuperCatalog(
 				   XML_SGML_DEFAULT_CATALOG);
@@ -475,7 +495,7 @@
 			    fclose(out);
 			}
 		    }
-		    if (super != NULL) {
+		    if (!no_super_update && super != NULL) {
 			if (xmlCatalogIsEmpty(super)) {
 			    remove(XML_SGML_DEFAULT_CATALOG);
 			} else {

Modified: packages/libxml2/branches/unstable/xmllint.c
===================================================================
--- packages/libxml2/branches/unstable/xmllint.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmllint.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -92,6 +92,9 @@
 #ifdef LIBXML_PATTERN_ENABLED
 #include <libxml/pattern.h>
 #endif
+#ifdef LIBXML_C14N_ENABLED
+#include <libxml/c14n.h>
+#endif
 
 #ifndef XML_XML_DEFAULT_CATALOG
 #define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
@@ -168,6 +171,9 @@
 static int catalogs = 0;
 static int nocatalogs = 0;
 #endif
+#ifdef LIBXML_C14N_ENABLED
+static int canonical = 0;
+#endif
 #ifdef LIBXML_READER_ENABLED
 static int stream = 0;
 static int walker = 0;
@@ -184,6 +190,115 @@
 static int options = 0;
 
 /************************************************************************
+ *									*
+ *		 Entity loading control and customization.		*
+ *									*
+ ************************************************************************/
+#define MAX_PATHS 64
+static xmlChar *paths[MAX_PATHS + 1];
+static int nbpaths = 0;
+static int load_trace = 0;
+
+static
+void parsePath(const xmlChar *path) {
+    const xmlChar *cur;
+
+    if (path == NULL)
+	return;
+    while (*path != 0) {
+	if (nbpaths >= MAX_PATHS) {
+	    fprintf(stderr, "MAX_PATHS reached: too many paths\n");
+	    return;
+	}
+	cur = path;
+	while ((*cur == ' ') || (*cur == ':'))
+	    cur++;
+	path = cur;
+	while ((*cur != 0) && (*cur != ' ') && (*cur != ':'))
+	    cur++;
+	if (cur != path) {
+	    paths[nbpaths] = xmlStrndup(path, cur - path);
+	    if (paths[nbpaths] != NULL)
+		nbpaths++;
+	    path = cur;
+	}
+    }
+}
+
+xmlExternalEntityLoader defaultEntityLoader = NULL;
+
+static xmlParserInputPtr 
+xmllintExternalEntityLoader(const char *URL, const char *ID,
+			     xmlParserCtxtPtr ctxt) {
+    xmlParserInputPtr ret;
+    warningSAXFunc warning = NULL;
+
+    int i;
+    const char *lastsegment = URL;
+    const char *iter = URL;
+
+    if (nbpaths > 0) {
+	while (*iter != 0) {
+	    if (*iter == '/')
+		lastsegment = iter + 1;
+	    iter++;
+	}
+    }
+
+    if ((ctxt != NULL) && (ctxt->sax != NULL)) {
+	warning = ctxt->sax->warning;
+	ctxt->sax->warning = NULL;
+    }
+
+    if (defaultEntityLoader != NULL) {
+	ret = defaultEntityLoader(URL, ID, ctxt);
+	if (ret != NULL) {
+	    if (warning != NULL)
+		ctxt->sax->warning = warning;
+	    if (load_trace) {
+		fprintf \
+			(stderr,
+			 "Loaded URL=\"%s\" ID=\"%s\"\n",
+			 URL ? URL : "(null)",
+			 ID ? ID : "(null)");
+	    }
+	    return(ret);
+	}
+    }
+    for (i = 0;i < nbpaths;i++) {
+	xmlChar *newURL;
+
+	newURL = xmlStrdup((const xmlChar *) paths[i]);
+	newURL = xmlStrcat(newURL, (const xmlChar *) "/");
+	newURL = xmlStrcat(newURL, (const xmlChar *) lastsegment);
+	if (newURL != NULL) {
+	    ret = defaultEntityLoader((const char *)newURL, ID, ctxt);
+	    if (ret != NULL) {
+		if (warning != NULL)
+		    ctxt->sax->warning = warning;
+		if (load_trace) {
+		    fprintf \
+		    	(stderr,
+		    	 "Loaded URL=\"%s\" ID=\"%s\"\n",
+			 newURL,
+		    	 ID ? ID : "(null)");
+		}
+		xmlFree(newURL);
+		return(ret);
+	    }
+	    xmlFree(newURL);
+	}
+    }
+    if (warning != NULL) {
+	ctxt->sax->warning = warning;
+	if (URL != NULL)
+	    warning(ctxt, "failed to load external entity \"%s\"\n", URL);
+	else if (ID != NULL)
+	    warning(ctxt, "failed to load external entity \"%s\"\n", ID);
+    }
+    return(NULL);
+}
+/************************************************************************
  * 									*
  * Memory allocation consumption debugging				*
  * 									*
@@ -623,6 +738,7 @@
  * 									*
  ************************************************************************/
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
 /**
  * xmlShellReadline:
  * @prompt:  the prompt value
@@ -663,6 +779,7 @@
     return(ret);
 #endif
 }
+#endif /* LIBXML_XPATH_ENABLED */
 #endif /* LIBXML_DEBUG_ENABLED */
 
 /************************************************************************
@@ -890,7 +1007,7 @@
 	    xmlNodePtr n;
 
 	    doc = xmlNewDoc(BAD_CAST "1.0");
-	    n = xmlNewNode(NULL, BAD_CAST "info");
+	    n = xmlNewDocNode(doc, NULL, BAD_CAST "info", NULL);
 	    xmlNodeSetContent(n, BAD_CAST "abc");
 	    xmlDocSetRootElement(doc, n);
 	}
@@ -1108,12 +1225,14 @@
 #endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#ifdef LIBXML_XPATH_ENABLED
     /*
      * shell interaction
      */
     if (shell)  
         xmlShell(doc, filename, xmlShellReadline, stdout);
 #endif
+#endif
 
 #ifdef LIBXML_TREE_ENABLED
     /*
@@ -1121,8 +1240,20 @@
      */
     if (copy) {
         tmp = doc;
+	if (timing) {
+	    startTimer();
+	}
 	doc = xmlCopyDoc(doc, 1);
+	if (timing) {
+	    endTimer("Copying");
+	}
+	if (timing) {
+	    startTimer();
+	}
 	xmlFreeDoc(tmp);
+	if (timing) {
+	    endTimer("Freeing original");
+	}
     }
 #endif /* LIBXML_TREE_ENABLED */
 
@@ -1209,6 +1340,21 @@
 		}
 	    } else
 #endif
+#ifdef LIBXML_C14N_ENABLED
+            if (canonical) {
+	        xmlChar *result = NULL;
+		int size;
+
+		size = xmlC14NDocDumpMemory(doc, NULL, 0, NULL, 1, &result);
+		if (size >= 0) {
+		    write(1, result, size);
+		    xmlFree(result);
+		} else {
+		    fprintf(stderr, "Failed to canonicalize\n");
+		    progresult = XMLLINT_ERR_OUT;
+		}
+	    } else
+#endif
 #ifdef HAVE_SYS_MMAN_H
 	    if (memory) {
 		xmlChar *result;
@@ -1228,6 +1374,7 @@
 		}
 		if (result == NULL) {
 		    fprintf(stderr, "Failed to save\n");
+		    progresult = XMLLINT_ERR_OUT;
 		} else {
 		    write(1, result, len);
 		    xmlFree(result);
@@ -1542,6 +1689,8 @@
     printf("\t--recover : output what was parsable on broken XML documents\n");
     printf("\t--noent : substitute entity references by their value\n");
     printf("\t--noout : don't output the result tree\n");
+    printf("\t--path 'paths': provide a set of paths for resources\n");
+    printf("\t--load-trace : print trace of all external entites loaded\n");
     printf("\t--nonet : refuse to fetch DTDs or entities over network\n");
     printf("\t--htmlout : output results as HTML\n");
     printf("\t--nowrap : do not put HTML doc wrapper\n");
@@ -1579,6 +1728,9 @@
     printf("\t--encode encoding : output in the given encoding\n");
     printf("\t--dropdtd : remove the DOCTYPE of the input docs\n");
 #endif /* LIBXML_OUTPUT_ENABLED */
+    printf("\t--c14n: save in W3C canonical format (with comments)\n");
+#ifdef LIBXML_C14N_ENABLED
+#endif /* LIBXML_C14N_ENABLED */
     printf("\t--nsclean : remove redundant namespace declarations\n");
     printf("\t--testIO : test user I/O support\n");
 #ifdef LIBXML_CATALOG_ENABLED
@@ -1590,6 +1742,7 @@
     printf("\t--auto : generate a small doc on the fly\n");
 #ifdef LIBXML_XINCLUDE_ENABLED
     printf("\t--xinclude : do XInclude processing\n");
+    printf("\t--noxincludenode : same but do not generate XInclude nodes\n");
 #endif
     printf("\t--loaddtd : fetch external DTD\n");
     printf("\t--dtdattr : loaddtd + populate the tree with inherited attributes \n");
@@ -1777,6 +1930,12 @@
 	    xinclude++;
 	    options |= XML_PARSE_XINCLUDE;
 	}
+	else if ((!strcmp(argv[i], "-noxincludenode")) ||
+	         (!strcmp(argv[i], "--noxincludenode"))) {
+	    xinclude++;
+	    options |= XML_PARSE_XINCLUDE;
+	    options |= XML_PARSE_NOXINCNODE;
+	}
 #endif
 #ifdef LIBXML_OUTPUT_ENABLED
 #ifdef HAVE_ZLIB_H
@@ -1806,6 +1965,13 @@
 	    xmlParserDebugEntities = 1;
 	} 
 #endif
+#ifdef LIBXML_C14N_ENABLED
+	else if ((!strcmp(argv[i], "-c14n")) ||
+		 (!strcmp(argv[i], "--c14n"))) {
+	    canonical++;
+	    options |= XML_PARSE_NOENT | XML_PARSE_DTDATTR | XML_PARSE_DTDLOAD;
+	} 
+#endif
 #ifdef LIBXML_CATALOG_ENABLED
 	else if ((!strcmp(argv[i], "-catalogs")) ||
 		 (!strcmp(argv[i], "--catalogs"))) {
@@ -1883,6 +2049,13 @@
         } else if ((!strcmp(argv[i], "-nonet")) ||
                    (!strcmp(argv[i], "--nonet"))) {
 	    options |= XML_PARSE_NONET;
+	} else if ((!strcmp(argv[i], "-load-trace")) ||
+	           (!strcmp(argv[i], "--load-trace"))) {
+	    load_trace++;
+        } else if ((!strcmp(argv[i], "-path")) ||
+                   (!strcmp(argv[i], "--path"))) {
+	    i++;
+	    parsePath(BAD_CAST argv[i]);
 #ifdef LIBXML_PATTERN_ENABLED
         } else if ((!strcmp(argv[i], "-pattern")) ||
                    (!strcmp(argv[i], "--pattern"))) {
@@ -1929,6 +2102,9 @@
     }
     
 
+    defaultEntityLoader = xmlGetExternalEntityLoader();
+    xmlSetExternalEntityLoader(xmllintExternalEntityLoader);
+
     xmlLineNumbersDefault(1);
     if (loaddtd != 0)
 	xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS;
@@ -2036,6 +2212,11 @@
 	         (!strcmp(argv[i], "--dtdvalid"))) {
 	    i++;
 	    continue;
+        } 
+	if ((!strcmp(argv[i], "-path")) ||
+                   (!strcmp(argv[i], "--path"))) {
+            i++;
+	    continue;
         }
 	if ((!strcmp(argv[i], "-dtdvalidfpi")) ||
 	         (!strcmp(argv[i], "--dtdvalidfpi"))) {

Modified: packages/libxml2/branches/unstable/xmlmemory.c
===================================================================
--- packages/libxml2/branches/unstable/xmlmemory.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlmemory.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -50,6 +50,7 @@
 
 static int xmlMemInitialized = 0;
 static unsigned long  debugMemSize = 0;
+static unsigned long  debugMemBlocks = 0;
 static unsigned long  debugMaxMemSize = 0;
 static xmlMutexPtr xmlMemMutex = NULL;
 
@@ -186,6 +187,7 @@
     xmlMutexLock(xmlMemMutex);
     p->mh_number = ++block;
     debugMemSize += size;
+    debugMemBlocks++;
     if (debugMemSize > debugMaxMemSize) debugMaxMemSize = debugMemSize;
 #ifdef MEM_LIST
     debugmem_list_add(p);
@@ -253,6 +255,7 @@
     xmlMutexLock(xmlMemMutex);
     p->mh_number = ++block;
     debugMemSize += size;
+    debugMemBlocks++;
     if (debugMemSize > debugMaxMemSize) debugMaxMemSize = debugMemSize;
 #ifdef MEM_LIST
     debugmem_list_add(p);
@@ -329,6 +332,7 @@
     p->mh_tag = ~MEMTAG;
     xmlMutexLock(xmlMemMutex);
     debugMemSize -= p->mh_size;
+    debugMemBlocks--;
 #ifdef DEBUG_MEMORY
     oldsize = p->mh_size;
 #endif
@@ -355,6 +359,7 @@
     p->mh_line = line;
     xmlMutexLock(xmlMemMutex);
     debugMemSize += size;
+    debugMemBlocks++;
     if (debugMemSize > debugMaxMemSize) debugMaxMemSize = debugMemSize;
 #ifdef MEM_LIST
     debugmem_list_add(p);
@@ -428,6 +433,7 @@
     memset(target, -1, p->mh_size);
     xmlMutexLock(xmlMemMutex);
     debugMemSize -= p->mh_size;
+    debugMemBlocks--;
 #ifdef DEBUG_MEMORY
     size = p->mh_size;
 #endif
@@ -487,6 +493,7 @@
     xmlMutexLock(xmlMemMutex);
     p->mh_number = ++block;
     debugMemSize += size;
+    debugMemBlocks++;
     if (debugMemSize > debugMaxMemSize) debugMaxMemSize = debugMemSize;
 #ifdef MEM_LIST
     debugmem_list_add(p);
@@ -543,6 +550,19 @@
      return(debugMemSize);
 }
 
+/**
+ * xmlMemBlocks:
+ *
+ * Provides the number of memory areas currently allocated
+ *
+ * Returns an int representing the number of blocks
+ */
+
+int
+xmlMemBlocks(void) {
+     return(debugMemBlocks);
+}
+
 #ifdef MEM_LIST
 /**
  * xmlMemContentShow:
@@ -644,11 +664,11 @@
            case MALLOC_ATOMIC_TYPE:fprintf(fp,"atomicmalloc()  in ");break;
            case REALLOC_ATOMIC_TYPE:fprintf(fp,"atomicrealloc() in ");break;
            default:
-	        fprintf(fp,"Unknow memory block, corruped maybe");
+	        fprintf(fp,"Unknown memory block, may be corrupted");
 		xmlMutexUnlock(xmlMemMutex);
 		return;
         }
-	if (p->mh_file != NULL) fprintf(fp,"%s(%d)", p->mh_file, p->mh_line);
+	if (p->mh_file != NULL) fprintf(fp,"%s(%u)", p->mh_file, p->mh_line);
         if (p->mh_tag != MEMTAG)
 	      fprintf(fp,"  INVALID");
         nb++;
@@ -750,7 +770,7 @@
 		default:fprintf(fp,"   ???    in ");break;
 	    }
 	    if (p->mh_file != NULL)
-	        fprintf(fp,"%s(%d)", p->mh_file, p->mh_line);
+	        fprintf(fp,"%s(%u)", p->mh_file, p->mh_line);
 	    if (p->mh_tag != MEMTAG)
 		fprintf(fp,"  INVALID");
 	    xmlMemContentShow(fp, p);
@@ -805,13 +825,13 @@
 int
 xmlInitMemory(void)
 {
+#ifdef HAVE_STDLIB_H
+     char *breakpoint;
+#endif     
 #ifdef DEBUG_MEMORY
      xmlGenericError(xmlGenericErrorContext,
 	     "xmlInitMemory()\n");
 #endif     
-#ifdef HAVE_STDLIB_H
-     char *breakpoint;
-#endif     
     /*
      This is really not good code (see Bug 130419).  Suggestions for
      improvement will be welcome!

Modified: packages/libxml2/branches/unstable/xmlreader.c
===================================================================
--- packages/libxml2/branches/unstable/xmlreader.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlreader.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -13,8 +13,6 @@
 /*
  * TODOs:
  *   - XML Schemas validation
- *   - setting(s) for NoBlanks
- *   - performances and tuning ...
  */
 #define IN_LIBXML
 #include "libxml.h"
@@ -825,7 +823,7 @@
 		          (const char *) &inbuf->content[reader->cur],
 			  CHUNK_SIZE, 0);
 	    reader->cur += CHUNK_SIZE;
-	    if ((val != 0) && (reader->ctxt->wellFormed == 0))
+	    if ((val != 0) || (reader->ctxt->wellFormed == 0))
 		return(-1);
 	} else {
 	    s = inbuf->use - reader->cur;
@@ -833,7 +831,7 @@
 		          (const char *) &inbuf->content[reader->cur],
 			  s, 0);
 	    reader->cur += s;
-	    if ((val != 0) && (reader->ctxt->wellFormed == 0))
+	    if ((val != 0) || (reader->ctxt->wellFormed == 0))
 		return(-1);
 	    break;
 	}
@@ -866,7 +864,7 @@
 		    s, 1);
 	    reader->cur = inbuf->use;
 	    reader->mode = XML_TEXTREADER_DONE;
-	    if ((val != 0) && (reader->ctxt->wellFormed == 0))
+	    if ((val != 0) || (reader->ctxt->wellFormed == 0))
 	        return(-1);
 	}
     }
@@ -1181,9 +1179,10 @@
     xmlTextReaderState oldstate = XML_TEXTREADER_START;
     xmlNodePtr oldnode = NULL;
 
-    
+   
     if (reader == NULL)
 	return(-1);
+    reader->curnode = NULL;
     if (reader->doc != NULL)
         return(xmlTextReaderReadTree(reader));
     if (reader->ctxt == NULL)
@@ -1195,7 +1194,6 @@
     fprintf(stderr, "\nREAD ");
     DUMP_READER
 #endif
-    reader->curnode = NULL;
     if (reader->mode == XML_TEXTREADER_MODE_INITIAL) {
 	reader->mode = XML_TEXTREADER_MODE_INTERACTIVE;
 	/*
@@ -1343,6 +1341,8 @@
 	if (reader->mode != XML_TEXTREADER_DONE) {
 	    val = xmlParseChunk(reader->ctxt, "", 0, 1);
 	    reader->mode = XML_TEXTREADER_DONE;
+	    if (val != 0)
+	        return(-1);
 	}
 	reader->node = NULL;
 	reader->depth = -1;
@@ -1388,7 +1388,8 @@
         (reader->node->next == NULL) &&
         ((reader->node->type == XML_TEXT_NODE) ||
 	 (reader->node->type == XML_CDATA_SECTION_NODE))) {
-            xmlTextReaderExpand(reader);
+            if (xmlTextReaderExpand(reader) == NULL)
+	        return -1;
     }
 
 #ifdef LIBXML_XINCLUDE_ENABLED
@@ -1402,12 +1403,14 @@
 	 (xmlStrEqual(reader->node->ns->href, XINCLUDE_OLD_NS)))) {
 	if (reader->xincctxt == NULL) {
 	    reader->xincctxt = xmlXIncludeNewContext(reader->ctxt->myDoc);
-	    xmlXIncludeSetFlags(reader->xincctxt, reader->parserFlags);
+	    xmlXIncludeSetFlags(reader->xincctxt, 
+	                        reader->parserFlags & (~XML_PARSE_NOXINCNODE));
 	}
 	/*
 	 * expand that node and process it
 	 */
-	xmlTextReaderExpand(reader);
+	if (xmlTextReaderExpand(reader) == NULL)
+	    return -1;
 	xmlXIncludeProcessNode(reader->xincctxt, reader->node);
     }
     if (reader->node->type == XML_XINCLUDE_START) {
@@ -1822,7 +1825,7 @@
     if (reader == NULL)
         return(-1);
     if (reader->doc == NULL) {
-        TODO
+        /* TODO */
 	return(-1);
     }
 
@@ -1874,8 +1877,15 @@
     ret->entNr = 0;
     ret->input = input;
     ret->buffer = xmlBufferCreateSize(100);
+    if (ret->buffer == NULL) {
+        xmlFree(ret);
+        xmlGenericError(xmlGenericErrorContext,
+		"xmlNewTextReader : malloc failed\n");
+	return(NULL);
+    }
     ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
     if (ret->sax == NULL) {
+	xmlBufferFree(ret->buffer);
 	xmlFree(ret);
         xmlGenericError(xmlGenericErrorContext,
 		"xmlNewTextReader : malloc failed\n");
@@ -1925,6 +1935,7 @@
     if (ret->ctxt == NULL) {
         xmlGenericError(xmlGenericErrorContext,
 		"xmlNewTextReader : malloc failed\n");
+	xmlBufferFree(ret->buffer);
 	xmlFree(ret->sax);
 	xmlFree(ret);
 	return(NULL);
@@ -2618,6 +2629,34 @@
     return(1);
 }
 
+/**
+ * xmlTextReaderConstEncoding:
+ * @reader:  the xmlTextReaderPtr used
+ *
+ * Determine the encoding of the document being read.
+ *
+ * Returns a string containing the encoding of the document or NULL in
+ * case of error.  The string is deallocated with the reader.
+ */
+const xmlChar *
+xmlTextReaderConstEncoding(xmlTextReaderPtr reader) {
+    xmlDocPtr doc = NULL;
+    if (reader == NULL)
+	return(NULL);
+    if (reader->doc != NULL)
+        doc = reader->doc;
+    else if (reader->ctxt != NULL)
+	doc = reader->ctxt->myDoc;
+    if (doc == NULL)
+	return(NULL);
+    
+    if (doc->encoding == NULL)
+	return(NULL);
+    else
+      return(CONSTSTR(doc->encoding));
+}
+
+
 /************************************************************************
  *									*
  *			Acces API to the current node			*
@@ -3685,6 +3724,8 @@
  */
 int
 xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) {
+    if (reader == NULL)
+        return(-1);
     if (schema == NULL) {
         if (reader->rngSchemas != NULL) {
 	    xmlRelaxNGFree(reader->rngSchemas);
@@ -3788,6 +3829,87 @@
 }
 #endif
 
+/**
+ * xmlTextReaderIsNamespaceDecl:
+ * @reader: the xmlTextReaderPtr used
+ *
+ * Determine whether the current node is a namespace declaration
+ * rather than a regular attribute.
+ *
+ * Returns 1 if the current node is a namespace declaration, 0 if it
+ * is a regular attribute or other type of node, or -1 in case of
+ * error.
+ */
+int
+xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader) {
+    xmlNodePtr node;
+    if (reader == NULL)
+	return(-1);
+    if (reader->node == NULL)
+	return(-1);
+    if (reader->curnode != NULL)
+	node = reader->curnode;
+    else
+	node = reader->node;
+    
+    if (XML_NAMESPACE_DECL == node->type)
+	return(1);
+    else
+	return(0);
+}
+
+/**
+ * xmlTextReaderConstXmlVersion:
+ * @reader:  the xmlTextReaderPtr used
+ *
+ * Determine the XML version of the document being read.
+ *
+ * Returns a string containing the XML version of the document or NULL
+ * in case of error.  The string is deallocated with the reader.
+ */
+const xmlChar *
+xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader) {
+    xmlDocPtr doc = NULL;
+    if (reader == NULL)
+	return(NULL);
+    if (reader->doc != NULL)
+        doc = reader->doc;
+    else if (reader->ctxt != NULL)
+	doc = reader->ctxt->myDoc; 
+    if (doc == NULL)
+	return(NULL);
+    
+    if (doc->version == NULL)
+	return(NULL);
+    else
+      return(CONSTSTR(doc->version));
+}
+
+/**
+ * xmlTextReaderStandalone:
+ * @reader:  the xmlTextReaderPtr used
+ *
+ * Determine the standalone status of the document being read.
+ *
+ * Returns 1 if the document was declared to be standalone, 0 if it
+ * was declared to be not standalone, or -1 if the document did not
+ * specify its standalone status or in case of error.
+ */
+int
+xmlTextReaderStandalone(xmlTextReaderPtr reader) {
+    xmlDocPtr doc = NULL;
+    if (reader == NULL)
+	return(-1);
+    if (reader->doc != NULL)
+        doc = reader->doc;
+    else if (reader->ctxt != NULL)
+	doc = reader->ctxt->myDoc;
+    if (doc == NULL)
+	return(-1);
+
+    return(doc->standalone);
+}
+
 /************************************************************************
  *									*
  *			Error Handling Extensions                       *
@@ -3843,6 +3965,8 @@
     xmlParserCtxtPtr ctx = (xmlParserCtxtPtr)locator;
     int ret = -1;
 
+    if (locator == NULL)
+        return(-1);
     if (ctx->node != NULL) {
 	ret = xmlGetLineNo(ctx->node);
     }
@@ -3877,6 +4001,8 @@
     xmlParserCtxtPtr ctx = (xmlParserCtxtPtr)locator;
     xmlChar *ret = NULL;
 
+    if (locator == NULL)
+        return(NULL);
     if (ctx->node != NULL) {
 	ret = xmlNodeGetBase(NULL,ctx->node);
     }
@@ -3903,6 +4029,7 @@
     xmlTextReaderPtr reader = (xmlTextReaderPtr)ctx->_private;
 
     if (str != NULL) {
+      if (reader->errorFunc)
 	reader->errorFunc(reader->errorFuncArg,
 			  str,
 			  severity,
@@ -4002,6 +4129,7 @@
 	reader->ctxt->sax->warning = xmlTextReaderWarning;
 	reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning;
 	reader->errorFunc = f;
+	reader->sErrorFunc = NULL;
 	reader->errorFuncArg = arg;
     }
     else {
@@ -4031,6 +4159,7 @@
 					 xmlStructuredErrorFunc f, 
 					 void *arg) {
   if (f != NULL) {
+	reader->ctxt->sax->error = NULL;
 	reader->ctxt->sax->serror = xmlTextReaderStructuredError;
 	reader->ctxt->vctxt.error = xmlTextReaderValidityError;
 	reader->ctxt->sax->warning = xmlTextReaderWarning;
@@ -4084,8 +4213,8 @@
 xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, 
 			     xmlTextReaderErrorFunc *f, 
 			     void **arg) {
-    *f = reader->errorFunc;
-    *arg = reader->errorFuncArg;
+    if (f != NULL) *f = reader->errorFunc;
+    if (arg != NULL) *arg = reader->errorFuncArg;
 }
 
 
@@ -4506,6 +4635,9 @@
     if (reader == NULL)
         return (-1);
 
+    if (reader->input != NULL) {
+        xmlFreeParserInputBuffer(reader->input);
+    }
     if (reader->ctxt != NULL) {
 	xmlCtxtReset(reader->ctxt);
     }

Modified: packages/libxml2/branches/unstable/xmlregexp.c
===================================================================
--- packages/libxml2/branches/unstable/xmlregexp.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlregexp.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -35,8 +35,8 @@
 #define INT_MAX 123456789 /* easy to flag and big enough for our needs */
 #endif
 
-/* #define DEBUG_REGEXP_GRAPH  */
-/* #define DEBUG_REGEXP_EXEC */
+/* #define DEBUG_REGEXP_GRAPH */
+/* #define DEBUG_REGEXP_EXEC */ 
 /* #define DEBUG_PUSH */
 /* #define DEBUG_COMPACTION */
 
@@ -49,6 +49,7 @@
 
 #define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
 #define NEXTL(l) ctxt->cur += l;
+#define XML_REG_STRING_SEPARATOR '|'
 
 /**
  * TODO:
@@ -2577,7 +2578,48 @@
     exec->inputStack[exec->inputStackNr].data = NULL;
 }
 
+/**
+ * xmlRegStrEqualWildcard:
+ * @expStr:  the string to be evaluated 
+ * @valStr:  the validation string
+ *
+ * Checks if both strings are equal or have the same content. "*"
+ * can be used as a wildcard in @valStr; "|" is used as a seperator of 
+ * substrings in both @expStr and @valStr.
+ *
+ * Returns 1 if the comparison is satisfied and the number of substrings
+ * is equal, 0 otherwise.
+ */
 
+static int
+xmlRegStrEqualWildcard(const xmlChar *expStr, const xmlChar *valStr) {
+    if (expStr == valStr) return(1);
+    if (expStr == NULL) return(0);
+    if (valStr == NULL) return(0);
+    do {
+	/*
+	* Eval if we have a wildcard for the current item.
+	*/
+        if (*expStr != *valStr) {
+	    if ((*valStr != 0) && (*expStr != 0) && (*expStr++ == '*')) {
+		do {
+		    if (*valStr == XML_REG_STRING_SEPARATOR)
+			break;
+		    *valStr++;
+		} while (*valStr != 0);
+		continue;
+	    } else
+		return(0);
+	}
+	*expStr++;
+	*valStr++;
+    } while (*valStr != 0);
+    if (*expStr != 0)
+	return (0);
+    else
+	return (1);
+}
+
 /**
  * xmlRegCompactPushString:
  * @exec: a regexp execution context
@@ -2621,9 +2663,9 @@
     for (i = 0;i < comp->nbstrings;i++) {
 	target = comp->compact[state * (comp->nbstrings + 1) + i + 1];
 	if ((target > 0) && (target <= comp->nbstates)) {
-	    target--; /* to avoid 0 */
-	    if (xmlStrEqual(comp->stringMap[i], value)) {
-		exec->index = target;
+	    target--; /* to avoid 0 */    
+	    if (xmlRegStrEqualWildcard(comp->stringMap[i], value)) {
+		exec->index = target;		
 		if ((exec->callback != NULL) && (comp->transdata != NULL)) {
 		    exec->callback(exec->data, value,
 			  comp->transdata[state * comp->nbstrings + i], data);
@@ -2802,7 +2844,7 @@
 		exec->status = -2;
 		break;
 	    } else if (value != NULL) {
-		ret = xmlStrEqual(value, atom->valuep);
+		ret = xmlRegStrEqualWildcard(atom->valuep, value);
 		if ((ret == 1) && (trans->counter >= 0)) {
 		    xmlRegCounterPtr counter;
 		    int count;
@@ -2999,7 +3041,7 @@
 	str = buf;
     }
     memcpy(&str[0], value, lenp);
-    str[lenp] = '|';
+    str[lenp] = XML_REG_STRING_SEPARATOR;
     memcpy(&str[lenp + 1], value2, lenn);
     str[lenn + lenp + 1] = 0;
 
@@ -3966,11 +4008,8 @@
  */
 static void
 xmlFAParseRegExp(xmlRegParserCtxtPtr ctxt, int top) {
-    xmlRegStatePtr start, end, oldend, oldstart;
+    xmlRegStatePtr start, end;
 
-    oldend = ctxt->end;
-
-    oldstart = ctxt->state;
     /* if not top start should have been generated by an epsilon trans */
     start = ctxt->state;
     ctxt->end = NULL;
@@ -4023,6 +4062,8 @@
 xmlRegexpPrint(FILE *output, xmlRegexpPtr regexp) {
     int i;
 
+    if (output == NULL)
+        return;
     fprintf(output, " regexp: ");
     if (regexp == NULL) {
 	fprintf(output, "NULL\n");
@@ -4367,6 +4408,94 @@
 }
 
 /**
+ * xmlAutomataNewCountTrans2:
+ * @am: an automata
+ * @from: the starting point of the transition
+ * @to: the target point of the transition or NULL
+ * @token: the input string associated to that transition
+ * @token2: the second input string associated to that transition
+ * @min:  the minimum successive occurences of token
+ * @max:  the maximum successive occurences of token
+ * @data:  data associated to the transition
+ *
+ * If @to is NULL, this creates first a new target state in the automata
+ * and then adds a transition from the @from state to the target state
+ * activated by a succession of input of value @token and @token2 and 
+ * whose number is between @min and @max
+ *
+ * Returns the target state or NULL in case of error
+ */
+xmlAutomataStatePtr
+xmlAutomataNewCountTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
+			 xmlAutomataStatePtr to, const xmlChar *token,
+			 const xmlChar *token2,
+			 int min, int max, void *data) {
+    xmlRegAtomPtr atom;
+    int counter;
+
+    if ((am == NULL) || (from == NULL) || (token == NULL))
+	return(NULL);
+    if (min < 0)
+	return(NULL);
+    if ((max < min) || (max < 1))
+	return(NULL);
+    atom = xmlRegNewAtom(am, XML_REGEXP_STRING);
+    if (atom == NULL)
+	return(NULL);
+    if ((token2 == NULL) || (*token2 == 0)) {
+	atom->valuep = xmlStrdup(token);
+    } else {
+	int lenn, lenp;
+	xmlChar *str;
+
+	lenn = strlen((char *) token2);
+	lenp = strlen((char *) token);
+
+	str = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2);
+	if (str == NULL) {
+	    xmlRegFreeAtom(atom);
+	    return(NULL);
+	}
+	memcpy(&str[0], token, lenp);
+	str[lenp] = '|';
+	memcpy(&str[lenp + 1], token2, lenn);
+	str[lenn + lenp + 1] = 0;
+
+	atom->valuep = str;
+    }
+    atom->data = data;
+    if (min == 0)
+	atom->min = 1;
+    else
+	atom->min = min;
+    atom->max = max;
+
+    /*
+     * associate a counter to the transition.
+     */
+    counter = xmlRegGetCounter(am);
+    am->counters[counter].min = min;
+    am->counters[counter].max = max;
+
+    /* xmlFAGenerateTransitions(am, from, to, atom); */
+    if (to == NULL) {
+        to = xmlRegNewState(am);
+	xmlRegStatePush(am, to);
+    }
+    xmlRegStateAddTrans(am, from, atom, to, counter, -1);
+    xmlRegAtomPush(am, atom);
+    am->state = to;
+
+    if (to == NULL)
+	to = am->state;
+    if (to == NULL)
+	return(NULL);
+    if (min == 0)
+	xmlFAGenerateEpsilonTransition(am, from, to);
+    return(to);
+}
+
+/**
  * xmlAutomataNewCountTrans:
  * @am: an automata
  * @from: the starting point of the transition
@@ -4433,6 +4562,90 @@
 }
 
 /**
+ * xmlAutomataNewOnceTrans2:
+ * @am: an automata
+ * @from: the starting point of the transition
+ * @to: the target point of the transition or NULL
+ * @token: the input string associated to that transition
+ * @token2: the second input string associated to that transition
+ * @min:  the minimum successive occurences of token
+ * @max:  the maximum successive occurences of token
+ * @data:  data associated to the transition
+ *
+ * If @to is NULL, this creates first a new target state in the automata
+ * and then adds a transition from the @from state to the target state
+ * activated by a succession of input of value @token and @token2 and whose 
+ * number is between @min and @max, moreover that transition can only be 
+ * crossed once.
+ *
+ * Returns the target state or NULL in case of error
+ */
+xmlAutomataStatePtr
+xmlAutomataNewOnceTrans2(xmlAutomataPtr am, xmlAutomataStatePtr from,
+			 xmlAutomataStatePtr to, const xmlChar *token,
+			 const xmlChar *token2,
+			 int min, int max, void *data) {
+    xmlRegAtomPtr atom;
+    int counter;
+
+    if ((am == NULL) || (from == NULL) || (token == NULL))
+	return(NULL);
+    if (min < 1)
+	return(NULL);
+    if ((max < min) || (max < 1))
+	return(NULL);
+    atom = xmlRegNewAtom(am, XML_REGEXP_STRING);
+    if (atom == NULL)
+	return(NULL);
+    if ((token2 == NULL) || (*token2 == 0)) {
+	atom->valuep = xmlStrdup(token);
+    } else {
+	int lenn, lenp;
+	xmlChar *str;
+
+	lenn = strlen((char *) token2);
+	lenp = strlen((char *) token);
+
+	str = (xmlChar *) xmlMallocAtomic(lenn + lenp + 2);
+	if (str == NULL) {
+	    xmlRegFreeAtom(atom);
+	    return(NULL);
+	}
+	memcpy(&str[0], token, lenp);
+	str[lenp] = '|';
+	memcpy(&str[lenp + 1], token2, lenn);
+	str[lenn + lenp + 1] = 0;
+
+	atom->valuep = str;
+    }    
+    atom->data = data;
+    atom->quant = XML_REGEXP_QUANT_ONCEONLY;
+    if (min == 0)
+	atom->min = 1;
+    else
+	atom->min = min;
+    atom->max = max;
+    /*
+     * associate a counter to the transition.
+     */
+    counter = xmlRegGetCounter(am);
+    am->counters[counter].min = 1;
+    am->counters[counter].max = 1;
+
+    /* xmlFAGenerateTransitions(am, from, to, atom); */
+    if (to == NULL) {
+	to = xmlRegNewState(am);
+	xmlRegStatePush(am, to);
+    }
+    xmlRegStateAddTrans(am, from, atom, to, counter, -1);
+    xmlRegAtomPush(am, atom);
+    am->state = to;
+    return(to);
+}
+
+    
+
+/**
  * xmlAutomataNewOnceTrans:
  * @am: an automata
  * @from: the starting point of the transition

Modified: packages/libxml2/branches/unstable/xmlsave.c
===================================================================
--- packages/libxml2/branches/unstable/xmlsave.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlsave.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -445,6 +445,7 @@
 static void xmlNodeListDumpOutput(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
 static void xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur);
 void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
+static void xmlDocContentDumpOutput(xmlSaveCtxtPtr ctxt, xmlDocPtr cur);
 
 /**
  * xmlNsDumpOutput:
@@ -456,7 +457,7 @@
  */
 static void
 xmlNsDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur) {
-    if (cur == NULL) return;
+    if ((cur == NULL) || (buf == NULL)) return;
     if ((cur->type == XML_LOCAL_NAMESPACE) && (cur->href != NULL)) {
 	if (xmlStrEqual(cur->prefix, BAD_CAST "xml"))
 	    return;
@@ -517,12 +518,20 @@
 	xmlBufferWriteQuotedString(buf->buffer, dtd->SystemID);
     }
     if ((dtd->entities == NULL) && (dtd->elements == NULL) &&
-            (dtd->attributes == NULL) && (dtd->notations == NULL) &&
-	    (dtd->pentities == NULL)) {
+        (dtd->attributes == NULL) && (dtd->notations == NULL) &&
+	(dtd->pentities == NULL)) {
 	xmlOutputBufferWrite(buf, 1, ">");
 	return;
     }
     xmlOutputBufferWrite(buf, 3, " [\n");
+    /*
+     * Dump the notations first they are not in the DTD children list
+     * Do this only on a standalone DTD or on the internal subset though.
+     */
+    if ((dtd->notations != NULL) && ((dtd->doc == NULL) ||
+        (dtd->doc->intSubset == dtd))) {
+        xmlDumpNotationTable(buf->buffer, (xmlNotationTablePtr) dtd->notations);
+    }
     format = ctxt->format;
     level = ctxt->level;
     doc = ctxt->doc;
@@ -549,6 +558,7 @@
 
     if (cur == NULL) return;
     buf = ctxt->buf;
+    if (buf == NULL) return;
     xmlOutputBufferWrite(buf, 1, " ");
     if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
         xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix);
@@ -626,6 +636,11 @@
 	return;
     if (cur->type == XML_XINCLUDE_END)
 	return;
+    if ((cur->type == XML_DOCUMENT_NODE) ||
+        (cur->type == XML_HTML_DOCUMENT_NODE)) {
+	xmlDocContentDumpOutput(ctxt, (xmlDocPtr) cur);
+	return;
+    }
     if (cur->type == XML_DTD_NODE) {
         xmlDtdDumpOutput(ctxt, (xmlDtdPtr) cur);
 	return;
@@ -1421,6 +1436,7 @@
 {
     long ret = 0;
 
+    if ((ctxt == NULL) || (doc == NULL)) return(-1);
     xmlDocContentDumpOutput(ctxt, doc);
     return(ret);
 }
@@ -1441,6 +1457,7 @@
 {
     long ret = 0;
 
+    if ((ctxt == NULL) || (node == NULL)) return(-1);
     xmlNodeDumpOutputInternal(ctxt, node);
     return(ret);
 }
@@ -1782,6 +1799,8 @@
 
     xmlInitParser();
 
+    if ((buf == NULL) || (cur == NULL)) return;
+
     memset(&ctxt, 0, sizeof(ctxt));
     ctxt.doc = doc;
     ctxt.buf = buf;
@@ -2027,6 +2046,8 @@
  * @encoding:  the encoding if any assuming the I/O layer handles the trancoding
  *
  * Dump an XML document to an I/O buffer.
+ * Warning ! This call xmlOutputBufferClose() on buf which is not available
+ * after this call.
  *
  * returns: the number of bytes written or -1 in case of failure.
  */
@@ -2035,7 +2056,11 @@
     xmlSaveCtxt ctxt;
     int ret;
 
-    if (buf == NULL) return(0);
+    if (buf == NULL) return(-1);
+    if (cur == NULL) {
+        xmlOutputBufferClose(buf);
+	return(-1);
+    }
     memset(&ctxt, 0, sizeof(ctxt));
     ctxt.doc = cur;
     ctxt.buf = buf;
@@ -2056,7 +2081,8 @@
  * @format: should formatting spaces been added
  *
  * Dump an XML document to an I/O buffer.
- * NOTE: the I/O buffer is closed as part of the call.
+ * Warning ! This call xmlOutputBufferClose() on buf which is not available
+ * after this call.
  *
  * returns: the number of bytes written or -1 in case of failure.
  */
@@ -2067,8 +2093,13 @@
     xmlSaveCtxt ctxt;
     int ret;
 
-    if (buf == NULL)
-        return (0);
+    if (buf == NULL) return(-1);
+    if ((cur == NULL) ||
+        ((cur->type != XML_DOCUMENT_NODE) &&
+	 (cur->type != XML_HTML_DOCUMENT_NODE))) {
+        xmlOutputBufferClose(buf);
+	return(-1);
+    }
     memset(&ctxt, 0, sizeof(ctxt));
     ctxt.doc = cur;
     ctxt.buf = buf;

Modified: packages/libxml2/branches/unstable/xmlschemas.c
===================================================================
--- packages/libxml2/branches/unstable/xmlschemas.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlschemas.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -47,13 +47,16 @@
 
 /* #define DEBUG_ATTR_VALIDATION 1 */
 
+/* #define DEBUG_UNION_VALIDATION 1 */
+
+
 #define UNBOUNDED (1 << 30)
 #define TODO 								\
     xmlGenericError(xmlGenericErrorContext,				\
 	    "Unimplemented block at %s:%d\n",				\
             __FILE__, __LINE__);
 
-#define XML_SCHEMAS_DEFAULT_NAMESPACE (const xmlChar *)"the default namespace"
+#define XML_SCHEMAS_NO_NAMESPACE (const xmlChar *) "##"
 
 /*
  * The XML Schemas namespaces
@@ -64,15 +67,96 @@
 static const xmlChar *xmlSchemaInstanceNs = (const xmlChar *)
     "http://www.w3.org/2001/XMLSchema-instance";
 
+static const xmlChar *xmlSchemaElemDesElemDecl = (const xmlChar *)
+    "Element decl.";
+static const xmlChar *xmlSchemaElemDesElemRef = (const xmlChar *)
+    "Element ref.";
+static const xmlChar *xmlSchemaElemDesAttrDecl = (const xmlChar *)
+    "Attribute decl.";
+static const xmlChar *xmlSchemaElemDesAttrRef = (const xmlChar *)
+    "Attribute ref.";
+static const xmlChar *xmlSchemaElemDesST = (const xmlChar *)
+    "ST";
+static const xmlChar *xmlSchemaElemDesCT = (const xmlChar *)
+    "CT";
+
 #define IS_SCHEMA(node, type)						\
    ((node != NULL) && (node->ns != NULL) &&				\
     (xmlStrEqual(node->name, (const xmlChar *) type)) &&		\
     (xmlStrEqual(node->ns->href, xmlSchemaNs)))
 
+#define FREE_AND_NULL(str)						\
+    if (str != NULL) {							\
+	xmlFree(str);							\
+	str = NULL;							\
+    }
+
+#define IS_ANYTYPE(item)                           \
+    ((item->type == XML_SCHEMA_TYPE_BASIC) &&      \
+     (item->builtInType == XML_SCHEMAS_ANYTYPE))   
+
+#define IS_COMPLEX_TYPE(item)                      \
+    ((item->type == XML_SCHEMA_TYPE_COMPLEX) ||    \
+     (item->builtInType == XML_SCHEMAS_ANYTYPE))
+
+#define IS_SIMPLE_TYPE(item)                       \
+    ((item->type == XML_SCHEMA_TYPE_SIMPLE) ||     \
+     ((item->type == XML_SCHEMA_TYPE_BASIC) &&     \
+      (item->builtInType != XML_SCHEMAS_ANYTYPE))) 
+
+#define XML_SCHEMAS_VAL_WTSP_PRESERVE 0
+#define XML_SCHEMAS_VAL_WTSP_REPLACE  1
+#define XML_SCHEMAS_VAL_WTSP_COLLAPSE 2
+
 #define XML_SCHEMAS_PARSE_ERROR		1
 
 #define SCHEMAS_PARSE_OPTIONS XML_PARSE_NOENT
 
+
+/*
+* XML_SCHEMA_VAL_XSI_ASSEMBLE_TNS_COMPOSE	 
+* allow to assemble schemata with 
+* the same target namespace from 
+* different sources; otherwise, the first 
+* encountered schema with a specific target 
+* namespace will be used only *
+   
+* 
+* XML_SCHEMA_VAL_LOCATE_BY_NSNAME = 1<<2
+* locate schemata to be imported
+* using the namespace name; otherwise
+* the location URI will be used */
+
+/*
+* xmlSchemaParserOption:
+*
+* This is the set of XML Schema parser options.
+*
+typedef enum {
+    XML_SCHEMA_PAR_LOCATE_BY_NSNAME	= 1<<0
+	* locate schemata to be imported
+	* using the namespace name; otherwise
+	* the location URI will be used *
+} xmlSchemaParserOption;
+*/
+
+/*
+XMLPUBFUN int XMLCALL
+	    xmlSchemaParserCtxtSetOptions(xmlSchemaParserCtxtPtr ctxt,
+					  int options);
+XMLPUBFUN int XMLCALL
+	    xmlSchemaParserCtxtGetOptions(xmlSchemaParserCtxtPtr ctxt);
+
+*/
+
+typedef struct _xmlSchemaAssemble xmlSchemaAssemble;
+typedef xmlSchemaAssemble *xmlSchemaAssemblePtr;
+struct _xmlSchemaAssemble {
+    void **items;  /* used for dynamic addition of schemata */
+    int nbItems; /* used for dynamic addition of schemata */
+    int sizeItems; /* used for dynamic addition of schemata */
+};
+
 struct _xmlSchemaParserCtxt {
     void *userData;             /* user specific data block */
     xmlSchemaValidityErrorFunc error;   /* the callback in case of errors */
@@ -107,6 +191,9 @@
     int        includes;	/* the inclusion level, 0 for root or imports */
     xmlSchemaTypePtr ctxtType; /* The current context simple/complex type */
     xmlSchemaTypePtr parentItem; /* The current parent schema item */
+    xmlSchemaAssemblePtr assemble;
+    int options;
+    xmlSchemaValidCtxtPtr vctxt;
 };
 
 
@@ -116,6 +203,8 @@
 #define XML_SCHEMAS_ATTR_MISSING 4
 #define XML_SCHEMAS_ATTR_INVALID_VALUE 5
 #define XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED 6
+#define XML_SCHEMAS_ATTR_INVALID_FIXED_VALUE 7
+#define XML_SCHEMAS_ATTR_DEFAULT 8
 
 typedef struct _xmlSchemaAttrState xmlSchemaAttrState;
 typedef xmlSchemaAttrState *xmlSchemaAttrStatePtr;
@@ -124,6 +213,7 @@
     xmlAttrPtr attr;
     int state;
     xmlSchemaAttributePtr decl;
+    const xmlChar *value;
 };
 
 /**
@@ -157,9 +247,13 @@
     xmlSchemaValPtr value;
 
     xmlSchemaAttrStatePtr attrTop;
-    /* xmlSchemaAttrStatePtr attrBase; */
-    /* int attrMax; */
     xmlSchemaAttrStatePtr attr;
+    /* xmlNodePtr scope; not used */
+    int valueWS;
+    int options;
+    xmlNodePtr validationRoot;    
+    xmlSchemaParserCtxtPtr pctxt;
+    int xsiAssemble;
 };
 
 /*
@@ -169,7 +263,9 @@
 typedef xmlSchemaImport *xmlSchemaImportPtr;
 struct _xmlSchemaImport {
     const xmlChar *schemaLocation;
-    xmlSchemaPtr schema;
+    xmlSchemaPtr schema; /* not used any more */
+    xmlDocPtr doc;
+    int isMain;
 };
 
 /*
@@ -184,27 +280,45 @@
     xmlDocPtr doc;
 };
 
+typedef struct _xmlSchemaParticle xmlSchemaParticle;
+typedef xmlSchemaParticle *xmlSchemaParticlePtr;
+struct _xmlSchemaParticle {
+    xmlSchemaTypeType type;
+    xmlSchemaParticlePtr next; /* the next particle if in a list */
+    int minOccurs;
+    int maxOccurs;
+    xmlSchemaTypePtr term;
+};
+
+
+typedef struct _xmlSchemaModelGroup xmlSchemaModelGroup;
+typedef xmlSchemaModelGroup *xmlSchemaModelGroupPtr;
+struct _xmlSchemaModelGroup {
+    xmlSchemaTypeType type;
+    int compositor; /* one of all, choice or sequence */
+    xmlSchemaParticlePtr particles; /* list of particles */
+    xmlSchemaAnnotPtr annot;
+};
+
+typedef struct _xmlSchemaModelGroupDef xmlSchemaModelGroupDef;
+typedef xmlSchemaModelGroupDef *xmlSchemaModelGroupDefPtr;
+struct _xmlSchemaModelGroupDef {
+    xmlSchemaTypeType type;
+    const xmlChar *name;
+    const xmlChar *targetNamespace;
+    xmlSchemaModelGroupPtr modelGroup;
+    xmlSchemaAnnotPtr annot;
+};
+
 /************************************************************************
  * 									*
  * 			Some predeclarations				*
  * 									*
  ************************************************************************/
-#if 0 /* Not currently used. */
-static int xmlSchemaValidateSimpleValue(xmlSchemaValidCtxtPtr ctxt,
-                                        xmlSchemaTypePtr type,
-                                        const xmlChar * value);
-#endif
 
 static int xmlSchemaParseInclude(xmlSchemaParserCtxtPtr ctxt,
                                  xmlSchemaPtr schema,
                                  xmlNodePtr node);
-#if 0
-static int
-xmlSchemaValidateSimpleValueInternal(xmlSchemaValidCtxtPtr ctxt,
-                             xmlSchemaTypePtr type,
-			     const xmlChar * value,
-			     int fireErrors);
-#endif /* Not currently used. */
 static void
 xmlSchemaTypeFixup(xmlSchemaTypePtr typeDecl,
                    xmlSchemaParserCtxtPtr ctxt, const xmlChar * name);
@@ -212,9 +326,23 @@
 xmlSchemaFacetTypeToString(xmlSchemaTypeType type);
 static int
 xmlSchemaValidateSimpleTypeValue(xmlSchemaValidCtxtPtr ctxt, 
+				 xmlSchemaTypePtr type,
 				 const xmlChar *value,
 				 int fireErrors,				 
-				 int applyFacets);
+				 int applyFacets,
+				 int normalize,
+				 int checkNodes);
+static int
+xmlSchemaValidateElementByDeclaration(xmlSchemaValidCtxtPtr ctxt,
+				      xmlSchemaElementPtr elemDecl); 
+static int
+xmlSchemaValidateElementByWildcard(xmlSchemaValidCtxtPtr ctxt,
+				   xmlSchemaTypePtr type);
+static int
+xmlSchemaHasElemOrCharContent(xmlNodePtr node);
+static int
+xmlSchemaParseImport(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
+                     xmlNodePtr node);
 
 /************************************************************************
  *									*
@@ -350,7 +478,7 @@
 {
     if (ctxt != NULL) {
         ctxt->nberrors++;
-        ctxt->err = XML_SCHEMAS_ERR_INTERNAL;
+        ctxt->err = XML_SCHEMAV_INTERNAL;
     }
     __xmlSimpleError(XML_FROM_SCHEMASV, XML_ERR_NO_MEMORY, node, NULL,
                      extra);
@@ -385,14 +513,60 @@
         data = ctxt->userData;
     }
     /* reajust to global error numbers */
-    error += XML_SCHEMAV_NOROOT - XML_SCHEMAS_ERR_NOROOT;
+    /* Removed, since the old schema error codes have been 
+    * substituted for the global error codes.
+    *
+    * error += XML_SCHEMAV_NOROOT - XML_SCHEMAS_ERR_NOROOT; 
+    */
     __xmlRaiseError(schannel, channel, data, ctxt, node, XML_FROM_SCHEMASV,
                     error, XML_ERR_ERROR, NULL, 0,
                     (const char *) str1, (const char *) str2,
 		    (const char *) str3, 0, 0,
                     msg, str1, str2, str3);
 }
+
 /**
+ * xmlSchemaVErrExt:
+ * @ctxt: the validation context
+ * @node: the context node
+ * @error: the error code 
+ * @msg: the message
+ * @str1:  extra parameter for the message display
+ * @str2:  extra parameter for the message display
+ * @str3:  extra parameter for the message display
+ * @str4:  extra parameter for the message display
+ * @str5:  extra parameter for the message display
+ * 
+ * Handle a validation error
+ */
+static void
+xmlSchemaVErrExt(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node, int error,
+		 const char *msg, const xmlChar * str1, 
+		 const xmlChar * str2, const xmlChar * str3, 
+		 const xmlChar * str4, const xmlChar * str5)
+{
+    xmlStructuredErrorFunc schannel = NULL;
+    xmlGenericErrorFunc channel = NULL;
+    void *data = NULL;
+
+    if (ctxt != NULL) {
+        ctxt->nberrors++;
+	ctxt->err = error;
+        channel = ctxt->error;
+        schannel = ctxt->serror;
+        data = ctxt->userData;
+    }
+    /* reajust to global error numbers */
+     /* Removed, since the old schema error codes have been 
+    * substituted for the global error codes.
+    *
+    * error += XML_SCHEMAV_NOROOT - XML_SCHEMAS_ERR_NOROOT;
+    */
+    __xmlRaiseError(schannel, channel, data, ctxt, node, XML_FROM_SCHEMASP,
+                    error, XML_ERR_ERROR, NULL, 0, NULL, NULL, NULL, 0, 0, 
+		    msg, str1, str2, str3, str4, str5);
+}
+/**
  * xmlSchemaVErr:
  * @ctxt: the validation context
  * @node: the context node
@@ -419,13 +593,1188 @@
         schannel = ctxt->serror;
     }
     /* reajust to global error numbers */
-    error += XML_SCHEMAV_NOROOT - XML_SCHEMAS_ERR_NOROOT;
+    /* Removed, since the old schema error codes have been 
+    * substituted for the global error codes.
+    *
+    * error += XML_SCHEMAV_NOROOT - XML_SCHEMAS_ERR_NOROOT;
+    */
     __xmlRaiseError(schannel, channel, data, ctxt, node, XML_FROM_SCHEMASV,
                     error, XML_ERR_ERROR, NULL, 0,
                     (const char *) str1, (const char *) str2, NULL, 0, 0,
                     msg, str1, str2);
 }
 
+/**
+ * xmlSchemaGetAttrName:
+ * @attr:  the attribute declaration/use
+ *
+ * Returns the name of the attribute; if the attribute
+ * is a reference, the name of the referenced global type will be returned.
+ */
+static const xmlChar *
+xmlSchemaGetAttrName(xmlSchemaAttributePtr attr) 
+{
+    if (attr->ref != NULL) 
+	return(attr->ref);
+    else
+	return(attr->name);	
+}
+
+/**
+ * xmlSchemaGetAttrTargetNsURI:
+ * @type:  the type (element or attribute)
+ *
+ * Returns the target namespace URI of the type; if the type is a reference,
+ * the target namespace of the referenced type will be returned.
+ */
+static const xmlChar *
+xmlSchemaGetAttrTargetNsURI(xmlSchemaAttributePtr attr)
+{  
+    if (attr->ref != NULL)
+	return (attr->refNs);
+    else
+	return(attr->targetNamespace);  
+}
+
+/**
+ * xmlSchemaFormatNsUriLocal:
+ * @buf: the string buffer
+ * @uri:  the namespace URI
+ * @local: the local name
+ *
+ * Returns a representation of the given URI used
+ * for error reports.
+ *
+ * Returns an empty string, if @ns is NULL, a formatted
+ * string otherwise.
+ */  
+static const xmlChar*   
+xmlSchemaFormatNsUriLocal(xmlChar **buf,
+			   const xmlChar *uri, const xmlChar *local)
+{
+    if (*buf != NULL)
+	xmlFree(*buf);
+    if (uri == NULL) {
+	*buf = xmlStrdup(BAD_CAST "{'");
+	*buf = xmlStrcat(*buf, local);
+    } else {
+	*buf = xmlStrdup(BAD_CAST "{'");
+	*buf = xmlStrcat(*buf, uri);
+	*buf = xmlStrcat(*buf, BAD_CAST "', '");
+	*buf = xmlStrcat(*buf, local);	
+    }
+    *buf = xmlStrcat(*buf, BAD_CAST "'}");
+    return ((const xmlChar *) *buf);
+}
+
+/**
+ * xmlSchemaFormatNsPrefixLocal:
+ * @buf: the string buffer
+ * @ns:  the namespace
+ * @local: the local name
+ *
+ * Returns a representation of the given URI used
+ * for error reports.
+ *
+ * Returns an empty string, if @ns is NULL, a formatted
+ * string otherwise.
+ */  
+static const xmlChar*   
+xmlSchemaFormatNsPrefixLocal(xmlChar **buf,
+			      xmlNsPtr ns, const xmlChar *local)
+{
+    if (*buf != NULL) {
+	xmlFree(*buf);
+	*buf = NULL;
+    }
+    if ((ns == NULL) || (ns->prefix == NULL))
+	return(local);
+    else {
+	*buf = xmlStrdup(ns->prefix);
+	*buf = xmlStrcat(*buf, BAD_CAST ":");
+	*buf = xmlStrcat(*buf, local);
+    }
+    return ((const xmlChar *) *buf);
+}
+
+/**
+ * xmlSchemaFormatItemForReport:
+ * @buf: the string buffer
+ * @itemDes: the designation of the item
+ * @itemName: the name of the item
+ * @item: the item as an object 
+ * @itemNode: the node of the item
+ * @local: the local name
+ * @parsing: if the function is used during the parse
+ *
+ * Returns a representation of the given item used
+ * for error reports. 
+ *
+ * The following order is used to build the resulting 
+ * designation if the arguments are not NULL:
+ * 1a. If itemDes not NULL -> itemDes
+ * 1b. If (itemDes not NULL) and (itemName not NULL)
+ *     -> itemDes + itemName
+ * 2. If the preceding was NULL and (item not NULL) -> item
+ * 3. If the preceding was NULL and (itemNode not NULL) -> itemNode
+ * 
+ * If the itemNode is an attribute node, the name of the attribute
+ * will be appended to the result.
+ *
+ * Returns the formatted string and sets @buf to the resulting value.
+ */  
+static xmlChar*   
+xmlSchemaFormatItemForReport(xmlChar **buf,		     
+		     const xmlChar *itemDes,
+		     xmlSchemaTypePtr item,
+		     xmlNodePtr itemNode,
+		     int parsing)
+{
+    xmlChar *str = NULL;
+    int named = 1;
+
+    if (*buf != NULL) {
+	xmlFree(*buf);
+	*buf = NULL;
+    }
+            
+    if (itemDes != NULL) {
+	*buf = xmlStrdup(itemDes);	
+    } else if (item != NULL) {
+	if (item->type == XML_SCHEMA_TYPE_BASIC) {
+	    if (item->builtInType == XML_SCHEMAS_ANYTYPE)
+		*buf = xmlStrdup(BAD_CAST "'anyType'");
+	    else if (item->builtInType == XML_SCHEMAS_ANYSIMPLETYPE)
+		*buf = xmlStrdup(BAD_CAST "'anySimpleType'");
+	    else {
+		/* *buf = xmlStrdup(BAD_CAST "bi "); */
+		/* *buf = xmlStrcat(*buf, xmlSchemaElemDesST); */
+		*buf = xmlStrdup(BAD_CAST "'");
+		*buf = xmlStrcat(*buf, item->name);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    }
+	} else if (item->type == XML_SCHEMA_TYPE_SIMPLE) {
+	    if (item->flags & XML_SCHEMAS_TYPE_GLOBAL) {
+		*buf = xmlStrdup(xmlSchemaElemDesST);
+		*buf = xmlStrcat(*buf, BAD_CAST " '");
+		*buf = xmlStrcat(*buf, item->name);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    } else {
+		*buf = xmlStrdup(xmlSchemaElemDesST);
+		*buf = xmlStrcat(*buf, BAD_CAST " local");
+	    }
+	} else if (item->type == XML_SCHEMA_TYPE_COMPLEX) {
+	    if (item->flags & XML_SCHEMAS_TYPE_GLOBAL) {
+		*buf = xmlStrdup(xmlSchemaElemDesCT);
+		*buf = xmlStrcat(*buf, BAD_CAST " '");
+		*buf = xmlStrcat(*buf, item->name);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    } else {
+		*buf = xmlStrdup(xmlSchemaElemDesCT);
+		*buf = xmlStrcat(*buf, BAD_CAST " local");
+	    }
+	} else if (item->type == XML_SCHEMA_TYPE_ATTRIBUTE) {
+	    xmlSchemaAttributePtr attr;
+
+	    attr = (xmlSchemaAttributePtr) item;	    
+	    if ((attr->flags & XML_SCHEMAS_TYPE_GLOBAL) ||
+		(attr->ref == NULL)) {
+		*buf = xmlStrdup(xmlSchemaElemDesAttrDecl);
+		*buf = xmlStrcat(*buf, BAD_CAST " '");
+		*buf = xmlStrcat(*buf, attr->name);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    } else {
+		*buf = xmlStrdup(xmlSchemaElemDesAttrRef);
+		*buf = xmlStrcat(*buf, BAD_CAST " '");
+		*buf = xmlStrcat(*buf, attr->refPrefix);
+		*buf = xmlStrcat(*buf, BAD_CAST ":");
+		*buf = xmlStrcat(*buf, attr->ref);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	   }		
+	} else if (item->type == XML_SCHEMA_TYPE_ELEMENT) {
+	    xmlSchemaElementPtr elem;
+
+	    elem = (xmlSchemaElementPtr) item;	    
+	    if ((elem->flags & XML_SCHEMAS_TYPE_GLOBAL) || 
+		(elem->ref == NULL)) {
+		*buf = xmlStrdup(xmlSchemaElemDesElemDecl);
+		*buf = xmlStrcat(*buf, BAD_CAST " '");
+		*buf = xmlStrcat(*buf, elem->name);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    } else {
+		*buf = xmlStrdup(xmlSchemaElemDesElemRef);
+		*buf = xmlStrcat(*buf, BAD_CAST " '");
+		*buf = xmlStrcat(*buf, elem->refPrefix);
+		*buf = xmlStrcat(*buf, BAD_CAST ":");
+		*buf = xmlStrcat(*buf, elem->ref);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    }		
+	} else
+	    named = 0;
+    } else 
+	named = 0;
+
+    if ((named == 0) && (itemNode != NULL)) {
+	xmlNodePtr elem;
+
+	if (itemNode->type == XML_ATTRIBUTE_NODE)
+	    elem = itemNode->parent;
+	else 
+	    elem = itemNode;
+	*buf = xmlStrdup(BAD_CAST "Element '");
+	if (parsing)
+	    *buf = xmlStrcat(*buf, elem->name);
+	else
+	    *buf = xmlStrcat(*buf, 
+		xmlSchemaFormatNsPrefixLocal(&str, elem->ns, elem->name));
+	*buf = xmlStrcat(*buf, BAD_CAST "'");
+    }
+    if ((itemNode != NULL) && (itemNode->type == XML_ATTRIBUTE_NODE)) {
+	*buf = xmlStrcat(*buf, BAD_CAST ", attribute '");
+	*buf = xmlStrcat(*buf, xmlSchemaFormatNsPrefixLocal(&str, 
+	    itemNode->ns, itemNode->name));
+	*buf = xmlStrcat(*buf, BAD_CAST "'");
+    }
+    FREE_AND_NULL(str);
+    
+    return (*buf);
+}
+
+/**
+ * xmlSchemaPFormatItemDes:
+ * @buf: the string buffer
+ * @item: the item as a schema object
+ * @itemNode: the item as a node
+ *
+ * If the pointer to @buf is not NULL and @but holds no value,
+ * the value is set to a item designation using 
+ * xmlSchemaFormatItemForReport. This one avoids adding
+ * an attribute designation postfix.
+ *
+ * Returns a string of all enumeration elements.
+ */
+static void
+xmlSchemaPRequestItemDes(xmlChar **buf,
+		       xmlSchemaTypePtr item,
+		       xmlNodePtr itemNode)
+{
+    if ((buf == 0) || (*buf != NULL)) 
+	return;
+    if (itemNode->type == XML_ATTRIBUTE_NODE)
+	itemNode = itemNode->parent;
+    xmlSchemaFormatItemForReport(buf, NULL, item, itemNode, 1);	
+}
+
+/**
+ * xmlSchemaFormatFacetEnumSet:
+ * @buf: the string buffer
+ * @type: the type holding the enumeration facets
+ *
+ * Builds a string consisting of all enumeration elements.
+ *
+ * Returns a string of all enumeration elements.
+ */
+static const xmlChar *
+xmlSchemaFormatFacetEnumSet(xmlChar **buf, xmlSchemaTypePtr type)
+{
+    xmlSchemaFacetLinkPtr link;
+
+    if (*buf != NULL)
+	xmlFree(*buf);    
+    *buf = NULL;
+    for (link = type->facetSet; link != NULL; link = link->next) {
+	if (link->facet->type == XML_SCHEMA_FACET_ENUMERATION) {
+	    if (*buf == NULL) {
+		*buf = xmlStrdup(BAD_CAST "'");
+		*buf = xmlStrcat(*buf, link->facet->value);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    } else {
+		*buf = xmlStrcat(*buf, BAD_CAST ", '");
+		*buf = xmlStrcat(*buf, link->facet->value);
+		*buf = xmlStrcat(*buf, BAD_CAST "'");
+	    }
+	}
+    }
+    return ((const xmlChar *) *buf);
+}
+
+/**
+ * xmlSchemaVFacetErr:
+ * @ctxt:  the schema validation context
+ * @error: the error code
+ * @node: the node to be validated  
+ * @value: the value of the node
+ * @type: the type holding the facet
+ * @facet: the facet
+ * @message: the error message of NULL
+ * @str1: extra data
+ * @str2: extra data
+ * @str3: extra data
+ *
+ * Reports a facet validation error.
+ * TODO: Should this report the value of an element as well?
+ */
+static void
+xmlSchemaVFacetErr(xmlSchemaValidCtxtPtr ctxt, 
+		   xmlParserErrors error,
+		   xmlNodePtr node,		   
+		   const xmlChar *value,
+		   unsigned long length,
+		   xmlSchemaTypePtr type,
+		   xmlSchemaFacetPtr facet,		   
+		   const char *message,
+		   const xmlChar *str1,
+		   const xmlChar *str2,
+		   const xmlChar *str3)
+{
+    xmlChar *str = NULL, *msg = NULL;
+    xmlSchemaTypeType facetType;
+
+    xmlSchemaFormatItemForReport(&msg, NULL, NULL, node, 0);
+    msg = xmlStrcat(msg, BAD_CAST " [");
+    msg = xmlStrcat(msg, xmlSchemaFormatItemForReport(&str, NULL, type, NULL, 0));
+    msg = xmlStrcat(msg, BAD_CAST ", facet '");
+    if (error == XML_SCHEMAV_CVC_ENUMERATION_VALID) {
+	facetType = XML_SCHEMA_FACET_ENUMERATION;
+	/*
+	* If enumerations are validated, one must not expect the
+	* facet to be given.
+	*/	
+    } else	
+	facetType = facet->type;
+    msg = xmlStrcat(msg, BAD_CAST xmlSchemaFacetTypeToString(facetType));
+    msg = xmlStrcat(msg, BAD_CAST "']: ");
+    if (message == NULL) {
+	/*
+	* Use a default message.
+	*/
+	if ((facetType == XML_SCHEMA_FACET_LENGTH) ||
+	    (facetType == XML_SCHEMA_FACET_MINLENGTH) ||
+	    (facetType == XML_SCHEMA_FACET_MAXLENGTH)) {
+
+	    char len[25], actLen[25];
+
+	    /* FIXME, TODO: What is the max expected string length of the
+	    * this value?
+	    */
+	    if (node->type == XML_ATTRIBUTE_NODE)
+		msg = xmlStrcat(msg, BAD_CAST "The value '%s' has a length of '%s'; ");
+	    else
+		msg = xmlStrcat(msg, BAD_CAST "The value has a length of '%s'; ");
+
+	    snprintf(len, 24, "%lu", xmlSchemaGetFacetValueAsULong(facet));
+	    snprintf(actLen, 24, "%lu", length);
+
+	    if (facetType == XML_SCHEMA_FACET_LENGTH)
+		msg = xmlStrcat(msg, 
+		BAD_CAST "this differs from the allowed length of '%s'.\n");     
+	    else if (facetType == XML_SCHEMA_FACET_MAXLENGTH)
+		msg = xmlStrcat(msg, 
+		BAD_CAST "this exceeds the allowed maximum length of '%s'.\n");
+	    else if (facetType == XML_SCHEMA_FACET_MINLENGTH)
+		msg = xmlStrcat(msg, 
+		BAD_CAST "this underruns the allowed minimum length of '%s'.\n");
+	    
+	    if (node->type == XML_ATTRIBUTE_NODE)
+		xmlSchemaVErrExt(ctxt, node, error,
+		    (const char *) msg,
+		    value, (const xmlChar *) actLen, (const xmlChar *) len,
+		    NULL, NULL);
+	    else 
+		xmlSchemaVErr(ctxt, node, error,  
+		    (const char *) msg,
+		    (const xmlChar *) actLen, (const xmlChar *) len);
+	
+	} else if (facetType == XML_SCHEMA_FACET_ENUMERATION) {
+	    msg = xmlStrcat(msg, BAD_CAST "The value '%s' is not an element "
+		"of the set {%s}.\n");
+	    xmlSchemaVErr(ctxt, node, error, (const char *) msg, value, 
+		xmlSchemaFormatFacetEnumSet(&str, type));
+	} else if (facetType == XML_SCHEMA_FACET_PATTERN) {
+	    msg = xmlStrcat(msg, BAD_CAST "The value '%s' is not accepted "
+		"by the pattern '%s'.\n");
+	    xmlSchemaVErr(ctxt, node, error, (const char *) msg, value, 
+		facet->value);	       
+	} else if (node->type == XML_ATTRIBUTE_NODE) {		
+	    msg = xmlStrcat(msg, BAD_CAST "The value '%s' is not facet-valid.\n");
+	    xmlSchemaVErr(ctxt, node, error, (const char *) msg, value, NULL);
+	} else {	    
+	    msg = xmlStrcat(msg, BAD_CAST "The value is not facet-valid.\n");
+	    xmlSchemaVErr(ctxt, node, error, (const char *) msg, NULL, NULL);
+	}
+    } else {
+	msg = xmlStrcat(msg, (const xmlChar *) message);
+	msg = xmlStrcat(msg, BAD_CAST ".\n");
+	xmlSchemaVErr3(ctxt, node, error, (const char *) msg, str1, str2, str3);
+    }        
+    FREE_AND_NULL(str)
+    xmlFree(msg);
+}
+
+/**
+ * xmlSchemaVSimpleTypeErr:
+ * @ctxt:  the schema validation context
+ * @error: the error code
+ * @type: the type used for validation
+ * @node: the node containing the validated value
+ * @value: the validated value
+ *
+ * Reports a simple type validation error.
+ * TODO: Should this report the value of an element as well?
+ */
+static void
+xmlSchemaVSimpleTypeErr(xmlSchemaValidCtxtPtr ctxt, 
+			xmlParserErrors error,			
+			xmlNodePtr node,
+			const xmlChar *value,
+			xmlSchemaTypePtr type)
+{
+    xmlChar *str = NULL, *msg = NULL;
+    
+    xmlSchemaFormatItemForReport(&msg, NULL,  NULL, node, 0);    
+    msg = xmlStrcat(msg, BAD_CAST " [");
+    msg = xmlStrcat(msg, xmlSchemaFormatItemForReport(&str, NULL, type, NULL, 0));
+    if (node->type == XML_ATTRIBUTE_NODE) {
+	msg = xmlStrcat(msg, BAD_CAST "]: The value '%s' is not valid.\n");
+	xmlSchemaVErr(ctxt, node, error, (const char *) msg, value, NULL);
+    } else {
+	msg = xmlStrcat(msg, BAD_CAST "]: The character content is not valid.\n");
+	xmlSchemaVErr(ctxt, node, error, (const char *) msg, NULL, NULL);
+    }
+    FREE_AND_NULL(str)	
+    xmlFree(msg);
+}
+
+/**
+ * xmlSchemaVComplexTypeErr:
+ * @ctxt:  the schema validation context
+ * @error: the error code
+ * @node: the node containing the validated value
+ * @type: the complex type used for validation
+ * @message: the error message
+ *
+ * Reports a complex type validation error.
+ */
+static void
+xmlSchemaVComplexTypeErr(xmlSchemaValidCtxtPtr ctxt, 
+			xmlParserErrors error,
+			xmlNodePtr node,
+			xmlSchemaTypePtr type,			
+			const char *message)
+{
+    xmlChar *str = NULL, *msg = NULL;
+    
+    xmlSchemaFormatItemForReport(&msg, NULL,  NULL, node, 0);
+    if (type != NULL) {
+	msg = xmlStrcat(msg, BAD_CAST " [");
+	msg = xmlStrcat(msg, xmlSchemaFormatItemForReport(&str, NULL, type, NULL, 0));
+	msg = xmlStrcat(msg, BAD_CAST "]");
+    }
+    msg = xmlStrcat(msg, BAD_CAST ": %s.\n");
+    xmlSchemaVErr(ctxt, node, error, (const char *) msg, 
+	(const xmlChar *) message, NULL);
+    FREE_AND_NULL(str)	
+    xmlFree(msg);
+}
+
+/**
+ * xmlSchemaPMissingAttrErr:
+ * @ctxt: the schema validation context
+ * @ownerDes: the designation of  the owner
+ * @ownerName: the name of the owner
+ * @ownerItem: the owner as a schema object
+ * @ownerElem: the owner as an element node
+ * @node: the parent element node of the missing attribute node
+ * @type: the corresponding type of the attribute node
+ *
+ * Reports an illegal attribute.
+ */
+static void
+xmlSchemaPMissingAttrErr(xmlSchemaParserCtxtPtr ctxt,
+			 xmlParserErrors error,			 
+			 xmlChar **ownerDes,
+			 xmlSchemaTypePtr ownerItem,
+			 xmlNodePtr ownerElem,
+			 const char *name,
+			 const char *message)
+{
+    xmlChar *des = NULL;
+
+    if (ownerDes == NULL)
+	xmlSchemaFormatItemForReport(&des, NULL, ownerItem, ownerElem, 1);
+    else if (*ownerDes == NULL) {
+	xmlSchemaFormatItemForReport(ownerDes, NULL, ownerItem, ownerElem, 1);
+	des = *ownerDes;
+    } else 
+	des = *ownerDes;      
+    if (message != NULL)
+	xmlSchemaPErr(ctxt, ownerElem, error, "%s: %s.\n", BAD_CAST des, BAD_CAST message);
+    else	
+	xmlSchemaPErr(ctxt, ownerElem, error, 
+	    "%s: The attribute '%s' is required but missing.\n", 
+	    BAD_CAST des, BAD_CAST name);
+    if (ownerDes == NULL)
+	FREE_AND_NULL(des);
+}
+
+/**
+ * xmlSchemaCompTypeToString:
+ * @type: the type of the schema item
+ *
+ * Returns the component name of a schema item.
+ */
+static const char *
+xmlSchemaCompTypeToString(xmlSchemaTypeType type)
+{
+    switch (type) {
+	case XML_SCHEMA_TYPE_SIMPLE:
+	    return("simple type definition");
+	case XML_SCHEMA_TYPE_COMPLEX:
+	    return("complex type definition");
+	case XML_SCHEMA_TYPE_ELEMENT:
+	    return("element declaration");
+	case XML_SCHEMA_TYPE_ATTRIBUTE:
+	    return("attribute declaration");
+	case XML_SCHEMA_TYPE_GROUP:
+	    return("model group definition");
+	case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
+	    return("attribute group definition");
+	case XML_SCHEMA_TYPE_NOTATION:
+	    return("notation declaration");
+	default:
+	    return("Not a schema component");
+    }
+}
+/**
+ * xmlSchemaPResCompAttrErr:
+ * @ctxt: the schema validation context
+ * @error: the error code
+ * @ownerDes: the designation of  the owner
+ * @ownerItem: the owner as a schema object
+ * @ownerElem: the owner as an element node
+ * @name: the name of the attribute holding the QName 
+ * @refName: the referenced local name
+ * @refURI: the referenced namespace URI
+ * @message: optional message
+ *
+ * Used to report QName attribute values that failed to resolve
+ * to schema components.
+ */
+static void
+xmlSchemaPResCompAttrErr(xmlSchemaParserCtxtPtr ctxt,
+			 xmlParserErrors error,			 
+			 xmlChar **ownerDes,
+			 xmlSchemaTypePtr ownerItem,
+			 xmlNodePtr ownerElem,
+			 const char *name,
+			 const xmlChar *refName,
+			 const xmlChar *refURI,
+			 xmlSchemaTypeType refType,
+			 const char *refTypeStr)
+{
+    xmlChar *des = NULL, *strA = NULL;
+
+    if (ownerDes == NULL)
+	xmlSchemaFormatItemForReport(&des, NULL, ownerItem, ownerElem, 1);
+    else if (*ownerDes == NULL) {
+	xmlSchemaFormatItemForReport(ownerDes, NULL, ownerItem, ownerElem, 1);
+	des = *ownerDes;
+    } else
+	des = *ownerDes;
+    if (refTypeStr == NULL)
+	refTypeStr = xmlSchemaCompTypeToString(refType);    
+	xmlSchemaPErrExt(ctxt, ownerElem, error, 
+	    NULL, NULL, NULL,
+	    "%s, attribute '%s': The QName value %s does not resolve to a(n) "
+	    "%s.\n", BAD_CAST des, BAD_CAST name, 
+	    xmlSchemaFormatNsUriLocal(&strA, refURI, refName), 
+	    BAD_CAST refTypeStr, NULL);
+    if (ownerDes == NULL)
+	FREE_AND_NULL(des)
+    FREE_AND_NULL(strA)
+}
+
+/**
+ * xmlSchemaPCustomAttrErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @ownerDes: the designation of the owner
+ * @ownerItem: the owner as a schema object
+ * @attr: the illegal attribute node 
+ *
+ * Reports an illegal attribute during the parse.
+ */
+static void
+xmlSchemaPCustomAttrErr(xmlSchemaParserCtxtPtr ctxt,
+			xmlParserErrors error,	
+			xmlChar **ownerDes,
+			xmlSchemaTypePtr ownerItem,
+			xmlAttrPtr attr,
+			const char *msg)
+{
+    xmlChar *des = NULL;
+
+    if (ownerDes == NULL)
+	xmlSchemaFormatItemForReport(&des, NULL, ownerItem, attr->parent, 1);
+    else if (*ownerDes == NULL) {
+	xmlSchemaFormatItemForReport(ownerDes, NULL, ownerItem, attr->parent, 1);
+	des = *ownerDes;
+    } else 
+	des = *ownerDes;    
+    xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr, error, NULL, NULL, NULL,
+	"%s, attribute '%s': %s.\n", 
+	BAD_CAST des, attr->name, (const xmlChar *) msg, NULL, NULL);
+    if (ownerDes == NULL)
+	FREE_AND_NULL(des);
+}
+
+/**
+ * xmlSchemaPIllegalAttrErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @ownerDes: the designation of the attribute's owner
+ * @ownerItem: the attribute's owner item
+ * @attr: the illegal attribute node 
+ *
+ * Reports an illegal attribute during the parse.
+ */
+static void
+xmlSchemaPIllegalAttrErr(xmlSchemaParserCtxtPtr ctxt,
+			 xmlParserErrors error,	
+			 xmlChar **ownerDes,
+			 xmlSchemaTypePtr ownerItem,
+			 xmlAttrPtr attr)
+{
+    xmlChar *des = NULL, *strA = NULL;
+
+    if (ownerDes == NULL)
+	xmlSchemaFormatItemForReport(&des, NULL, ownerItem, attr->parent, 1);
+    else if (*ownerDes == NULL) {
+	xmlSchemaFormatItemForReport(ownerDes, NULL, ownerItem, attr->parent, 1);
+	des = *ownerDes;
+    } else 
+	des = *ownerDes;    
+    xmlSchemaPErr(ctxt, (xmlNodePtr) attr, error, 
+	"%s: The attribute '%s' is not allowed.\n", BAD_CAST des, 
+	xmlSchemaFormatNsPrefixLocal(&strA, attr->ns, attr->name));
+    if (ownerDes == NULL)
+	FREE_AND_NULL(des);
+    FREE_AND_NULL(strA);
+}
+
+/**
+ * xmlSchemaPAquireDes:
+ * @des: the first designation 
+ * @itemDes: the second designation
+ * @item: the schema item 
+ * @itemElem: the node of the schema item
+ *
+ * Creates a designation for an item.
+ */
+static void
+xmlSchemaPAquireDes(xmlChar **des,
+		    xmlChar **itemDes, 
+		    xmlSchemaTypePtr item,
+		    xmlNodePtr itemElem)
+{
+    if (itemDes == NULL)
+	xmlSchemaFormatItemForReport(des, NULL, item, itemElem, 1);
+    else if (*itemDes == NULL) {
+	xmlSchemaFormatItemForReport(itemDes, NULL, item, itemElem, 1);
+	*des = *itemDes;
+    } else 
+	*des = *itemDes;  
+}
+
+/**
+ * xmlSchemaPCustomErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @itemDes: the designation of the schema item
+ * @item: the schema item
+ * @itemElem: the node of the schema item
+ * @message: the error message
+ * @str1: an optional param for the error message
+ * @str2: an optional param for the error message
+ * @str3: an optional param for the error message
+ *
+ * Reports an error during parsing.
+ */
+static void
+xmlSchemaPCustomErrExt(xmlSchemaParserCtxtPtr ctxt,
+		    xmlParserErrors error,	
+		    xmlChar **itemDes,
+		    xmlSchemaTypePtr item,
+		    xmlNodePtr itemElem,
+		    const char *message,
+		    const xmlChar *str1,
+		    const xmlChar *str2,
+		    const xmlChar *str3)
+{
+    xmlChar *des = NULL, *msg = NULL;
+
+    xmlSchemaPAquireDes(&des, itemDes, item, itemElem);   
+    msg = xmlStrdup(BAD_CAST "%s: ");
+    msg = xmlStrcat(msg, (const xmlChar *) message);
+    msg = xmlStrcat(msg, BAD_CAST ".\n");
+    if ((itemElem == NULL) && (item != NULL))
+	itemElem = item->node;
+    xmlSchemaPErrExt(ctxt, itemElem, error, NULL, NULL, NULL, 
+	(const char *) msg, BAD_CAST des, str1, str2, str3, NULL);
+    if (itemDes == NULL)
+	FREE_AND_NULL(des);
+    FREE_AND_NULL(msg);
+}
+
+/**
+ * xmlSchemaPCustomErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @itemDes: the designation of the schema item
+ * @item: the schema item
+ * @itemElem: the node of the schema item
+ * @message: the error message
+ * @str1: the optional param for the error message
+ *
+ * Reports an error during parsing.
+ */
+static void
+xmlSchemaPCustomErr(xmlSchemaParserCtxtPtr ctxt,
+		    xmlParserErrors error,	
+		    xmlChar **itemDes,
+		    xmlSchemaTypePtr item,
+		    xmlNodePtr itemElem,
+		    const char *message,
+		    const xmlChar *str1)
+{
+    xmlSchemaPCustomErrExt(ctxt, error, itemDes, item, itemElem, message,
+	str1, NULL, NULL);
+}
+
+/**
+ * xmlSchemaPAttrUseErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @itemDes: the designation of the schema type
+ * @item: the schema type
+ * @itemElem: the node of the schema type
+ * @attr: the invalid schema attribute
+ * @message: the error message
+ * @str1: the optional param for the error message
+ *
+ * Reports an attribute use error during parsing.
+ */
+static void
+xmlSchemaPAttrUseErr(xmlSchemaParserCtxtPtr ctxt,
+		    xmlParserErrors error,	
+		    xmlChar **itemDes,
+		    xmlSchemaTypePtr item,
+		    xmlNodePtr itemElem,
+		    const xmlSchemaAttributePtr attr,
+		    const char *message,
+		    const xmlChar *str1)
+{
+    xmlChar *des = NULL, *strA = NULL, *msg = NULL;
+
+    xmlSchemaPAquireDes(&des, itemDes, item, itemElem);
+    xmlSchemaFormatNsUriLocal(&strA, xmlSchemaGetAttrTargetNsURI(attr), 
+	xmlSchemaGetAttrName(attr));
+    msg = xmlStrdup(BAD_CAST "%s, attr. use %s: ");
+    msg = xmlStrcat(msg, (const xmlChar *) message);
+    msg = xmlStrcat(msg, BAD_CAST ".\n");
+    if ((itemElem == NULL) && (item != NULL))
+	itemElem = item->node;
+    xmlSchemaPErrExt(ctxt, itemElem, error, NULL, NULL, NULL, 
+	(const char *) msg, BAD_CAST des, BAD_CAST strA, str1, NULL, NULL);
+    if (itemDes == NULL)
+	FREE_AND_NULL(des);
+    FREE_AND_NULL(strA);
+    xmlFree(msg);
+}
+
+/**
+ * xmlSchemaPIllegalFacetAtomicErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @itemDes: the designation of the type
+ * @item: the schema type
+ * @baseItem: the base type of type
+ * @facet: the illegal facet
+ *
+ * Reports an illegal facet for atomic simple types.
+ */
+static void
+xmlSchemaPIllegalFacetAtomicErr(xmlSchemaParserCtxtPtr ctxt,
+			  xmlParserErrors error,	
+			  xmlChar **itemDes,
+			  xmlSchemaTypePtr item,
+			  xmlSchemaTypePtr baseItem,
+			  xmlSchemaFacetPtr facet)
+{
+    xmlChar *des = NULL, *strT = NULL;
+
+    xmlSchemaPAquireDes(&des, itemDes, item, item->node);
+    xmlSchemaPErrExt(ctxt, item->node, error, NULL, NULL, NULL,
+	"%s: The facet '%s' is not allowed on types derived from the "
+	"type %s.\n",
+	BAD_CAST des, BAD_CAST xmlSchemaFacetTypeToString(facet->type),
+	xmlSchemaFormatItemForReport(&strT, NULL, baseItem, NULL, 1),
+	NULL, NULL);
+    if (itemDes == NULL)
+	FREE_AND_NULL(des);
+    FREE_AND_NULL(strT);
+}
+
+/**
+ * xmlSchemaPIllegalFacetListUnionErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @itemDes: the designation of the schema item involved
+ * @item: the schema item involved
+ * @facet: the illegal facet
+ *
+ * Reports an illegal facet for <list> and <union>.
+ */
+static void
+xmlSchemaPIllegalFacetListUnionErr(xmlSchemaParserCtxtPtr ctxt,
+			  xmlParserErrors error,	
+			  xmlChar **itemDes,
+			  xmlSchemaTypePtr item,
+			  xmlSchemaFacetPtr facet)
+{
+    xmlChar *des = NULL, *strT = NULL;
+
+    xmlSchemaPAquireDes(&des, itemDes, item, item->node);
+    xmlSchemaPErr(ctxt, item->node, error, 
+	"%s: The facet '%s' is not allowed.\n", 
+	BAD_CAST des, BAD_CAST xmlSchemaFacetTypeToString(facet->type));
+    if (itemDes == NULL)
+	FREE_AND_NULL(des);
+    FREE_AND_NULL(strT);
+}
+
+/**
+ * xmlSchemaPMutualExclAttrErr:
+ * @ctxt: the schema validation context
+ * @error: the error code
+ * @elemDes: the designation of the parent element node
+ * @attr: the bad attribute node
+ * @type: the corresponding type of the attribute node
+ *
+ * Reports an illegal attribute.
+ */
+static void
+xmlSchemaPMutualExclAttrErr(xmlSchemaParserCtxtPtr ctxt,
+			 xmlParserErrors error,
+			 xmlChar **ownerDes,
+			 xmlSchemaTypePtr ownerItem,
+			 xmlAttrPtr attr,			 
+			 const char *name1,
+			 const char *name2)
+{
+    xmlChar *des = NULL;
+
+    if (ownerDes == NULL)
+	xmlSchemaFormatItemForReport(&des, NULL, ownerItem, attr->parent, 1);	
+    else if (*ownerDes == NULL) {
+	xmlSchemaFormatItemForReport(ownerDes, NULL, ownerItem, attr->parent, 1);
+	des = *ownerDes;
+    } else 
+	des = *ownerDes;  
+    xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr, error, NULL, NULL, NULL,
+	"%s: The attributes '%s' and '%s' are mutually exclusive.\n", 
+	BAD_CAST des, BAD_CAST name1, BAD_CAST name2, NULL, NULL);
+    if (ownerDes == NULL)
+	FREE_AND_NULL(des)
+}
+
+/**
+ * xmlSchemaPSimpleTypeErr:
+ * @ctxt:  the schema validation context
+ * @error: the error code
+ * @type: the type specifier
+ * @ownerDes: the designation of the owner
+ * @ownerItem: the schema object if existent 
+ * @node: the validated node
+ * @value: the validated value
+ *
+ * Reports a simple type validation error.
+ * TODO: Should this report the value of an element as well?
+ */
+static void
+xmlSchemaPSimpleTypeErr(xmlSchemaParserCtxtPtr ctxt, 
+			xmlParserErrors error,
+			xmlChar **ownerDes,
+			xmlSchemaTypePtr ownerItem,
+			xmlNodePtr node,
+			xmlSchemaTypePtr type,
+			const char *typeDes,
+			const xmlChar *value,
+			const char *message,
+			const xmlChar *str1,
+			const xmlChar *str2)
+{
+    xmlChar *des = NULL, *strA = NULL, *strT = NULL;    
+    
+    if (ownerDes == NULL)
+	xmlSchemaPRequestItemDes(&des, ownerItem, node);
+    else if (*ownerDes == NULL) {
+	xmlSchemaPRequestItemDes(ownerDes, ownerItem, node);
+	des = *ownerDes;
+    } else 
+	des = *ownerDes;   
+    if (type != NULL)
+	typeDes = (const char *) xmlSchemaFormatItemForReport(&strT, NULL, type, NULL, 1);
+    if (message == NULL) {
+	/*
+	* Use default messages.
+	*/
+	if (node->type == XML_ATTRIBUTE_NODE) {
+	    xmlSchemaPErrExt(ctxt, node, error, NULL, NULL, NULL,
+		"%s, attribute '%s' [%s]: The value '%s' is not "
+		"valid.\n", 
+		BAD_CAST des, xmlSchemaFormatNsPrefixLocal(&strA, node->ns, 
+		node->name), BAD_CAST typeDes, value, NULL);
+	} else {
+	    xmlSchemaPErr(ctxt, node, error, 
+		"%s [%s]: The character content is not valid.\n",
+		BAD_CAST des, BAD_CAST typeDes);
+	}
+    } else {
+	xmlChar *msg;
+
+	msg = xmlStrdup(BAD_CAST "%s");
+	if (node->type == XML_ATTRIBUTE_NODE)
+	    msg = xmlStrcat(msg, BAD_CAST ", attribute '%s'");
+	msg = xmlStrcat(msg, BAD_CAST " [%s]: ");
+	msg = xmlStrcat(msg, (const xmlChar *) message);
+	msg = xmlStrcat(msg, BAD_CAST ".\n");
+	if (node->type == XML_ATTRIBUTE_NODE) {
+	    xmlSchemaPErrExt(ctxt, node, error, NULL, NULL, NULL,
+		(const char *) msg, 
+		BAD_CAST des, xmlSchemaFormatNsPrefixLocal(&strA, 
+		node->ns, node->name), BAD_CAST typeDes, str1, str2);
+	} else {
+	    xmlSchemaPErrExt(ctxt, node, error, NULL, NULL, NULL,
+		(const char *) msg, 
+		BAD_CAST des, BAD_CAST typeDes, str1, str2, NULL);
+	}
+	xmlFree(msg);
+    }
+    /* Cleanup. */
+    FREE_AND_NULL(strA)
+    FREE_AND_NULL(strT)
+    if (ownerDes == NULL)
+	FREE_AND_NULL(des)
+}
+
+/**
+ * xmlSchemaPContentErr:
+ * @ctxt: the schema parser context
+ * @error: the error code
+ * @onwerDes: the designation of the holder of the content
+ * @ownerItem: the owner item of the holder of the content
+ * @ownerElem: the node of the holder of the content
+ * @child: the invalid child node
+ * @message: the optional error message
+ * @content: the optional string describing the correct content
+ *
+ * Reports an error concerning the content of a schema element.
+ */
+static void
+xmlSchemaPContentErr(xmlSchemaParserCtxtPtr ctxt, 
+		     xmlParserErrors error,
+		     xmlChar **ownerDes,
+		     xmlSchemaTypePtr ownerItem,
+		     xmlNodePtr ownerElem,		     
+		     xmlNodePtr child,
+		     const char *message,
+		     const char *content)
+{
+    xmlChar *des = NULL;
+    
+    if (ownerDes == NULL)
+	xmlSchemaFormatItemForReport(&des, NULL, ownerItem, ownerElem, 1);
+    else if (*ownerDes == NULL) {
+	xmlSchemaFormatItemForReport(ownerDes, NULL, ownerItem, ownerElem, 1);
+	des = *ownerDes;
+    } else 
+	des = *ownerDes;   
+    if (message != NULL)
+	xmlSchemaPErr2(ctxt, ownerElem, child, error, 
+	    "%s: %s.\n", 
+	    BAD_CAST des, BAD_CAST message);
+    else {
+	if (content != NULL) {
+	    xmlSchemaPErr2(ctxt, ownerElem, child, error, 
+		"%s: The content is not valid. Expected is %s.\n", 
+		BAD_CAST des, BAD_CAST content);
+	} else {
+	    xmlSchemaPErr2(ctxt, ownerElem, child, error, 
+		"%s: The content is not valid.\n", 
+		BAD_CAST des, NULL);
+	}
+    }
+    if (ownerDes == NULL)
+	FREE_AND_NULL(des)
+}   
+
+/**
+ * xmlSchemaVIllegalAttrErr:
+ * @ctxt: the schema validation context
+ * @error: the error code
+ * @attr: the illegal attribute node
+ *
+ * Reports an illegal attribute.
+ */
+static void
+xmlSchemaVIllegalAttrErr(xmlSchemaValidCtxtPtr ctxt,
+			 xmlParserErrors error,
+			 xmlAttrPtr attr)
+{
+    xmlChar *strE = NULL, *strA = NULL;
+    
+    xmlSchemaVErr(ctxt, (xmlNodePtr) attr, 	
+	error,
+	/* XML_SCHEMAS_ERR_ATTRUNKNOWN, */
+	"%s: The attribute '%s' is not allowed.\n",
+	xmlSchemaFormatItemForReport(&strE, NULL, NULL, attr->parent, 0),
+	xmlSchemaFormatNsPrefixLocal(&strA, attr->ns, attr->name));
+    FREE_AND_NULL(strE)
+    FREE_AND_NULL(strA)
+}
+
+/**
+ * xmlSchemaVCustomErr:
+ * @ctxt: the schema validation context
+ * @error: the error code
+ * @node: the validated node
+ * @type: the schema type of the validated node
+ * @message: the error message
+ * @str1: the optional param for the message
+ *
+ * Reports a validation error.
+ */
+static void
+xmlSchemaVCustomErr(xmlSchemaValidCtxtPtr ctxt,
+		    xmlParserErrors error,			    
+		    xmlNodePtr node,
+		    xmlSchemaTypePtr type,
+		    const char *message,
+		    const xmlChar *str1)
+{
+    xmlChar *msg = NULL, *str = NULL;
+    
+    if (node == NULL) {
+	xmlSchemaVErr(ctxt, NULL,
+	    XML_SCHEMAV_INTERNAL,
+	    "Internal error: xmlSchemaVCustomErr, no node "
+	    "given.\n", NULL, NULL);
+	return;
+    }
+    /* TODO: Are the HTML and DOCB doc nodes expected here? */
+    if (node->type != XML_DOCUMENT_NODE) {
+	xmlSchemaFormatItemForReport(&msg, NULL, NULL, node, 0);
+	if (type != NULL) {
+	    msg = xmlStrcat(msg, BAD_CAST " [");
+	    msg = xmlStrcat(msg, xmlSchemaFormatItemForReport(&str, NULL, type, NULL, 0));
+	    msg = xmlStrcat(msg, BAD_CAST "]");
+	}
+	msg = xmlStrcat(msg, BAD_CAST ": ");
+    } else
+	msg = xmlStrdup((const xmlChar *) "");
+    msg = xmlStrcat(msg, (const xmlChar *) message);
+    msg = xmlStrcat(msg, BAD_CAST ".\n");   
+    xmlSchemaVErr(ctxt, node, error, (const char *) msg, str1, NULL);
+    FREE_AND_NULL(msg)
+    FREE_AND_NULL(str)
+}
+
+/**
+ * xmlSchemaWildcardPCToString:
+ * @pc: the type of processContents
+ *
+ * Returns a string representation of the type of 
+ * processContents.
+ */
+static const char *
+xmlSchemaWildcardPCToString(int pc)
+{
+    switch (pc) {
+	case XML_SCHEMAS_ANY_SKIP:
+	    return ("skip");
+	case XML_SCHEMAS_ANY_LAX:
+	    return ("lax");
+	case XML_SCHEMAS_ANY_STRICT:
+	    return ("strict");
+	default:
+	    return ("invalid process contents");
+    }
+}
+
+/**
+ * xmlSchemaVWildcardErr:
+ * @ctxt: the schema validation context
+ * @error: the error code
+ * @node: the validated node
+ * @wild: the wildcard used
+ * @message: the error message
+ *
+ * Reports an validation-by-wildcard error.
+ */
+static void
+xmlSchemaVWildcardErr(xmlSchemaValidCtxtPtr ctxt,
+		    xmlParserErrors error,			    
+		    xmlNodePtr node,
+		    xmlSchemaWildcardPtr wild,
+		    const char *message)
+{
+    xmlChar *des = NULL, *msg = NULL;
+
+    xmlSchemaFormatItemForReport(&des, NULL, NULL, node, 0);
+    msg = xmlStrdup(BAD_CAST "%s, [");
+    msg = xmlStrcat(msg, BAD_CAST xmlSchemaWildcardPCToString(wild->processContents));
+    msg = xmlStrcat(msg, BAD_CAST " WC]: ");
+    msg = xmlStrcat(msg, (const xmlChar *) message);
+    msg = xmlStrcat(msg, BAD_CAST ".\n");
+    xmlSchemaVErr(ctxt, node, error, (const char *) msg, BAD_CAST des, NULL);
+    FREE_AND_NULL(des);
+    FREE_AND_NULL(msg);
+}
+
+/**
+ * xmlSchemaVMissingAttrErr:
+ * @ctxt: the schema validation context
+ * @node: the parent element node of the missing attribute node
+ * @type: the corresponding type of the attribute node
+ *
+ * Reports an illegal attribute.
+ */
+static void
+xmlSchemaVMissingAttrErr(xmlSchemaValidCtxtPtr ctxt,
+			 xmlNodePtr elem,
+			 xmlSchemaAttributePtr type)
+{
+    const xmlChar *name, *uri;
+    xmlChar *strE = NULL, *strA = NULL;
+
+    if (type->ref != NULL) {				
+	name = type->ref;
+	uri = type->refNs;
+    } else {
+	name = type->name;
+	uri = type->targetNamespace;
+    }			    
+    xmlSchemaVErr(ctxt, elem, 
+	XML_SCHEMAV_CVC_COMPLEX_TYPE_4,
+	/* XML_SCHEMAS_ERR_MISSING, */
+	"%s: The attribute %s is required but missing.\n",
+	xmlSchemaFormatItemForReport(&strE, NULL, NULL, elem, 0),
+	xmlSchemaFormatNsUriLocal(&strA, uri, name));
+    FREE_AND_NULL(strE)
+    FREE_AND_NULL(strA)
+}
+
 /************************************************************************
  * 									*
  * 			Allocation functions				*
@@ -433,7 +1782,7 @@
  ************************************************************************/
 
 /**
- * xmlSchemaNewSchema:
+ * xmlSchemaNewSchemaForParserCtxt:
  * @ctxt:  a schema validation context
  *
  * Allocate a new Schema structure.
@@ -458,6 +1807,29 @@
 }
 
 /**
+ * xmlSchemaNewSchema:
+ * @ctxt:  a schema validation context
+ *
+ * Allocate a new Schema structure.
+ *
+ * Returns the newly allocated structure or NULL in case or error
+ */
+static xmlSchemaAssemblePtr
+xmlSchemaNewAssemble(void)
+{
+    xmlSchemaAssemblePtr ret;
+
+    ret = (xmlSchemaAssemblePtr) xmlMalloc(sizeof(xmlSchemaAssemble));
+    if (ret == NULL) {
+        /* xmlSchemaPErrMemory(ctxt, "allocating assemble info", NULL); */
+        return (NULL);
+    }
+    memset(ret, 0, sizeof(xmlSchemaAssemble));
+    ret->items = NULL;
+    return (ret);
+}
+
+/**
  * xmlSchemaNewFacet:
  *
  * Allocate a new Facet structure.
@@ -529,6 +1901,7 @@
         return;
 
     xmlSchemaFree(import->schema);
+    xmlFreeDoc(import->doc);
     xmlFree(import);
 }
 
@@ -591,6 +1964,10 @@
 {
     if (attr == NULL)
         return;
+    if (attr->annot != NULL) 
+	xmlSchemaFreeAnnot(attr->annot);
+    if (attr->defVal != NULL)
+	xmlSchemaFreeValue(attr->defVal);
     xmlFree(attr);
 }
 
@@ -604,7 +1981,7 @@
 xmlSchemaFreeWildcardNsSet(xmlSchemaWildcardNsPtr set)
 {
     xmlSchemaWildcardNsPtr next;
-
+    
     while (set != NULL) {
 	next = set->next;
 	xmlFree(set);
@@ -703,6 +2080,8 @@
         xmlSchemaFreeAnnot(elem->annot);
     if (elem->contModel != NULL)
         xmlRegFreeRegexp(elem->contModel);
+    if (elem->defVal != NULL)
+	xmlSchemaFreeValue(elem->defVal);
     xmlFree(elem);
 }
 
@@ -752,11 +2131,14 @@
     if (type->type != XML_SCHEMA_TYPE_BASIC) {
 	if (type->attributeUses != NULL)
 	    xmlSchemaFreeAttributeUseList(type->attributeUses);
-	/* TODO: There must be a way more simple than this. */
-	if ((type->attributeWildcard != NULL) && 
+	if ((type->attributeWildcard != NULL) &&
 	    ((type->type != XML_SCHEMA_TYPE_COMPLEX) ||
-	    ((type->type == XML_SCHEMA_TYPE_COMPLEX) && 
-	    (type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD)))) { 
+	    (type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD))) {
+	    /*
+	    * NOTE: The only case where an attribute wildcard
+	    * is not owned, is if a complex type inherits it
+	    * from a base type.
+	    */
 	    xmlSchemaFreeWildcard(type->attributeWildcard);
 	}
     }
@@ -771,7 +2153,9 @@
 	    xmlFree(link);
 	    link = next;
 	} while (link != NULL);
-    }      
+    }  
+    if (type->contModel != NULL)
+        xmlRegFreeRegexp(type->contModel);
     xmlFree(type);
 }
 
@@ -833,8 +2217,7 @@
         xmlSchemaFreeAnnot(schema->annot);
     if (schema->doc != NULL && !schema->preserve)
         xmlFreeDoc(schema->doc);
-    xmlDictFree(schema->dict);
-
+    xmlDictFree(schema->dict);    
     xmlFree(schema);
 }
 
@@ -1051,6 +2434,8 @@
 void
 xmlSchemaDump(FILE * output, xmlSchemaPtr schema)
 {
+    if (output == NULL)
+        return;
     if (schema == NULL) {
         fprintf(output, "Schemas: NULL\n");
         return;
@@ -1081,22 +2466,61 @@
  *									*
  ************************************************************************/
 
+/**
+ * xmlSchemaGetPropNode:
+ * @node: the element node 
+ * @name: the name of the attribute
+ *
+ * Seeks an attribute with a name of @name in
+ * no namespace.
+ *
+ * Returns the attribute or NULL if not present. 
+ */
 static xmlAttrPtr
-xmlSchemaGetPropNode(xmlNodePtr node, const xmlChar *name) 
+xmlSchemaGetPropNode(xmlNodePtr node, const char *name) 
 {
     xmlAttrPtr prop;
 
-    if ((node == NULL) || (name == NULL)) return(NULL);
+    if ((node == NULL) || (name == NULL)) 
+	return(NULL);
     prop = node->properties;
     while (prop != NULL) {
-        if ((xmlStrEqual(prop->name, name)) &&	    
-	    (prop->ns == NULL))
+        if ((prop->ns == NULL) && xmlStrEqual(prop->name, BAD_CAST name))	    
 	    return(prop);
 	prop = prop->next;
     }
     return (NULL);
 }
 
+/**
+ * xmlSchemaGetPropNodeNs:
+ * @node: the element node 
+ * @uri: the uri
+ * @name: the name of the attribute
+ *
+ * Seeks an attribute with a local name of @name and
+ * a namespace URI of @uri.
+ *
+ * Returns the attribute or NULL if not present. 
+ */
+static xmlAttrPtr
+xmlSchemaGetPropNodeNs(xmlNodePtr node, const char *uri, const char *name) 
+{
+    xmlAttrPtr prop;
+
+    if ((node == NULL) || (name == NULL)) 
+	return(NULL);
+    prop = node->properties;
+    while (prop != NULL) {
+	if ((prop->ns != NULL) &&
+	    xmlStrEqual(prop->name, BAD_CAST name) &&
+	    xmlStrEqual(prop->ns->href, BAD_CAST uri))
+	    return(prop);
+	prop = prop->next;
+    }
+    return (NULL);
+}
+
 static const xmlChar *
 xmlSchemaGetNodeContent(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node)
 {
@@ -1136,85 +2560,6 @@
     return(ret);
 }
 
-#if 0
-/**
- * xmlSchemaGetNamespace:
- * @ctxt: the parser context
- * @schema: the schemas containing the declaration
- * @node: the node
- * @qname: the QName to analyze
- * 
- * Find the namespace name for the given declaration.
- *
- * Returns the local name for that declaration, as well as the namespace name
- * NOTE: This function is no longer used (Buchcik, May '04) 
- */
-static const xmlChar *
-xmlSchemaGetNamespace(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-	              xmlNodePtr node, const xmlChar *qname,
-	     const xmlChar **namespace) {
-    int len;
-    const xmlChar *name, *prefix, *def = NULL;
-    xmlNsPtr ns;
-
-    *namespace = NULL;
-    
-    /* TODO: The following seems to be not correct here:
-     * 1. The name of a declaration is a NCName, not a QName.
-     * 2. The attribute "targetNamespace" is allowed for the
-     *    <schema> Element Information Item only.
-     * 3. One cannot evaluate the target namespace, by the type
-     *    of declaration, since it is dependant on the xxxFormDefault
-     *    of <schema> and the form attribute of an <element> or <attribute>.
-     */
-   
-    if (xmlStrEqual(node->name, BAD_CAST "element") ||
-        xmlStrEqual(node->name, BAD_CAST "attribute") ||
-	xmlStrEqual(node->name, BAD_CAST "simpleType") ||
-	xmlStrEqual(node->name, BAD_CAST "complexType")) {
-	def = xmlSchemaGetProp(ctxt, node, "targetNamespace");
-    }
-
-
-    qname = xmlDictLookup(ctxt->dict, qname, -1); /* intern the string */
-    name = xmlSplitQName3(qname, &len);
-    if (name == NULL) {
-        if (def == NULL) {
-	    if (xmlStrEqual(node->name, BAD_CAST "element")) {
-		if (schema->flags & XML_SCHEMAS_QUALIF_ELEM)
-		    *namespace = schema->targetNamespace;
-	    } else if (xmlStrEqual(node->name, BAD_CAST "attribute")) {
-		if (schema->flags & XML_SCHEMAS_QUALIF_ATTR)
-		    *namespace = schema->targetNamespace;
-	    } else if ((xmlStrEqual(node->name, BAD_CAST "simpleType")) ||
-	               (xmlStrEqual(node->name, BAD_CAST "complexType"))) {
-		*namespace = schema->targetNamespace;
-	    }
-	} else {
-	    *namespace = def;
-	}
-	return(qname);
-    }
-
-    name = xmlDictLookup(ctxt->dict, name, -1);
-    prefix = xmlDictLookup(ctxt->dict, qname, len);
-    if (def != NULL) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_DEF_AND_PREFIX,
-                      "%s: presence of both prefix %s and targetNamespace\n",
-                      node->name, prefix);
-    }
-    ns = xmlSearchNs(node->doc, node, prefix);
-    if (ns == NULL) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_PREFIX_UNDEFINED,
-                      "%s: the QName prefix %s is undefined\n",
-                      node->name, prefix);
-	return(name);
-    }
-    *namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
-    return(name);
-}
-#endif
-
 /************************************************************************
  * 									*
  * 			Parsing functions				*
@@ -1223,29 +2568,26 @@
 
 /**
  * xmlSchemaGetElem:
- * @schema:  the schemas context
+ * @schema:  the schema context
  * @name:  the element name
  * @ns:  the element namespace
- * @level: how deep is the request
  *
- * Lookup a an element in the schemas or the accessible schemas
+ * Lookup a global element declaration in the schema.
  *
- * Returns the element definition or NULL if not found.
+ * Returns the element declaration or NULL if not found.
  */
 static xmlSchemaElementPtr
 xmlSchemaGetElem(xmlSchemaPtr schema, const xmlChar * name,
-                 const xmlChar * namespace, int level)
+                 const xmlChar * namespace)
 {
     xmlSchemaElementPtr ret;
-    xmlSchemaImportPtr import = NULL;
 
     if ((name == NULL) || (schema == NULL))
         return (NULL);
-    
-    
+        
         ret = xmlHashLookup2(schema->elemDecl, name, namespace);
         if ((ret != NULL) &&
-	((level == 0) || (ret->flags & XML_SCHEMAS_ELEM_GLOBAL))) {
+	    (ret->flags & XML_SCHEMAS_ELEM_GLOBAL)) {
             return (ret);
     } else
 	ret = NULL;
@@ -1266,9 +2608,11 @@
 	}
     */
     
-    /* if (level > 0) */
+    /*
+    * Removed since imported components will be hold by the main schema only.
+    *
     if (namespace == NULL)
-	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_NO_NAMESPACE);
     else
     import = xmlHashLookup(schema->schemasImports, namespace);
     if (import != NULL) {
@@ -1278,6 +2622,7 @@
 	} else
 	    ret = NULL;
     }
+    */
 #ifdef DEBUG
     if (ret == NULL) {
         if (namespace == NULL)
@@ -1305,7 +2650,6 @@
                  const xmlChar * namespace)
 {
     xmlSchemaTypePtr ret;
-    xmlSchemaImportPtr import;
 
     if (name == NULL)
         return (NULL);
@@ -1317,8 +2661,11 @@
     ret = xmlSchemaGetPredefinedType(name, namespace);
     if (ret != NULL)
 	return (ret);
+    /*
+    * Removed, since the imported components will be grafted on the
+    * main schema only.    
     if (namespace == NULL)
-	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_NO_NAMESPACE);
     else
     import = xmlHashLookup(schema->schemasImports, namespace);
     if (import != NULL) {
@@ -1328,6 +2675,7 @@
 	} else
 	    ret = NULL;
     }
+    */
 #ifdef DEBUG
     if (ret == NULL) {
         if (namespace == NULL)
@@ -1355,7 +2703,6 @@
                  const xmlChar * namespace)
 {
     xmlSchemaAttributePtr ret;
-    xmlSchemaImportPtr import = NULL;
 
     if ((name == NULL) || (schema == NULL))
         return (NULL);
@@ -1366,8 +2713,11 @@
 	return (ret); 
     else
 	ret = NULL;
+    /*
+    * Removed, since imported components will be hold by the main schema only.
+    *
     if (namespace == NULL)
-	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_NO_NAMESPACE);
     else
 	import = xmlHashLookup(schema->schemasImports, namespace);	
     if (import != NULL) {
@@ -1377,6 +2727,7 @@
 	} else
 	    ret = NULL;
     }
+    */
 #ifdef DEBUG
     if (ret == NULL) {
         if (namespace == NULL)
@@ -1404,7 +2755,6 @@
                  const xmlChar * namespace)
 {
     xmlSchemaAttributeGroupPtr ret;
-    xmlSchemaImportPtr import = NULL;
 
     if ((name == NULL) || (schema == NULL))
         return (NULL);
@@ -1415,8 +2765,11 @@
 	return (ret);  
     else
 	ret = NULL;
+    /*
+    * Removed since imported components will be hold by the main schema only.
+    *
     if (namespace == NULL)
-	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_NO_NAMESPACE);
     else
 	import = xmlHashLookup(schema->schemasImports, namespace);	
     if (import != NULL) {
@@ -1426,6 +2779,7 @@
 	else
 	    ret = NULL;
     }
+    */
 #ifdef DEBUG
     if (ret == NULL) {
         if (namespace == NULL)
@@ -1453,7 +2807,6 @@
                  const xmlChar * namespace)
 {
     xmlSchemaTypePtr ret;
-    xmlSchemaImportPtr import = NULL;
 
     if ((name == NULL) || (schema == NULL))
         return (NULL);
@@ -1464,8 +2817,11 @@
 	return (ret);  
     else
 	ret = NULL;
+    /*
+    * Removed since imported components will be hold by the main schema only.
+    *
     if (namespace == NULL)
-	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_NO_NAMESPACE);
     else
 	import = xmlHashLookup(schema->schemasImports, namespace);	
     if (import != NULL) {
@@ -1475,6 +2831,7 @@
 	else
 	    ret = NULL;
     }
+    */
 #ifdef DEBUG
     if (ret == NULL) {
         if (namespace == NULL)
@@ -1518,12 +2875,61 @@
 }
 
 /**
+ * xmlSchemaAddAssembledItem:
+ * @ctxt:  a schema parser context
+ * @schema:  the schema being built
+ * @item:  the item
+ *
+ * Add a item to the schema's list of current items.
+ * This is used if the schema was already constructed and
+ * new schemata need to be added to it.
+ * *WARNING* this interface is highly subject to change.
+ *
+ * Returns 0 if suceeds and -1 if an internal error occurs.
+ */
+static int
+xmlSchemaAddAssembledItem(xmlSchemaParserCtxtPtr ctxt,
+			   xmlSchemaTypePtr item)
+{
+    static int growSize = 100;
+    xmlSchemaAssemblePtr ass;
+
+    ass = ctxt->assemble;
+    if (ass->sizeItems < 0) {
+	/* If disabled. */
+	return (0);
+    }
+    if (ass->sizeItems <= 0) {
+	ass->items = (void **) xmlMalloc(growSize * sizeof(xmlSchemaTypePtr));
+	if (ass->items == NULL) {
+	    xmlSchemaPErrMemory(ctxt,
+		"allocating new item buffer", NULL);
+	    return (-1);
+	}	
+	ass->sizeItems = growSize;
+    } else if (ass->sizeItems <= ass->nbItems) {
+	ass->sizeItems *= 2;
+	ass->items = (void **) xmlRealloc(ass->items, 
+	    ass->sizeItems * sizeof(xmlSchemaTypePtr));
+	if (ass->items == NULL) {
+	    xmlSchemaPErrMemory(ctxt,
+		"growing item buffer", NULL);
+	    ass->sizeItems = 0;
+	    return (-1);
+	}	
+    }
+    /* ass->items[ass->nbItems++] = (void *) item; */
+    ((xmlSchemaTypePtr *) ass->items)[ass->nbItems++] = (void *) item;
+    return (0);
+}
+
+/**
  * xmlSchemaAddNotation:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  *
- * Add an XML schema Attrribute declaration
+ * Add an XML schema annotation declaration
  * *WARNING* this interface is highly subject to change
  *
  * Returns the new struture or NULL in case of error
@@ -1553,9 +2959,13 @@
     val = xmlHashAddEntry2(schema->notaDecl, name, schema->targetNamespace,
                            ret);
     if (val != 0) {
+	/*
+	* TODO: This should never happen, since a unique name will be computed.
+	* If it fails, then an other internal error must have occured.
+	*/
 	xmlSchemaPErr(ctxt, (xmlNodePtr) ctxt->doc,
 		      XML_SCHEMAP_REDEFINED_NOTATION,
-                      "Notation %s already defined\n",
+                      "Annotation declaration '%s' is already declared.\n",
                       name, NULL);
         xmlFree(ret);
         return (NULL);
@@ -1566,7 +2976,7 @@
 
 /**
  * xmlSchemaAddAttribute:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  * @namespace:  the namespace
@@ -1578,7 +2988,8 @@
  */
 static xmlSchemaAttributePtr
 xmlSchemaAddAttribute(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                      const xmlChar * name, const xmlChar * namespace)
+                      const xmlChar * name, const xmlChar * namespace,
+		      xmlNodePtr node)
 {
     xmlSchemaAttributePtr ret = NULL;
     int val;
@@ -1608,19 +3019,21 @@
     val = xmlHashAddEntry3(schema->attrDecl, name,
                            schema->targetNamespace, ctxt->container, ret);
     if (val != 0) {
-	xmlSchemaPErr(ctxt, (xmlNodePtr) ctxt->doc,
-		      XML_SCHEMAP_REDEFINED_ATTR,
-                      "Attribute %s already defined\n",
-                      name, NULL);
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_REDEFINED_ATTR,
+	    NULL, NULL, node,
+	    "A global attribute declaration with the name '%s' does already exist", name);
         xmlFree(ret);
         return (NULL);
     }
+    if (ctxt->assemble != NULL)
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret); 
     return (ret);
 }
 
 /**
  * xmlSchemaAddAttributeGroup:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  *
@@ -1630,7 +3043,8 @@
  */
 static xmlSchemaAttributeGroupPtr
 xmlSchemaAddAttributeGroup(xmlSchemaParserCtxtPtr ctxt,
-                           xmlSchemaPtr schema, const xmlChar * name)
+                           xmlSchemaPtr schema, const xmlChar * name,
+			   xmlNodePtr node)
 {
     xmlSchemaAttributeGroupPtr ret = NULL;
     int val;
@@ -1655,19 +3069,21 @@
     val = xmlHashAddEntry3(schema->attrgrpDecl, name,
                            schema->targetNamespace, ctxt->container, ret);
     if (val != 0) {
-	xmlSchemaPErr(ctxt, (xmlNodePtr) ctxt->doc,
-		      XML_SCHEMAP_REDEFINED_ATTRGROUP,
-                      "Attribute group %s already defined\n",
-                      name, NULL);
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_REDEFINED_ATTRGROUP,
+	    NULL, NULL, node,
+	    "A global attribute group definition with the name '%s' does already exist", name);
         xmlFree(ret);
         return (NULL);
     }
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret);
     return (ret);
 }
 
 /**
  * xmlSchemaAddElement:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the type name
  * @namespace:  the type namespace
@@ -1679,7 +3095,8 @@
  */
 static xmlSchemaElementPtr
 xmlSchemaAddElement(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                    const xmlChar * name, const xmlChar * namespace)
+                    const xmlChar * name, const xmlChar * namespace,
+		    xmlNodePtr node, int topLevel)
 {
     xmlSchemaElementPtr ret = NULL;
     int val;
@@ -1709,20 +3126,35 @@
     val = xmlHashAddEntry3(schema->elemDecl, name,
                            namespace, ctxt->container, ret);
     if (val != 0) {
-        char buf[100];
-
-        snprintf(buf, 99, "privatieelem %d", ctxt->counter++ + 1);
-        val = xmlHashAddEntry3(schema->elemDecl, name, (xmlChar *) buf,
-                               namespace, ret);
-        if (val != 0) {
-	    xmlSchemaPErr(ctxt, (xmlNodePtr) ctxt->doc,
-			  XML_SCHEMAP_REDEFINED_ELEMENT,
-			  "Element %s already defined\n",
-			  name, NULL);
+	if (topLevel) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_REDEFINED_ELEMENT,
+		NULL, NULL, node,
+		"A global element declaration with the name '%s' does "
+		"already exist", name);
             xmlFree(ret);
             return (NULL);
-        }
+	} else {
+	    char buf[30]; 
+
+	    snprintf(buf, 29, "#eCont %d", ctxt->counter++ + 1);
+	    val = xmlHashAddEntry3(schema->elemDecl, name, (xmlChar *) buf,
+		namespace, ret);
+	    if (val != 0) {
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_INTERNAL,
+		    NULL, NULL, node,
+		    "Internal error: xmlSchemaAddElement, "
+		    "a dublicate element declaration with the name '%s' "
+		    "could not be added to the hash.", name);
+		xmlFree(ret);
+		return (NULL);
+	    }
+	}
+        
     }
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret);
     return (ret);
 }
 
@@ -1740,7 +3172,8 @@
  */
 static xmlSchemaTypePtr
 xmlSchemaAddType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                 const xmlChar * name, const xmlChar * namespace)
+                 const xmlChar * name, const xmlChar * namespace,
+		 xmlNodePtr node)
 {
     xmlSchemaTypePtr ret = NULL;
     int val;
@@ -1768,12 +3201,12 @@
     ret->name = xmlDictLookup(ctxt->dict, name, -1);
     ret->redef = NULL;
     val = xmlHashAddEntry2(schema->typeDecl, name, namespace, ret);
-    if (val != 0) {
-        if (ctxt->includes == 0) {
-	    xmlSchemaPErr(ctxt, (xmlNodePtr) ctxt->doc,
-			  XML_SCHEMAP_REDEFINED_TYPE,
-			  "Type %s already defined\n",
-			  name, NULL);
+    if (val != 0) {	
+        if (ctxt->includes == 0) {	    
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_REDEFINED_TYPE,
+		NULL, NULL, node, 
+		"A global type definition with the name '%s' does already exist", name);            	    
 	    xmlFree(ret);
 	    return (NULL);
 	} else {
@@ -1782,9 +3215,10 @@
 	    prev = xmlHashLookup2(schema->typeDecl, name, namespace);
 	    if (prev == NULL) {
 		xmlSchemaPErr(ctxt, (xmlNodePtr) ctxt->doc,
-			      XML_ERR_INTERNAL_ERROR,
-			      "Internal error on type %s definition\n",
-			      name, NULL);
+		    XML_ERR_INTERNAL_ERROR,
+		    "Internal error: xmlSchemaAddType, on type "
+		    "'%s'.\n",
+		    name, NULL);
 		xmlFree(ret);
 		return (NULL);
 	    }
@@ -1796,7 +3230,8 @@
     ret->maxOccurs = 1;
     ret->attributeUses = NULL;
     ret->attributeWildcard = NULL;
-
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt,ret);
     return (ret);
 }
 
@@ -1812,7 +3247,7 @@
  */
 static xmlSchemaTypePtr
 xmlSchemaAddGroup(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                  const xmlChar * name)
+                  const xmlChar * name, xmlNodePtr node)
 {
     xmlSchemaTypePtr ret = NULL;
     int val;
@@ -1836,16 +3271,17 @@
         xmlHashAddEntry2(schema->groupDecl, name, schema->targetNamespace,
                          ret);
     if (val != 0) {
-	xmlSchemaPErr(ctxt, (xmlNodePtr) ctxt->doc,
-		      XML_SCHEMAP_REDEFINED_GROUP,
-                      "Group %s already defined\n",
-                      name, NULL);
+	xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_REDEFINED_GROUP,
+		NULL, NULL, node,
+		"A global model group definition with the name '%s' does already exist", name);    
         xmlFree(ret);
         return (NULL);
     }
     ret->minOccurs = 1;
     ret->maxOccurs = 1;
-
+    if (ctxt->assemble != NULL)	
+	xmlSchemaAddAssembledItem(ctxt, (xmlSchemaTypePtr) ret);
     return (ret);
 }
 
@@ -1876,11 +3312,10 @@
 /**
  * xmlSchemaAddWildcard:
  * @ctxt:  a schema validation context
- * @schema:  the schema being built
- * @name:  the group name
+ * Adds a wildcard. It corresponds to a 
+ * xsd:anyAttribute and is used as storage for namespace 
+ * constraints on a xsd:any.
  *
- * Add an XML schema Group definition
- *
  * Returns the new struture or NULL in case of error
  */
 static xmlSchemaWildcardPtr
@@ -1929,9 +3364,14 @@
     xmlNsPtr ns;
     const xmlChar *ret, *prefix;
     int len;
+    xmlAttrPtr attr;
 
     *namespace = NULL;
-    val = xmlSchemaGetProp(ctxt, node, name);
+    attr = xmlSchemaGetPropNode(node, name);
+    if (attr == NULL)
+	return (NULL);
+    val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+
     if (val == NULL)
         return (NULL);
 
@@ -1951,9 +3391,11 @@
 
     ns = xmlSearchNs(node->doc, node, prefix);
     if (ns == NULL) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_PREFIX_UNDEFINED,
-                      "Attribute \"%s\": the QName prefix \"%s\" is undefined\n",
-                      (const xmlChar *) name, prefix);
+        xmlSchemaPSimpleTypeErr(ctxt, XML_SCHEMAP_PREFIX_UNDEFINED, 
+	    NULL, NULL, (xmlNodePtr) attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME), NULL, val,
+	    "The QName value '%s' has no corresponding namespace "
+	    "declaration in scope", val, NULL);
     } else {
         *namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
     }
@@ -1961,6 +3403,165 @@
 }
 
 /**
+ * xmlSchemaPValAttrNodeQNameValue:
+ * @ctxt:  a schema parser context
+ * @schema: the schema context
+ * @ownerDes: the designation of the parent element
+ * @ownerItem: the parent as a schema object
+ * @value:  the QName value 
+ * @local: the resulting local part if found, the attribute value otherwise
+ * @uri:  the resulting namespace URI if found
+ *
+ * Extracts the local name and the URI of a QName value and validates it.
+ * This one is intended to be used on attribute values that
+ * should resolve to schema components.
+ *
+ * Returns 0, in case the QName is valid, a positive error code
+ * if not valid and -1 if an internal error occurs.
+ */
+static int
+xmlSchemaPValAttrNodeQNameValue(xmlSchemaParserCtxtPtr ctxt, 
+				       xmlSchemaPtr schema,
+				       xmlChar **ownerDes,
+				       xmlSchemaTypePtr ownerItem,
+				       xmlAttrPtr attr,
+				       const xmlChar *value,
+				       const xmlChar **uri,
+				       const xmlChar **prefix,
+				       const xmlChar **local)
+{
+    const xmlChar *pref;
+    xmlNsPtr ns;
+    int len, ret;
+    
+    *uri = NULL;
+    *local = NULL;
+    if (prefix != 0)
+	*prefix = NULL;
+    ret = xmlValidateQName(value, 1);
+    if (ret > 0) {		
+	xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, 
+	    ownerDes, ownerItem, (xmlNodePtr) attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME), 
+	    "QName", value, 
+	    NULL, NULL, NULL);	
+	*local = value;
+	return (ctxt->err); 
+    } else if (ret < 0)
+	return (-1);
+   
+    if (!strchr((char *) value, ':')) {	
+	ns = xmlSearchNs(attr->doc, attr->parent, 0);
+	if (ns)
+	    *uri = xmlDictLookup(ctxt->dict, ns->href, -1);
+	else if (schema->flags & XML_SCHEMAS_INCLUDING_CONVERT_NS) {
+	    /*
+	    * This one takes care of included schemas with no
+	    * target namespace.
+	    */
+	    *uri = schema->targetNamespace;
+	}	
+	*local = value;
+	return (0);
+    }
+    /*
+    * At this point xmlSplitQName3 has to return a local name.
+    */
+    *local = xmlSplitQName3(value, &len);
+    *local = xmlDictLookup(ctxt->dict, *local, -1);
+    pref = xmlDictLookup(ctxt->dict, value, len);
+    if (prefix != 0)
+	*prefix = pref;
+    ns = xmlSearchNs(attr->doc, attr->parent, pref);
+    if (ns == NULL) {
+	xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+	    ownerDes, ownerItem, (xmlNodePtr) attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME), "QName", value,
+	    "The QName value '%s' has no corresponding namespace "
+	    "declaration in scope", value, NULL);
+	return (ctxt->err);
+    } else {
+        *uri = xmlDictLookup(ctxt->dict, ns->href, -1);
+    }    
+    return (0);
+}
+
+/**
+ * xmlSchemaPValAttrNodeQName:
+ * @ctxt:  a schema parser context
+ * @schema: the schema context
+ * @ownerDes: the designation of the owner element
+ * @ownerItem: the owner as a schema object
+ * @attr:  the attribute node
+ * @local: the resulting local part if found, the attribute value otherwise
+ * @uri:  the resulting namespace URI if found
+ *
+ * Extracts and validates the QName of an attribute value.
+ * This one is intended to be used on attribute values that
+ * should resolve to schema components.
+ *
+ * Returns 0, in case the QName is valid, a positive error code
+ * if not valid and -1 if an internal error occurs.
+ */
+static int
+xmlSchemaPValAttrNodeQName(xmlSchemaParserCtxtPtr ctxt, 
+				       xmlSchemaPtr schema,
+				       xmlChar **ownerDes,
+				       xmlSchemaTypePtr ownerItem,
+				       xmlAttrPtr attr,
+				       const xmlChar **uri,
+				       const xmlChar **prefix,
+				       const xmlChar **local)
+{
+    const xmlChar *value;
+
+    value = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+    return (xmlSchemaPValAttrNodeQNameValue(ctxt, schema, 
+	ownerDes, ownerItem, attr, value, uri, prefix, local));
+}
+
+/**
+ * xmlSchemaPValAttrQName:
+ * @ctxt:  a schema parser context
+ * @schema: the schema context
+ * @ownerDes: the designation of the parent element
+ * @ownerItem: the owner as a schema object
+ * @ownerElem:  the parent node of the attribute
+ * @name:  the name of the attribute
+ * @local: the resulting local part if found, the attribute value otherwise
+ * @uri:  the resulting namespace URI if found
+ *
+ * Extracts and validates the QName of an attribute value.
+ *
+ * Returns 0, in case the QName is valid, a positive error code
+ * if not valid and -1 if an internal error occurs.
+ */
+static int
+xmlSchemaPValAttrQName(xmlSchemaParserCtxtPtr ctxt, 
+				   xmlSchemaPtr schema, 
+				   xmlChar **ownerDes,
+				   xmlSchemaTypePtr ownerItem,
+				   xmlNodePtr ownerElem,
+				   const char *name,
+				   const xmlChar **uri,
+				   const xmlChar **prefix,
+				   const xmlChar **local)
+{
+    xmlAttrPtr attr;
+
+    attr = xmlSchemaGetPropNode(ownerElem, name);
+    if (attr == NULL) {
+	*local = NULL;
+	*uri = NULL;
+	return (0);    
+    }
+    return (xmlSchemaPValAttrNodeQName(ctxt, schema, 
+	ownerDes, ownerItem, attr, uri, prefix, local));
+}
+
+/**
  * xmlGetMaxOccurs:
  * @ctxt:  a schema validation context
  * @node:  a subtree containing XML Schema informations
@@ -1970,32 +3571,57 @@
  * Returns the default if not found, or the value
  */
 static int
-xmlGetMaxOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node)
+xmlGetMaxOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node,
+		int min, int max, int def, const char *expected)
 {
     const xmlChar *val, *cur;
     int ret = 0;
+    xmlAttrPtr attr;
 
-    val = xmlSchemaGetProp(ctxt, node, "maxOccurs");
-    if (val == NULL)
-        return (1);
+    attr = xmlSchemaGetPropNode(node, "maxOccurs");
+    if (attr == NULL)
+	return (def);
+    val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
 
     if (xmlStrEqual(val, (const xmlChar *) "unbounded")) {
-        return (UNBOUNDED);  /* encoding it with -1 might be another option */
+	if (max != UNBOUNDED) {
+	    xmlSchemaPSimpleTypeErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+		/* XML_SCHEMAP_INVALID_MINOCCURS, */
+		NULL, NULL, (xmlNodePtr) attr, NULL, expected,
+		val, NULL, NULL, NULL);
+	    return (def);
+	} else 
+	    return (UNBOUNDED);  /* encoding it with -1 might be another option */
     }
 
     cur = val;
     while (IS_BLANK_CH(*cur))
         cur++;
+    if (*cur == 0) {
+        xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+	    /* XML_SCHEMAP_INVALID_MINOCCURS, */
+	    NULL, NULL, (xmlNodePtr) attr, NULL, expected,
+	    val, NULL, NULL, NULL);
+	return (def);
+    }
     while ((*cur >= '0') && (*cur <= '9')) {
         ret = ret * 10 + (*cur - '0');
         cur++;
     }
     while (IS_BLANK_CH(*cur))
         cur++;
-    if (*cur != 0) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_INVALID_MAXOCCURS,
-                      "invalid value for maxOccurs: %s\n", val, NULL);
-        return (1);
+    /*
+    * TODO: Restrict the maximal value to Integer.
+    */
+    if ((*cur != 0) || (ret < min) || ((max != -1) && (ret > max))) {
+	xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+	    /* XML_SCHEMAP_INVALID_MINOCCURS, */
+	    NULL, NULL, (xmlNodePtr) attr, NULL, expected,
+	    val, NULL, NULL, NULL);
+        return (def);
     }
     return (ret);
 }
@@ -2010,46 +3636,112 @@
  * Returns the default if not found, or the value
  */
 static int
-xmlGetMinOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node)
+xmlGetMinOccurs(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, 
+		int min, int max, int def, const char *expected)
 {
     const xmlChar *val, *cur;
     int ret = 0;
+    xmlAttrPtr attr;
 
-    val = xmlSchemaGetProp(ctxt, node, "minOccurs");
-    if (val == NULL)
-        return (1);
-
+    attr = xmlSchemaGetPropNode(node, "minOccurs");
+    if (attr == NULL)
+	return (def);
+    val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
     cur = val;
     while (IS_BLANK_CH(*cur))
         cur++;
+    if (*cur == 0) {
+        xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+	    /* XML_SCHEMAP_INVALID_MINOCCURS, */
+	    NULL, NULL, (xmlNodePtr) attr, NULL, expected,
+	    val, NULL, NULL, NULL);
+        return (def);
+    }
     while ((*cur >= '0') && (*cur <= '9')) {
         ret = ret * 10 + (*cur - '0');
         cur++;
     }
     while (IS_BLANK_CH(*cur))
         cur++;
-    if (*cur != 0) {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_INVALID_MINOCCURS,
-                      "invalid value for minOccurs: %s\n", val, NULL);
-        return (1);
+    /*
+    * TODO: Restrict the maximal value to Integer.
+    */
+    if ((*cur != 0) || (ret < min) || ((max != -1) && (ret > max))) {
+	xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+	    /* XML_SCHEMAP_INVALID_MINOCCURS, */
+	    NULL, NULL, (xmlNodePtr) attr, NULL, expected,
+	    val, NULL, NULL, NULL);
+        return (def);
     }
     return (ret);
 }
 
 /**
+ * xmlSchemaPGetBoolNodeValue:
+ * @ctxt:  a schema validation context
+ * @ownerDes:  owner designation
+ * @ownerItem:  the owner as a schema item
+ * @node: the node holding the value
+ *
+ * Converts a boolean string value into 1 or 0.
+ *
+ * Returns 0 or 1.
+ */
+static int
+xmlSchemaPGetBoolNodeValue(xmlSchemaParserCtxtPtr ctxt,			   
+			   xmlChar **ownerDes,
+			   xmlSchemaTypePtr ownerItem,
+			   xmlNodePtr node)
+{
+    xmlChar *value = NULL;
+    int res = 0;
+   
+    value = xmlNodeGetContent(node);
+    /* 
+    * 3.2.2.1 Lexical representation
+    * An instance of a datatype that is defined as ·boolean· 
+    * can have the following legal literals {true, false, 1, 0}.
+    */
+    if (xmlStrEqual(BAD_CAST value, BAD_CAST "true"))
+        res = 1;
+    else if (xmlStrEqual(BAD_CAST value, BAD_CAST "false"))
+        res = 0;
+    else if (xmlStrEqual(BAD_CAST value, BAD_CAST "1"))
+	res = 1;
+    else if (xmlStrEqual(BAD_CAST value, BAD_CAST "0"))
+        res = 0;    
+    else {
+        xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_INVALID_BOOLEAN,
+	    ownerDes, ownerItem, node, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_BOOLEAN), 
+	    "(1 | 0 | true | false)", BAD_CAST value, 
+	    NULL, NULL, NULL);
+    }
+    if (value != NULL)
+	xmlFree(value);
+    return (res);
+}
+
+/**
  * xmlGetBooleanProp:
  * @ctxt:  a schema validation context
  * @node:  a subtree containing XML Schema informations
  * @name:  the attribute name
  * @def:  the default value
  *
- * Get is a bolean property is set
+ * Evaluate if a boolean property is set
  *
  * Returns the default if not found, 0 if found to be false,
- *         1 if found to be true
+ * 1 if found to be true
  */
 static int
-xmlGetBooleanProp(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node,
+xmlGetBooleanProp(xmlSchemaParserCtxtPtr ctxt, 
+		  xmlChar **ownerDes,
+		  xmlSchemaTypePtr ownerItem,
+		  xmlNodePtr node,
                   const char *name, int def)
 {
     const xmlChar *val;
@@ -2057,15 +3749,25 @@
     val = xmlSchemaGetProp(ctxt, node, name);
     if (val == NULL)
         return (def);
-
+    /* 
+    * 3.2.2.1 Lexical representation
+    * An instance of a datatype that is defined as ·boolean· 
+    * can have the following legal literals {true, false, 1, 0}.
+    */
     if (xmlStrEqual(val, BAD_CAST "true"))
         def = 1;
     else if (xmlStrEqual(val, BAD_CAST "false"))
         def = 0;
+    else if (xmlStrEqual(val, BAD_CAST "1"))
+	def = 1;
+    else if (xmlStrEqual(val, BAD_CAST "0"))
+        def = 0;    
     else {
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_INVALID_BOOLEAN,
-                      "Attribute %s: the value %s is not boolean\n",
-                      (const xmlChar *) name, val);
+        xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_INVALID_BOOLEAN,
+	    ownerDes, ownerItem, node, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_BOOLEAN), 
+	    "(1 | 0 | true | false)", val, NULL, NULL, NULL);
     }
     return (def);
 }
@@ -2114,12 +3816,14 @@
                            xmlSchemaPtr schema, xmlNodePtr node);
 
 /**
- * xmlSchemaParseSchemaAttrValue:
+ * xmlSchemaPValAttrNodeValue:
  * 
  * @ctxt:  a schema parser context
- * @attr:  the schema attribute being validated
- * @type: the built-in type to be validated against
- * @value: the value to be validated
+ * @ownerDes: the designation of the parent element
+ * @ownerItem: the schema object owner if existent
+ * @attr:  the schema attribute node being validated
+ * @value: the value
+ * @type: the built-in type to be validated against 
  *
  * Validates a value against the given built-in type.
  * This one is intended to be used internally for validation
@@ -2129,85 +3833,202 @@
  * number otherwise and -1 in case of an internal or API error.
  */
 static int
-xmlSchemaParseSchemaAttrValue(xmlSchemaParserCtxtPtr ctxt,
-			  xmlAttrPtr attr,
-			  xmlSchemaTypePtr type)
+xmlSchemaPValAttrNodeValue(xmlSchemaParserCtxtPtr ctxt,
+			   xmlChar **ownerDes,
+			   xmlSchemaTypePtr ownerItem,			   
+			   xmlAttrPtr attr,
+			   const xmlChar *value,
+			   xmlSchemaTypePtr type)
 {
-    const xmlChar *value;
-    int ret;    
     
+    int ret = 0; 
+
+    /*
+    * NOTE: Should we move this to xmlschematypes.c? Hmm, but this
+    * one is really meant to be used internally, so better not.
+    */    
     if ((ctxt == NULL) || (type == NULL) || (attr == NULL))
+	return (-1);   
+    if (type->type != XML_SCHEMA_TYPE_BASIC) {
+	xmlSchemaPErr(ctxt, (xmlNodePtr) attr, 
+	    XML_SCHEMAP_INTERNAL,
+	    "Internal error: xmlSchemaPvalueAttrNode, the given "
+	    "type '%s' is not a built-in type.\n",
+	    type->name, NULL);
 	return (-1);
-    value = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);	
+    }    
     switch (type->builtInType) {
 	case XML_SCHEMAS_NCNAME:
 	    ret = xmlValidateNCName(value, 1);
 	    break;
 	case XML_SCHEMAS_QNAME:
-	    ret = xmlValidateQName(value, 1);
-	    if ((ret == 0) && (attr != NULL)) {
-                xmlChar *local = NULL;
-		xmlChar *prefix;
-		
-		local = xmlSplitQName2(value, &prefix);
-		if (prefix != NULL) {
-		    xmlNsPtr ns;
-		    
-		    ns = xmlSearchNs(attr->doc, (xmlNodePtr) attr, prefix);
-		    if (ns == NULL) {
-			xmlSchemaPErr(ctxt, (xmlNodePtr) attr, 
-			    XML_SCHEMAP_PREFIX_UNDEFINED,
-			    "Attribute \"%s\": the QName prefix "
-			    "\"%s\" is undefined.\n",
-			    attr->name, prefix);
-			ret = 1;
-		    }
-		}
-		if (local != NULL)
-		    xmlFree(local);
-		if (prefix != NULL)
-		    xmlFree(prefix);
+	    xmlSchemaPErr(ctxt, (xmlNodePtr) attr, 
+		XML_SCHEMAP_INTERNAL,
+		"Internal error: xmlSchemaPvalueAttrNode, use "
+		"the function xmlSchemaExtractSchemaQNamePropvalueidated "
+		"for extracting QName valueues instead.\n",
+		NULL, NULL);
+	    return (-1);
+	case XML_SCHEMAS_ANYURI:
+	    if (value != NULL) {
+		xmlURIPtr uri = xmlParseURI((const char *) value);
+		if (uri == NULL)
+		    ret = 1;
+		else
+		    xmlFreeURI(uri);
 	    }
 	    break;
+	case XML_SCHEMAS_TOKEN: {
+	    const xmlChar *cur = value;
+
+		if (IS_BLANK_CH(*cur)) {
+                    ret = 1;		       
+		} else while (*cur != 0) {
+                    if ((*cur == 0xd) || (*cur == 0xa) || (*cur == 0x9)) {
+                        ret = 1;
+			break;
+                    } else if (*cur == ' ') {
+                        cur++;
+                        if ((*cur == 0) || (*cur == ' ')) {
+			    ret = 1;
+			    break;
+			}
+                    } else {
+                        cur++;
+                    }
+                }
+	    }
+	    break;
+	case XML_SCHEMAS_LANGUAGE:
+	    if (xmlCheckLanguageID(value) != 1) 
+		ret = 1;
+	    break;
 	default: {
 	    xmlSchemaPErr(ctxt, (xmlNodePtr) attr, 
-		    XML_SCHEMAS_ERR_INTERNAL,
-		    "Internal error: xmlSchemaParseSchemaAttrValue, validation "
-		    "using this type in not implemented yet\"%s\".\n",
+		    XML_SCHEMAP_INTERNAL,
+		    "Internal error: xmlSchemaPvalueAttrNode, "
+		    "valueidation using the type '%s' is not implemented "
+		    "yet.\n",
 		    type->name, NULL);
 	    return (-1);
 	}
-    }                       
-    if (ret > 0) { 
-	if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
-	    xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr,		
-		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2,
-		NULL, NULL, NULL,
-		"The schema attribute \"%s\" with the value \"%s\" is not "
-		"of built-in list simple type \"%s\".\n",
-		attr->name, value, type->name, NULL, NULL);
-	} else {
-	    if (type->flags & XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE) {
-		xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr, 
-		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
-		    NULL, NULL, NULL,
-		    "The schema attribute \"%s\" with the value \"%s\" is not "
-		    "of built-in primitive type \"%s\".\n",
-		    attr->name, value, type->name, NULL, NULL);
-	    } else {
-		xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr, 
-		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
-		    NULL, NULL, NULL,
-		    "The schema attribute \"%s\" with the value \"%s\" is not "
-		    "of built-in atomic simple type \"%s\".\n",
-		    attr->name, value, type->name, NULL, NULL);
-	    }
-	}
+    }              
+    /*
+    * TODO: Should we use the S4S error codes instead?
+    */
+    if (ret > 0) { 	
+	if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {	   
+	    xmlSchemaPSimpleTypeErr(ctxt, 
+		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, 
+		ownerDes, ownerItem, (xmlNodePtr) attr, 
+		type, NULL, value, 
+		NULL, NULL, NULL);
+	    return(XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2);
+	} else {	    
+	    xmlSchemaPSimpleTypeErr(ctxt, 
+		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, 
+		ownerDes, ownerItem, (xmlNodePtr) attr, 
+		type, NULL, value, 
+		NULL, NULL, NULL);
+	    return(XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1);
+	}	
     }    
     return (ret);
 }
 
 /**
+ * xmlSchemaPValAttrNode:
+ * 
+ * @ctxt:  a schema parser context
+ * @ownerDes: the designation of the parent element
+ * @ownerItem: the schema object owner if existent
+ * @attr:  the schema attribute node being validated
+ * @type: the built-in type to be validated against
+ * @value: the resulting value if any
+ *
+ * Extracts and validates a value against the given built-in type.
+ * This one is intended to be used internally for validation
+ * of schema attribute values during parsing of the schema.
+ *
+ * Returns 0 if the value is valid, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaPValAttrNode(xmlSchemaParserCtxtPtr ctxt,
+			   xmlChar **ownerDes,
+			   xmlSchemaTypePtr ownerItem,			   
+			   xmlAttrPtr attr,			   
+			   xmlSchemaTypePtr type,
+			   const xmlChar **value)
+{    
+    const xmlChar *val;
+
+    if ((ctxt == NULL) || (type == NULL) || (attr == NULL))
+	return (-1);   
+       
+    val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+    if (value != NULL)
+	*value = val;
+
+    return (xmlSchemaPValAttrNodeValue(ctxt, ownerDes, ownerItem, attr,
+	val, type));    
+}
+
+/**
+ * xmlSchemaPValAttr:
+ * 
+ * @ctxt:  a schema parser context
+ * @node: the element node of the attribute
+ * @ownerDes: the designation of the parent element
+ * @ownerItem: the schema object owner if existent
+ * @ownerElem: the owner element node
+ * @name:  the name of the schema attribute node
+ * @type: the built-in type to be validated against
+ * @value: the resulting value if any
+ *
+ * Extracts and validates a value against the given built-in type.
+ * This one is intended to be used internally for validation
+ * of schema attribute values during parsing of the schema.
+ *
+ * Returns 0 if the value is valid, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaPValAttr(xmlSchemaParserCtxtPtr ctxt,		       
+		       xmlChar **ownerDes,
+		       xmlSchemaTypePtr ownerItem,
+		       xmlNodePtr ownerElem,
+		       const char *name,
+		       xmlSchemaTypePtr type,
+		       const xmlChar **value)
+{
+    xmlAttrPtr attr;
+
+    if ((ctxt == NULL) || (type == NULL)) {
+	if (value != NULL)
+	    *value = NULL;
+	return (-1);   
+    }
+    if (type->type != XML_SCHEMA_TYPE_BASIC) {
+	if (value != NULL)
+	    *value = NULL;
+	xmlSchemaPErr(ctxt, ownerElem, 
+	    XML_SCHEMAP_INTERNAL,
+	    "Internal error: xmlSchemaPValAttr, the given "
+	    "type '%s' is not a built-in type.\n",
+	    type->name, NULL);
+	return (-1);
+    }
+    attr = xmlSchemaGetPropNode(ownerElem, name);
+    if (attr == NULL) {
+	if (value != NULL)
+	    *value = NULL;
+	return (0);
+    }    
+    return (xmlSchemaPValAttrNode(ctxt, ownerDes, ownerItem, attr, 
+	type, value));
+}
+/**
  * xmlSchemaParseAttrDecls:
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
@@ -2247,19 +4068,7 @@
             }
         }
         child = child->next;
-    }
-    if (IS_SCHEMA(child, "anyAttribute")) {
-	xmlSchemaWildcardPtr wildcard;
-
-        wildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
-        if (wildcard != NULL) {
-	    if (type->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP)
-		((xmlSchemaAttributeGroupPtr) type)->attributeWildcard = wildcard;
-	    else
-		type->attributeWildcard = wildcard;
-        }
-        child = child->next;
-    }
+    }    
     return (child);
 }
 
@@ -2280,11 +4089,109 @@
                          xmlNodePtr node)
 {
     xmlSchemaAnnotPtr ret;
+    xmlNodePtr child = NULL;
+    xmlAttrPtr attr;
+    int barked = 0;
 
+    /*
+    * INFO: S4S completed.
+    */
+    /*
+    * id = ID
+    * {any attributes with non-schema namespace . . .}>
+    * Content: (appinfo | documentation)*
+    */
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
     ret = xmlSchemaNewAnnot(ctxt, node);
+    attr = node->properties;
+    while (attr != NULL) {
+	if (((attr->ns == NULL) && 
+	    (!xmlStrEqual(attr->name, BAD_CAST "id"))) ||
+	    ((attr->ns != NULL) && 
+	    xmlStrEqual(attr->ns->href, xmlSchemaNs))) {
+	    
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		NULL, NULL, attr);
+	}
+	attr = attr->next;
+    }
+    /* TODO: Check id. */    
+    
+    /*
+    * And now for the children...
+    */
+    child = node->children;
+    while (child != NULL) {
+	if (IS_SCHEMA(child, "appinfo")) {
+	    /* TODO: make available the content of "appinfo". */
+	    /* 
+	    * source = anyURI
+	    * {any attributes with non-schema namespace . . .}>
+	    * Content: ({any})*
+	    */
+	    attr = child->properties;
+	    while (attr != NULL) {
+		if (((attr->ns == NULL) && 
+		     (!xmlStrEqual(attr->name, BAD_CAST "source"))) ||
+		     ((attr->ns != NULL) && 
+		      xmlStrEqual(attr->ns->href, xmlSchemaNs))) {
 
+		    xmlSchemaPIllegalAttrErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+			NULL, NULL, attr);
+		}
+		attr = attr->next;
+	    }
+	    xmlSchemaPValAttr(ctxt, NULL, NULL, child, "source", 
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), NULL);	    
+	    child = child->next;
+	} else if (IS_SCHEMA(child, "documentation")) {
+	    /* TODO: make available the content of "documentation". */
+	    /*
+	    * source = anyURI
+	    * {any attributes with non-schema namespace . . .}>
+	    * Content: ({any})*
+	    */
+	    attr = child->properties;
+	    while (attr != NULL) {
+		if (attr->ns == NULL) {
+		    if (!xmlStrEqual(attr->name, BAD_CAST "source")) {
+			xmlSchemaPIllegalAttrErr(ctxt, 
+			    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+			    NULL, NULL, attr);
+		    }
+		} else {
+		    if (xmlStrEqual(attr->ns->href, xmlSchemaNs) ||
+			(xmlStrEqual(attr->name, BAD_CAST "lang") &&
+			(!xmlStrEqual(attr->ns->href, XML_XML_NAMESPACE)))) {
+			
+			xmlSchemaPIllegalAttrErr(ctxt, 
+			    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+			    NULL, NULL, attr);
+		    }
+		}
+		attr = attr->next;
+	    }
+	    /*
+	    * Attribute "xml:lang".
+	    */
+	    attr = xmlSchemaGetPropNodeNs(child, (const char *) XML_XML_NAMESPACE, "lang");
+	    if (attr != NULL)
+		xmlSchemaPValAttrNode(ctxt, NULL, NULL, attr,
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_LANGUAGE), NULL);	    
+	    child = child->next;
+	} else {
+	    if (!barked)
+		xmlSchemaPContentErr(ctxt, 
+		    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, 
+		    NULL, NULL, node, child, NULL, "(appinfo | documentation)*");
+	    barked = 1;
+	    child = child->next;
+	}
+    }
+    
     return (ret);
 }
 
@@ -2364,8 +4271,7 @@
 	    if (xmlStrEqual(fixed, BAD_CAST "true"))
 		facet->fixed = 1;
 	}
-    }
-    
+    }    
     child = node->children;
 
     if (IS_SCHEMA(child, "annotation")) {
@@ -2381,6 +4287,169 @@
 }
 
 /**
+ * xmlSchemaParseWildcardNs:
+ * @ctxt:  a schema parser context
+ * @wildc:  the wildcard, already created
+ * @node:  a subtree containing XML Schema informations
+ *
+ * Parses the attribute "processContents" and "namespace"
+ * of a xsd:anyAttribute and xsd:any.
+ * *WARNING* this interface is highly subject to change
+ *
+ * Returns 0 if everything goes fine, a positive error code
+ * if something is not valid and -1 if an internal error occurs.
+ */
+static int
+xmlSchemaParseWildcardNs(xmlSchemaParserCtxtPtr ctxt,
+			 xmlSchemaPtr schema,
+			 xmlSchemaWildcardPtr wildc,
+			 xmlNodePtr node)
+{
+    const xmlChar *pc, *ns, *dictnsItem;
+    int ret = 0;
+    xmlChar *nsItem;
+    xmlSchemaWildcardNsPtr tmp, lastNs = NULL;
+    xmlAttrPtr attr;
+    
+    pc = xmlSchemaGetProp(ctxt, node, "processContents");
+    if ((pc == NULL)
+        || (xmlStrEqual(pc, (const xmlChar *) "strict"))) {
+        wildc->processContents = XML_SCHEMAS_ANY_STRICT;
+    } else if (xmlStrEqual(pc, (const xmlChar *) "skip")) {
+        wildc->processContents = XML_SCHEMAS_ANY_SKIP;
+    } else if (xmlStrEqual(pc, (const xmlChar *) "lax")) {
+        wildc->processContents = XML_SCHEMAS_ANY_LAX;
+    } else {
+        xmlSchemaPSimpleTypeErr(ctxt, 
+	    XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD,
+	    NULL, NULL, node,
+	    NULL, "(strict | skip | lax)", pc, 
+	    NULL, NULL, NULL);
+        wildc->processContents = XML_SCHEMAS_ANY_STRICT;
+	ret = XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD;
+    }
+    /*
+     * Build the namespace constraints.
+     */
+    attr = xmlSchemaGetPropNode(node, "namespace");
+    ns = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+    if ((ns == NULL) || (xmlStrEqual(ns, BAD_CAST "##any")))
+	wildc->any = 1;
+    else if (xmlStrEqual(ns, BAD_CAST "##other")) {
+	wildc->negNsSet = xmlSchemaNewWildcardNsConstraint(ctxt);
+	if (wildc->negNsSet == NULL) {	    	    
+	    return (-1);
+	}
+	wildc->negNsSet->value = schema->targetNamespace; 
+    } else {    
+	const xmlChar *end, *cur;
+
+	cur = ns;
+	do {
+	    while (IS_BLANK_CH(*cur))
+		cur++;
+	    end = cur;
+	    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+		end++;
+	    if (end == cur)
+		break;
+	    nsItem = xmlStrndup(cur, end - cur);    	    
+	    if ((xmlStrEqual(nsItem, BAD_CAST "##other")) ||
+		    (xmlStrEqual(nsItem, BAD_CAST "##any"))) {
+		xmlSchemaPSimpleTypeErr(ctxt, 
+		    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER,
+		    NULL, NULL, (xmlNodePtr) attr,
+		    NULL, 
+		    "((##any | ##other) | List of (anyURI | "
+		    "(##targetNamespace | ##local)))", 
+		    nsItem, NULL, NULL, NULL);
+		ret = XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER;
+	    } else {
+		if (xmlStrEqual(nsItem, BAD_CAST "##targetNamespace")) {
+		    dictnsItem = schema->targetNamespace;
+		} else if (xmlStrEqual(nsItem, BAD_CAST "##local")) {
+		    dictnsItem = NULL;
+		} else {
+		    /*
+		    * Validate the item (anyURI).
+		    */
+		    xmlSchemaPValAttrNodeValue(ctxt, NULL, NULL, attr, 
+			nsItem, xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI));
+		    dictnsItem = xmlDictLookup(ctxt->dict, nsItem, -1);
+		}
+		/*
+		* Avoid dublicate namespaces.
+		*/
+		tmp = wildc->nsSet;
+		while (tmp != NULL) {
+		    if (dictnsItem == tmp->value)
+			break;
+		    tmp = tmp->next;
+		}
+		if (tmp == NULL) {
+		    tmp = xmlSchemaNewWildcardNsConstraint(ctxt);
+		    if (tmp == NULL) {
+			xmlFree(nsItem);			
+			return (-1);
+		    }
+		    tmp->value = dictnsItem;
+		    tmp->next = NULL;
+		    if (wildc->nsSet == NULL) 
+			wildc->nsSet = tmp;
+		    else
+			lastNs->next = tmp;
+		    lastNs = tmp;
+		}
+
+	    }	
+	    xmlFree(nsItem);
+	    cur = end;
+	} while (*cur != 0);    
+    }
+    return (ret);
+}
+
+static int
+xmlSchemaPCheckParticleCorrect_2(xmlSchemaParserCtxtPtr ctxt, 
+				 xmlSchemaTypePtr item, 
+				 xmlNodePtr node,
+				 int minOccurs,
+				 int maxOccurs) {
+
+    if (maxOccurs != UNBOUNDED) {
+	/*
+	* TODO: Maby we should better not create the particle, 
+	* if min/max is invalid, since it could confuse the build of the 
+	* content model.
+	*/
+	/* 
+	* 3.9.6 Schema Component Constraint: Particle Correct
+	*
+	*/
+	if (maxOccurs < 1) { 
+	    /* 
+	    * 2.2 {max occurs} must be greater than or equal to 1.
+	    */
+	    xmlSchemaPCustomAttrErr(ctxt,
+		XML_SCHEMAP_P_PROPS_CORRECT_2_2,
+		NULL, item, xmlSchemaGetPropNode(node, "maxOccurs"),
+		"The value must be greater than or equal to 1");
+	    return (XML_SCHEMAP_P_PROPS_CORRECT_2_2);
+	} else if (minOccurs > maxOccurs) {
+	    /*
+	    * 2.1 {min occurs} must not be greater than {max occurs}.
+	    */
+	    xmlSchemaPCustomAttrErr(ctxt,
+		XML_SCHEMAP_P_PROPS_CORRECT_2_1, 
+		NULL, item, xmlSchemaGetPropNode(node, "minOccurs"),
+		"The value must not be greater than the value of 'maxOccurs'");
+	    return (XML_SCHEMAP_P_PROPS_CORRECT_2_1);
+	}
+    }	
+    return (0);
+}
+
+/**
  * xmlSchemaParseAny:
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
@@ -2398,19 +4467,40 @@
     xmlSchemaTypePtr type;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlSchemaWildcardPtr wildc;
+    int minOccurs, maxOccurs;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
+    maxOccurs = xmlGetMaxOccurs(ctxt, node, 0, UNBOUNDED, 1, 
+	"(nonNegativeInteger | unbounded)");
+    minOccurs = xmlGetMinOccurs(ctxt, node, 0, -1, 1, 
+	"nonNegativeInteger");
+    if ((minOccurs == 0) && (maxOccurs == 0))
+	return (NULL);
+
     snprintf((char *) name, 30, "any %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_ANY;
-    child = node->children;
-    type->minOccurs = xmlGetMinOccurs(ctxt, node);
-    type->maxOccurs = xmlGetMaxOccurs(ctxt, node);
-
+    type->type = XML_SCHEMA_TYPE_ANY;    
+    
+    wildc = xmlSchemaAddWildcard(ctxt);
+    /*
+    * Check min/max sanity.
+    */
+    type->maxOccurs = maxOccurs;
+    type->minOccurs = minOccurs;
+    xmlSchemaPCheckParticleCorrect_2(ctxt, type, 
+	    node, type->minOccurs, type->maxOccurs);    
+    /*
+    * This is not nice, since it is won't be used as a attribute wildcard,
+    * but better than adding a field to the structure.
+    */
+    type->attributeWildcard = wildc;
+    xmlSchemaParseWildcardNs(ctxt, schema, wildc, node);    
+    child = node->children;    
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
@@ -2478,17 +4568,15 @@
  * parse a XML schema AnyAttrribute declaration
  * *WARNING* this interface is highly subject to change
  *
- * Returns an attribute def structure or NULL
+ * Returns a wildcard or NULL.
  */
 static xmlSchemaWildcardPtr
 xmlSchemaParseAnyAttribute(xmlSchemaParserCtxtPtr ctxt,
                            xmlSchemaPtr schema, xmlNodePtr node)
 {
-    const xmlChar *processContents, *nsConstraint, *end, *cur, *dictMember;
-    xmlChar *member;
     xmlSchemaWildcardPtr ret;
-    xmlSchemaWildcardNsPtr tmp, lastNs = NULL;
     xmlNodePtr child = NULL;
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
@@ -2498,104 +4586,47 @@
         return (NULL);
     }
     ret->type = XML_SCHEMA_TYPE_ANY_ATTRIBUTE;
-    ret->id = xmlSchemaGetProp(ctxt, node, "id");
-    processContents = xmlSchemaGetProp(ctxt, node, "processContents");
-    if ((processContents == NULL)
-        || (xmlStrEqual(processContents, (const xmlChar *) "strict"))) {
-        ret->processContents = XML_SCHEMAS_ANY_STRICT;
-    } else if (xmlStrEqual(processContents, (const xmlChar *) "skip")) {
-        ret->processContents = XML_SCHEMAS_ANY_SKIP;
-    } else if (xmlStrEqual(processContents, (const xmlChar *) "lax")) {
-        ret->processContents = XML_SCHEMAS_ANY_LAX;
-    } else {
-        xmlSchemaPErr(ctxt, node, 
-                       XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD,
-                       "anyAttribute has unexpected content "
-		       "for processContents: %s\n",
-                       processContents, NULL);
-        ret->processContents = XML_SCHEMAS_ANY_STRICT;
-    }
     /*
-     * Build the namespace constraints.
-     */
-    nsConstraint = xmlSchemaGetProp(ctxt, node, "namespace");
-    if ((nsConstraint == NULL) || (xmlStrEqual(nsConstraint, BAD_CAST "##any")))
-	ret->any = 1;
-    else if (xmlStrEqual(nsConstraint, BAD_CAST "##other")) {
-	ret->negNsSet = xmlSchemaNewWildcardNsConstraint(ctxt);
-	if (ret->negNsSet == NULL) {	    
-	    xmlSchemaFreeWildcard(ret);
-	    return (NULL);
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+	        (!xmlStrEqual(attr->name, BAD_CAST "namespace")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "processContents"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, NULL, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, NULL, attr);	
 	}
-	ret->negNsSet->value = schema->targetNamespace; 
-    } else {    
-	cur = nsConstraint;
-	do {
-	    while (IS_BLANK_CH(*cur))
-		cur++;
-	    end = cur;
-	    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
-		end++;
-	    if (end == cur)
-		break;
-	    member = xmlStrndup(cur, end - cur);    	    
-	    if ((xmlStrEqual(member, BAD_CAST "##other")) ||
-		    (xmlStrEqual(member, BAD_CAST "##any"))) {
-		xmlSchemaPErr(ctxt, ret->node, XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER,
-		    "The namespace constraint of an anyAttribute "
-		    "is a set and must not contain \"%s\"\n",
-		    member, NULL);			    		    
-	    } else {		
-		/*
-		* TODO: Validate the value (anyURI).
-		*/		
-		if (xmlStrEqual(member, BAD_CAST "##targetNamespace")) {
-		    dictMember = schema->targetNamespace;
-		} else if (xmlStrEqual(member, BAD_CAST "##local")) {
-		    dictMember = NULL;
-		} else
-		    dictMember = xmlDictLookup(ctxt->dict, member, -1);
-		/*
-		* Avoid dublicate namespaces.
-		*/
-		tmp = ret->nsSet;
-		while (tmp != NULL) {
-		    if (dictMember == tmp->value)
-			break;
-		    tmp = tmp->next;
-		}
-		if (tmp == NULL) {
-		    tmp = xmlSchemaNewWildcardNsConstraint(ctxt);
-		    if (tmp == NULL) {
-			xmlFree(member);
-			xmlSchemaFreeWildcard(ret);
-			return (NULL);
-		    }
-		    tmp->value = dictMember;
-		    tmp->next = NULL;
-		    if (ret->nsSet == NULL) 
-			ret->nsSet = tmp;
-		    else
-			lastNs->next = tmp;
-		    lastNs = tmp;
-		}
-
-	    }	
-	    xmlFree(member);
-	    cur = end;
-	} while (*cur != 0);    
+	attr = attr->next;
     }
-
+    /* ret->id = xmlSchemaGetProp(ctxt, node, "id"); */
+    /*
+    * Parse the namespace list.
+    */
+    if (xmlSchemaParseWildcardNs(ctxt, schema, ret, node) != 0) {
+	xmlSchemaFreeWildcard(ret);
+	return (NULL);
+    }  
+    /*
+    * And now for the children...
+    */
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD,
-                       "anyAttribute has unexpected content\n",
-                       NULL, NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+	    NULL, NULL, node, child, 
+	    NULL, "(annotation?)");
     }
 
     return (ret);
@@ -2617,198 +4648,316 @@
 xmlSchemaParseAttribute(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                         xmlNodePtr node, int topLevel)
 {
-    const xmlChar *name, *refNs = NULL, *ref = NULL, *attrVal;
+    const xmlChar *name, *attrValue;
+    xmlChar *repName = NULL; /* The reported designation. */
     xmlSchemaAttributePtr ret;
-    xmlNodePtr child = NULL;
-    char buf[100];
-    int hasRefType = 0;
+    xmlNodePtr child = NULL;    
+    xmlAttrPtr attr, nameAttr;
+    int isRef = 0;
 
     /*
      * Note that the w3c spec assumes the schema to be validated with schema
      * for schemas beforehand.
      *
      * 3.2.3 Constraints on XML Representations of Attribute Declarations
-     *
-     * TODO: Complete implementation of: 
-     * 3.2.6 Schema Component Constraint: Attribute Declaration Properties
-     *       Correct 
      */
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
+    attr = xmlSchemaGetPropNode(node, "ref");
+    nameAttr = xmlSchemaGetPropNode(node, "name");
+
+    if ((attr == NULL) && (nameAttr == NULL)) {
+	/* 
+	* 3.2.3 : 3.1
+	* One of ref or name must be present, but not both 
+	*/
+	xmlSchemaPMissingAttrErr(ctxt, XML_SCHEMAP_SRC_ATTRIBUTE_3_1, 
+	    (xmlChar **) &xmlSchemaElemDesAttrDecl, NULL, node, NULL, 
+	    "One of the attributes 'ref' or 'name' must be present");
+	return (NULL);
+    }
+    if ((topLevel) || (attr == NULL)) {
+	if (nameAttr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt, XML_SCHEMAP_S4S_ATTR_MISSING, 
+		(xmlChar **) &xmlSchemaElemDesAttrDecl, NULL, node, 
+		"name", NULL);
+	    return (NULL);
+	}	
+    } else
+	isRef = 1;	
     
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
-        ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
-	/* 3.2.3 : 3.1
-	 * One of ref or name must be present, but not both 
-	 */
-        if (ref == NULL) {	    
-            xmlSchemaPErr(ctxt, node, 
-			  XML_SCHEMAP_ATTR_NONAME_NOREF,
-			  "Attribute declaration has no \"name\" or \"ref\"\n",
-			  NULL, NULL);
+    if (isRef) {
+	char buf[50]; 
+	const xmlChar *refNs = NULL, *ref = NULL, *refPrefix = NULL; 
+
+	/*
+	* Parse as attribute reference.
+	*/		
+	if (xmlSchemaPValAttrNodeQName(ctxt, schema, 
+	    (xmlChar **) &xmlSchemaElemDesAttrRef, NULL, attr, &refNs, 
+	    &refPrefix, &ref) != 0) {
 	    return (NULL);
-        }
-	hasRefType = 1;
-        snprintf(buf, 99, "anonattr %d", ctxt->counter++ + 1);
-        name = (const xmlChar *) buf;
-	ret = xmlSchemaAddAttribute(ctxt, schema, name, NULL);
-	if (!topLevel) {
-	    /* 3.2.3 : 3.2
-	     * If ref is present, then all of <simpleType>,
-	     * form and type must be absent. 
-	     */
-	    if (xmlSchemaGetProp(ctxt, node, "form") != NULL) {		
-		xmlSchemaPErr(ctxt, node, 
-		              XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-			      "Attribute declaration %s has \"ref\", thus "
-			      "\"form\" must be absent\n", name, NULL);
+	}	
+        snprintf(buf, 49, "#aRef %d", ctxt->counter++ + 1);
+        name = (const xmlChar *) buf;	
+	ret = xmlSchemaAddAttribute(ctxt, schema, name, NULL, node);
+	if (ret == NULL) {
+	    if (repName != NULL)
+		xmlFree(repName);
+	    return (NULL);
+	}
+	ret->type = XML_SCHEMA_TYPE_ATTRIBUTE;
+	ret->node = node;
+	ret->refNs = refNs;
+	ret->refPrefix = refPrefix;
+	ret->ref = ref;		
+	/*
+	xmlSchemaFormatTypeRep(&repName, (xmlSchemaTypePtr) ret, NULL, NULL);
+	*/
+	if (nameAttr != NULL)
+	    xmlSchemaPMutualExclAttrErr(ctxt, XML_SCHEMAP_SRC_ATTRIBUTE_3_1, 
+		&repName, (xmlSchemaTypePtr) ret, nameAttr, 
+		"ref", "name");
+	/*
+	* Check for illegal attributes.
+	*/
+	attr = node->properties;
+	while (attr != NULL) {
+	    if (attr->ns == NULL) {
+		if (xmlStrEqual(attr->name, BAD_CAST "type") ||
+		    xmlStrEqual(attr->name, BAD_CAST "form")) {
+		    /* 
+		    * 3.2.3 : 3.2
+		    * If ref is present, then all of <simpleType>,
+		    * form and type must be absent. 
+		    */
+		    xmlSchemaPIllegalAttrErr(ctxt, 
+			XML_SCHEMAP_SRC_ATTRIBUTE_3_2, &repName, 
+			(xmlSchemaTypePtr) ret, attr);
+		} else if ((!xmlStrEqual(attr->name, BAD_CAST "ref")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "use")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "name")) && 
+		    (!xmlStrEqual(attr->name, BAD_CAST "fixed")) && 
+		    (!xmlStrEqual(attr->name, BAD_CAST "default"))) {
+		    xmlSchemaPIllegalAttrErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+			&repName, (xmlSchemaTypePtr) ret, attr);		    
+		}
+	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    &repName, (xmlSchemaTypePtr) ret, attr);		
 	    }
-	    if (xmlSchemaGetProp(ctxt, node, "type") != NULL) {
-		xmlSchemaPErr(ctxt, node, 
-		              XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-			      "Attribute declaration %s has \"ref\", thus "
-			      "\"type\" must be absent\n", name, NULL);
-	    }
-	}
+	    attr = attr->next;
+	}	
     } else {
         const xmlChar *ns = NULL;
-	/* 3.2.3 : 3.1
-	 * One of ref or name must be present, but not both 
-	 */
-	if ((!topLevel) && (xmlSchemaGetProp(ctxt, node, "ref") != NULL)) {	    
-	    xmlSchemaPErr(ctxt, node, 
-                          XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-                          "Attribute declaration \"%s\" has both, \"name\" and "
-			  "\"ref\"\n", name, NULL);
+	
+	/*
+	* Parse as attribute declaration.
+	*/			
+	if (xmlSchemaPValAttrNode(ctxt, 
+	    (xmlChar **) &xmlSchemaElemDesAttrDecl, NULL, nameAttr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &name) != 0) {
+	    return (NULL);
 	}
-
-        /* local = xmlSchemaGetNamespace(ctxt, schema, node, name, &ns); */
-	/* Evaluate the target namespace */
-	if (schema->targetNamespace != NULL) {
-	    if (topLevel) {
-		ns = schema->targetNamespace;
-	    } else if (xmlSchemaGetProp(ctxt, node, "form") != NULL) {
-		if (xmlStrEqual( xmlSchemaGetProp(ctxt, node, "form"),
-				 BAD_CAST "qualified")) {
+	/*
+	xmlSchemaFormatTypeRep(&repName, NULL, xmlSchemaElemDesAttrDecl, name);
+	*/
+	/* 
+	* 3.2.6 Schema Component Constraint: xmlns Not Allowed 
+	*/
+	if (xmlStrEqual(name, BAD_CAST "xmlns")) {
+	    xmlSchemaPSimpleTypeErr(ctxt, 
+		XML_SCHEMAP_NO_XMLNS, 
+		&repName, NULL, (xmlNodePtr) nameAttr, 
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), "NCName", NULL,
+		"The value must not match 'xmlns'", 
+		NULL, NULL);	    
+	    if (repName != NULL)
+		xmlFree(repName);
+	    return (NULL);
+	}	    
+	/* 
+	* Evaluate the target namespace 
+	*/	
+	if (topLevel) {
+	    ns = schema->targetNamespace;
+	} else {
+	    attr = xmlSchemaGetPropNode(node, "form");
+	    if (attr != NULL) {
+		attrValue = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+		if (xmlStrEqual(attrValue, BAD_CAST "qualified")) {
 		    ns = schema->targetNamespace;
+		} else if (!xmlStrEqual(attrValue, BAD_CAST "unqualified")) {
+		    xmlSchemaPSimpleTypeErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, 
+			&repName, NULL, (xmlNodePtr) attr, 
+			NULL, "(qualified | unqualified)", 
+			attrValue, NULL, NULL, NULL);			
 		}
-	    } else if (schema->flags & XML_SCHEMAS_QUALIF_ATTR) {
+	    } else if (schema->flags & XML_SCHEMAS_QUALIF_ATTR)
 		ns = schema->targetNamespace;		
-	    }
+	}				
+	ret = xmlSchemaAddAttribute(ctxt, schema, name, ns, node);
+	if (ret == NULL) {
+	    if (repName != NULL)
+		xmlFree(repName);
+	    return (NULL);
 	}
-	ret = xmlSchemaAddAttribute(ctxt, schema, name, ns);
-	if (ret == NULL)
-	    return (NULL);
-	/* 3.2.6 Schema Component Constraint: xmlns Not Allowed */
-	if (xmlStrEqual(name, BAD_CAST "xmlns")) {
-	    xmlSchemaPErr(ctxt, node, 
-                      XML_SCHEMAP_INVALID_ATTR_NAME,
-                      "The name of an attribute declaration must not match "
-		      "\"xmlns\".\n", NULL, NULL);
-	}	
-	
-	/* 3.2.6 Schema Component Constraint: xsi: Not Allowed */	
+	ret->type = XML_SCHEMA_TYPE_ATTRIBUTE;
+	ret->node = node;				
+	if (topLevel)
+	    ret->flags |= XML_SCHEMAS_ATTR_GLOBAL;
+	/* 
+	* 3.2.6 Schema Component Constraint: xsi: Not Allowed 
+	*/	
 	if (xmlStrEqual(ret->targetNamespace, xmlSchemaInstanceNs)) {
-	    xmlSchemaPErr(ctxt, node, 
-                          XML_SCHEMAP_INVALID_ATTR_NAME,
-	                  "The target namespace of an attribute declaration, "
-			  "must not match \"http://www.w3.org/2001/"
-			  "XMLSchema-instance\"", NULL, NULL);
-	}	
-    }
-    if (ret == NULL) {
-        return (NULL);
-    }
-    ret->type = XML_SCHEMA_TYPE_ATTRIBUTE;
-    if (topLevel) 
-        ret->flags |= XML_SCHEMAS_ATTR_GLOBAL;
-    
-    /* Handle the "use" attribute. */
-    attrVal = xmlSchemaGetProp(ctxt, node, "use");
-    if (attrVal != NULL) {
-	if (xmlStrEqual(attrVal, BAD_CAST "optional"))
-	    ret->occurs = XML_SCHEMAS_ATTR_USE_OPTIONAL;
-	else if (xmlStrEqual(attrVal, BAD_CAST "prohibited"))
-	    ret->occurs = XML_SCHEMAS_ATTR_USE_PROHIBITED;
-	else if (xmlStrEqual(attrVal, BAD_CAST "required"))
-	    ret->occurs = XML_SCHEMAS_ATTR_USE_REQUIRED;
-	else
-	    xmlSchemaPErr(ctxt, node,
-			  XML_SCHEMAP_INVALID_ATTR_USE,
-			  "Attribute declaration %s has an invalid "
-			  "value for \"use\"\n", name, NULL);
-    } else
-	ret->occurs = XML_SCHEMAS_ATTR_USE_OPTIONAL;
-
-    
-    if (xmlSchemaGetProp(ctxt, node, "default") != NULL) {
-	/* 3.2.3 : 1
-	 * default and fixed must not both be present. 
-	 */
-	if (xmlSchemaGetProp(ctxt, node, "fixed") != NULL) {
-	    xmlSchemaPErr(ctxt, node, 
-                          XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-                          "Attribute declaration has both, \"default\" "
-			  "and \"fixed\"\n", NULL, NULL);
+	    xmlSchemaPCustomErr(ctxt, 
+		XML_SCHEMAP_NO_XSI,
+		&repName, (xmlSchemaTypePtr) ret, node,
+		"The target namespace must not match '%s'", 
+		xmlSchemaInstanceNs);	        
 	}
-	/* 3.2.3 : 2
-	 * If default and use are both present, use must have
-	 * the actual value optional.
-	 */
-	if (ret->occurs != XML_SCHEMAS_ATTR_USE_OPTIONAL) {
-	    xmlSchemaPErr(ctxt, node, 
-                          XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-                          "Attribute declaration has \"default\" but "
-			  "\"use\" is not \"optional\"\n", NULL, NULL);
-	}	
+	/*
+	* Check for illegal attributes. 
+	*/	
+	attr = node->properties;
+	while (attr != NULL) {
+	    if (attr->ns == NULL) {		
+		if ((!xmlStrEqual(attr->name, BAD_CAST "id")) && 
+		    (!xmlStrEqual(attr->name, BAD_CAST "default")) && 				
+		    (!xmlStrEqual(attr->name, BAD_CAST "fixed")) &&		    
+		    (!xmlStrEqual(attr->name, BAD_CAST "name")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "type"))) {
+		    if ((topLevel) ||						    		
+		        ((!xmlStrEqual(attr->name, BAD_CAST "form")) &&
+			 (!xmlStrEqual(attr->name, BAD_CAST "use")))) {
+			xmlSchemaPIllegalAttrErr(ctxt, 
+			    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+			    &repName, (xmlSchemaTypePtr) ret, attr);	
+		    }
+		}
+	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+		xmlSchemaPIllegalAttrErr(ctxt, XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    &repName, (xmlSchemaTypePtr) ret, attr);	
+	    }
+	    attr = attr->next;
+	}
+	xmlSchemaPValAttrQName(ctxt, schema, &repName, (xmlSchemaTypePtr) ret,
+	    node, "type", &ret->typeNs, NULL, &ret->typeName);
     }    
-
-    ret->ref = ref;
-    ret->refNs = refNs;
+    /* TODO: Check ID. */
+    ret->id = xmlSchemaGetProp(ctxt, node, "id");  
+    /*
+    * Attribute "fixed".
+    */
+    ret->defValue = xmlSchemaGetProp(ctxt, node, "fixed");
+    if (ret->defValue != NULL)
+	ret->flags |= XML_SCHEMAS_ATTR_FIXED;
     /* 
-     * The setting of XML_SCHEMAS_ATTR_NSDEFAULT is not needed anymore,
-     * since the target namespace was already evaluated and took
-     * attributeFormDefault into account.
-     */
+    * Attribute "default".
+    */
+    attr = xmlSchemaGetPropNode(node, "default");
+    if (attr != NULL) {
+	/* 
+	* 3.2.3 : 1
+	* default and fixed must not both be present. 
+	*/
+	if (ret->flags & XML_SCHEMAS_ATTR_FIXED) {
+	    xmlSchemaPMutualExclAttrErr(ctxt, XML_SCHEMAP_SRC_ATTRIBUTE_1,
+		&repName, (xmlSchemaTypePtr) ret, attr, "default", "fixed");
+	} else
+	    ret->defValue = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);		
+    }    
+    if (topLevel == 0) {
+	/* 
+	* Attribute "use". 
+	*/
+	attr = xmlSchemaGetPropNode(node, "use");
+	if (attr != NULL) {
+	    attrValue = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+	    if (xmlStrEqual(attrValue, BAD_CAST "optional"))
+		ret->occurs = XML_SCHEMAS_ATTR_USE_OPTIONAL;
+	    else if (xmlStrEqual(attrValue, BAD_CAST "prohibited"))
+		ret->occurs = XML_SCHEMAS_ATTR_USE_PROHIBITED;
+	    else if (xmlStrEqual(attrValue, BAD_CAST "required"))
+		ret->occurs = XML_SCHEMAS_ATTR_USE_REQUIRED;
+	    else
+		xmlSchemaPSimpleTypeErr(ctxt, 
+		    XML_SCHEMAP_INVALID_ATTR_USE, 
+		    &repName, (xmlSchemaTypePtr) ret, (xmlNodePtr) attr, 
+		    NULL, "(optional | prohibited | required)", 
+		    attrValue, NULL, NULL, NULL);				
+	} else
+	    ret->occurs = XML_SCHEMAS_ATTR_USE_OPTIONAL;
+	/* 
+	* 3.2.3 : 2
+	* If default and use are both present, use must have
+	* the actual value optional.
+	*/
+	if ((ret->occurs != XML_SCHEMAS_ATTR_USE_OPTIONAL) && 
+	    (ret->defValue != NULL) && 
+	    ((ret->flags & XML_SCHEMAS_ATTR_FIXED) == 0)) {
+	    xmlSchemaPSimpleTypeErr(ctxt, 
+		XML_SCHEMAP_SRC_ATTRIBUTE_2, 
+		&repName, (xmlSchemaTypePtr) ret, (xmlNodePtr) attr, 
+		NULL, "(optional | prohibited | required)", NULL, 
+		"The value must be 'optional' if the attribute "
+		"'default' is present as well", NULL, NULL);	    
+	}
+    }                          
     /*
-    if ((ret->targetNamespace != NULL) &&
-        ((schema->flags & XML_SCHEMAS_QUALIF_ATTR) == 0) &&
-	(xmlStrEqual(ret->targetNamespace, schema->targetNamespace)))
-	ret->flags |= XML_SCHEMAS_ATTR_NSDEFAULT;
+    * And now for the children...
     */
-    ret->typeName = xmlGetQNameProp(ctxt, node, "type", &(ret->typeNs));
-    if (ret->typeName != NULL)
-	hasRefType = 1;
-    ret->node = node;
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
+    }    
+    if (isRef) {
+	if (child != NULL) {	    
+	    if (IS_SCHEMA(child, "simpleType"))
+		/* 
+		* 3.2.3 : 3.2
+		* If ref is present, then all of <simpleType>,
+		* form and type must be absent. 
+		*/
+		xmlSchemaPContentErr(ctxt, XML_SCHEMAP_SRC_ATTRIBUTE_3_2,
+		    &repName, (xmlSchemaTypePtr) ret, node, child, NULL,
+		    "(annotation?)");
+	    else 
+		xmlSchemaPContentErr(ctxt, XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+		    &repName, (xmlSchemaTypePtr) ret, node, child, NULL,
+		    "(annotation?)");  
+	}
+    } else {
+	if (IS_SCHEMA(child, "simpleType")) {
+	    if (ret->typeName != NULL) {
+		/* 
+		* 3.2.3 : 4
+		* type and <simpleType> must not both be present. 
+		*/
+		xmlSchemaPContentErr(ctxt, XML_SCHEMAP_SRC_ATTRIBUTE_4,
+		    &repName,  (xmlSchemaTypePtr) ret, node, child,
+		    "The attribute 'type' and the <simpleType> child "
+		    "are mutually exclusive", NULL);
+	    } else
+		ret->subtypes = xmlSchemaParseSimpleType(ctxt, schema, child, 0);
+	    child = child->next;
+	}
+	if (child != NULL)
+	    xmlSchemaPContentErr(ctxt, XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+		&repName, (xmlSchemaTypePtr) ret, node, child, NULL,
+		"(annotation?, simpleType?)");
     }
-    if (IS_SCHEMA(child, "simpleType")) {
-	if (hasRefType) {
-	    /* 3.2.3 : 4
-	     * type and <simpleType> must not both be present. 
-	     *
-	     * TODO: XML_SCHEMAP_INVALID_ATTR_COMBINATION seems not to be
-	     * a proper error type here. 
-	     */
-	    xmlSchemaPErr2(ctxt, node, child, 
-	                   XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-                           "Attribute declaration %s has both (\"ref\" or "
-			   "\"type\") and <simpleType>\n", name, NULL);
-	} else
-	    ret->subtypes = xmlSchemaParseSimpleType(ctxt, schema, child, 0);
-        child = child->next;
-    }
-    if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_ATTR_CHILD,
-                       "attribute %s has unexpected content\n", name,
-                       NULL);
-    }
-
+    /*
+    * Cleanup.
+    */
+    if (repName != NULL)
+	xmlFree(repName);
     return (ret);
 }
 
@@ -2828,87 +4977,250 @@
                              xmlSchemaPtr schema, xmlNodePtr node,
 			     int topLevel)
 {
-    const xmlChar *name, *refNs = NULL, *ref = NULL;
+    const xmlChar *name;
     xmlSchemaAttributeGroupPtr ret;
     xmlNodePtr child = NULL;
-    const xmlChar *oldcontainer;
-    char buf[100];
+    const xmlChar *oldcontainer;    
+    xmlAttrPtr attr, nameAttr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
-    oldcontainer = ctxt->container;
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
-        ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
-        if (ref == NULL) {
-            xmlSchemaPErr2(ctxt, node, child,
-                           XML_SCHEMAP_ATTRGRP_NONAME_NOREF,
-                           "AttributeGroup has no name nor ref\n", NULL,
-                           NULL);
+
+    nameAttr = xmlSchemaGetPropNode(node, "name");
+    attr = xmlSchemaGetPropNode(node, "ref");   
+    if ((topLevel) || (attr == NULL)) {
+	/*
+	* Parse as an attribute group definition.
+	* Note that those are allowed at top level only.
+	*/
+	if (nameAttr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_MISSING,
+		NULL, NULL, node, "name", NULL);	    
+	    return (NULL);
+	}
+	name = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) nameAttr);
+	/*
+	* The name is crucial, exit if invalid. 
+	*/
+	if (xmlSchemaPValAttrNode(ctxt,
+	    NULL, NULL, nameAttr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &name) != 0) {
+	    return (NULL);
+	}
+	ret = xmlSchemaAddAttributeGroup(ctxt, schema, name, node);
+	if (ret == NULL)
+	    return (NULL);
+	ret->type = XML_SCHEMA_TYPE_ATTRIBUTEGROUP;
+	ret->flags |= XML_SCHEMAS_ATTRGROUP_GLOBAL;
+	ret->node = node;
+    } else {    
+	char buf[50];
+	const xmlChar *refNs = NULL, *ref = NULL, *refPrefix;
+
+	/*
+	* Parse as an attribute group definition reference.
+	*/
+	if (attr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_MISSING, 
+		NULL, NULL, node, "ref", NULL);
+	}	
+	xmlSchemaPValAttrNodeQName(ctxt, schema,
+	    NULL, NULL, attr, &refNs, &refPrefix, &ref);
+	 
+        snprintf(buf, 49, "#aGrRef %d", ctxt->counter++ + 1);
+	name = (const xmlChar *) buf;
+	if (name == NULL) {
+	    xmlSchemaPErrMemory(ctxt, "creating internal name for an "
+		"attribute group definition reference", node);
             return (NULL);
         }
-        snprintf(buf, 99, "anonattrgroup %d", ctxt->counter++ + 1);
-        name = (const xmlChar *) buf;
-        if (name == NULL) {
-	    xmlSchemaPErrMemory(ctxt, "creating attribute group", node);
-            return (NULL);
-        }
+	ret = xmlSchemaAddAttributeGroup(ctxt, schema, name, node);
+	if (ret == NULL)
+	    return (NULL);
+	ret->type = XML_SCHEMA_TYPE_ATTRIBUTEGROUP;
+	ret->ref = ref;
+	ret->refNs = refNs;
+	/* TODO: Is @refPrefix currently used? */
+	ret->refPrefix = refPrefix;
+	ret->node = node;
     }
-    ret = xmlSchemaAddAttributeGroup(ctxt, schema, name);
-    if (ret == NULL) {
-        return (NULL);
-    }
-    ret->ref = ref;
-    ret->refNs = refNs;
-    ret->type = XML_SCHEMA_TYPE_ATTRIBUTEGROUP;
-    if (topLevel) 
-        ret->flags |= XML_SCHEMAS_ATTRGROUP_GLOBAL;
-    ret->node = node;
-    child = node->children;
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((((topLevel == 0) && (!xmlStrEqual(attr->name, BAD_CAST "ref"))) ||
+		 (topLevel && (!xmlStrEqual(attr->name, BAD_CAST "name")))) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "id"))) 
+	    {
+		xmlSchemaPIllegalAttrErr(ctxt,
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		    NULL, NULL, attr);
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		NULL, NULL, attr);
+	}
+	attr = attr->next;
+    }	
+    /* TODO: Validate "id" ? */  
+    /*
+    * And now for the children...
+    */
+    oldcontainer = ctxt->container;
     ctxt->container = name;
+    child = node->children;    
     if (IS_SCHEMA(child, "annotation")) {
         ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
-    child = xmlSchemaParseAttrDecls(ctxt, schema, child, (xmlSchemaTypePtr) ret); 
-    /* Seems that this can be removed. */
-    /*
-    while ((IS_SCHEMA(child, "attribute")) ||
-           (IS_SCHEMA(child, "attributeGroup"))) {
-        attr = NULL;
-        if (IS_SCHEMA(child, "attribute")) {
-            attr = xmlSchemaParseAttribute(ctxt, schema, child, 0);
-        } else if (IS_SCHEMA(child, "attributeGroup")) {
-            attr = (xmlSchemaAttributePtr)
-                xmlSchemaParseAttributeGroup(ctxt, schema, child, 0);
-        }
-        if (attr != NULL) {
-            if (last == NULL) {
-                ret->attributes = attr;
-                last = attr;
-            } else {
-                last->next = attr;
-                last = attr;
-            }
-        }
-        child = child->next;
+    if (topLevel) {
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, (xmlSchemaTypePtr) ret); 
+	if (IS_SCHEMA(child, "anyAttribute")) {
+	    ret->attributeWildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
     }
-    if (IS_SCHEMA(child, "anyAttribute")) {
-        TODO
-	child = child->next;
-    }
-    */
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD,
-                       "attribute group %s has unexpected content\n", name,
-                       NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, 
+	    NULL, NULL, node, child, NULL, 
+	    "(annotation?)");
     }
     ctxt->container = oldcontainer;
     return (ret);
 }
 
 /**
+ * xmlSchemaPValAttrFormDefault:
+ * @value:  the value
+ * @flags: the flags to be modified
+ * @flagQualified: the specific flag for "qualified"
+ *
+ * Returns 0 if the value is valid, 1 otherwise.
+ */
+static int
+xmlSchemaPValAttrFormDefault(const xmlChar *value,
+			     int *flags,
+			     int flagQualified)
+{
+    if (xmlStrEqual(value, BAD_CAST "qualified")) {
+	if  ((*flags & flagQualified) == 0)
+	    *flags |= flagQualified;
+    } else if (!xmlStrEqual(value, BAD_CAST "unqualified"))
+	return (1);    
+	
+    return (0);
+}
+
+/**
+ * xmlSchemaPValAttrBlockFinal:
+ * @value:  the value
+ * @flags: the flags to be modified
+ * @flagAll: the specific flag for "#all"
+ * @flagExtension: the specific flag for "extension"
+ * @flagRestriction: the specific flag for "restriction"
+ * @flagSubstitution: the specific flag for "substitution"
+ * @flagList: the specific flag for "list"
+ * @flagUnion: the specific flag for "union"
+ *
+ * Validates the value of the attribute "final" and "block". The value
+ * is converted into the specified flag values and returned in @flags.
+ *
+ * Returns 0 if the value is valid, 1 otherwise.
+ */
+
+static int
+xmlSchemaPValAttrBlockFinal(const xmlChar *value,
+			    int *flags,			
+			    int flagAll,
+			    int flagExtension,
+			    int flagRestriction,
+			    int flagSubstitution,
+			    int flagList,
+			    int flagUnion)			
+{
+    int ret = 0;
+
+    /*
+    * TODO: This does not check for dublicate entries.
+    */
+    if (value == NULL)
+	return (1);
+    if (xmlStrEqual(value, BAD_CAST "#all")) {
+	if (flagAll != -1)
+	    *flags |= flagAll;
+	else {
+	    if (flagExtension != -1) 
+		*flags |= flagExtension; 
+	    if (flagRestriction != -1) 
+		*flags |= flagRestriction;
+	    if (flagSubstitution != -1) 
+		*flags |= flagSubstitution;
+	    if (flagList != -1) 
+		*flags |= flagList;
+	    if (flagUnion != -1) 
+		*flags |= flagUnion;
+	}
+    } else {
+	const xmlChar *end, *cur = value;
+	xmlChar *item;
+	
+	do {
+	    while (IS_BLANK_CH(*cur))
+		cur++;
+	    end = cur;
+	    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+		end++;
+	    if (end == cur)
+		break;
+	    item = xmlStrndup(cur, end - cur);    	    
+	    if (xmlStrEqual(item, BAD_CAST "extension")) {
+		if (flagExtension != -1) {
+		    if ((*flags & flagExtension) == 0)
+			*flags |= flagExtension;
+		} else 
+		    ret = 1;
+	    } else if (xmlStrEqual(item, BAD_CAST "restriction")) {
+		if (flagRestriction != -1) {
+		    if ((*flags & flagRestriction) == 0)
+			*flags |= flagRestriction;
+		} else 
+		    ret = 1;
+	    } else if (xmlStrEqual(item, BAD_CAST "substitution")) {
+		if (flagSubstitution != -1) {
+		    if ((*flags & flagSubstitution) == 0)
+			*flags |= flagSubstitution;
+		} else 
+		    ret = 1;
+	    } else if (xmlStrEqual(item, BAD_CAST "list")) {
+		if (flagList != -1) {
+		    if ((*flags & flagList) == 0)
+			*flags |= flagList;
+		} else 
+		    ret = 1;
+	    } else if (xmlStrEqual(item, BAD_CAST "union")) {
+		if (flagUnion != -1) {
+		    if ((*flags & flagUnion) == 0)
+			*flags |= flagUnion;
+		} else 
+		    ret = 1;
+	    } else 
+		ret = 1;
+	    if (item != NULL)
+		xmlFree(item);
+	    cur = end;
+	} while ((ret == 0) && (*cur != 0)); 
+    }    
+    
+    return (ret);
+}
+
+/**
  * xmlSchemaParseElement:
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
@@ -2923,206 +5235,377 @@
 xmlSchemaParseElement(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                       xmlNodePtr node, int topLevel)
 {
-    const xmlChar *name, *fixed;
-    const xmlChar *refNs = NULL, *ref = NULL;
+    const xmlChar *name = NULL;    
+    const xmlChar *attrValue;
+    xmlChar *repName = NULL;
     xmlSchemaElementPtr ret;
     xmlNodePtr child = NULL;
-    const xmlChar *oldcontainer;
-    char buf[100];
-    xmlAttrPtr attr;
+    const xmlChar *oldcontainer;    
+    xmlAttrPtr attr, nameAttr;
+    int minOccurs, maxOccurs;
+    int isRef = 0;
 
     /* 3.3.3 Constraints on XML Representations of Element Declarations */
     /* TODO: Complete implementation of 3.3.6 */
-
+   
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
+
     oldcontainer = ctxt->container;
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
-        ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
-	/* 3.3.3 : 2.1
-	 * One of ref or name must be present, but not both 
-	 */
-        if (ref == NULL) {
-            xmlSchemaPErr(ctxt, node, 
-                           XML_SCHEMAP_ELEM_NONAME_NOREF,
-                           "Element declaration has no name nor ref\n", NULL, NULL);
-            return (NULL);
-        }	
-        
-        snprintf(buf, 99, "anonelem %d", ctxt->counter++ + 1);
-        name = (const xmlChar *) buf;
-	ret = xmlSchemaAddElement(ctxt, schema, name, NULL);
+     
+    nameAttr = xmlSchemaGetPropNode(node, "name");
+    attr = xmlSchemaGetPropNode(node, "ref");   
+    if ((topLevel) || (attr == NULL)) {
+	if (nameAttr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_MISSING,
+		(xmlChar **) &xmlSchemaElemDesElemDecl, NULL, node,
+		"name", NULL);	    
+	    return (NULL);
+	}
+	name = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) nameAttr);		
     } else {
-	const xmlChar *ns = NULL;
+	isRef = 1;
+	
+    }
+    /* 
+    * ... unless minOccurs=maxOccurs=0, in which case the item corresponds 
+    * to no component at all
+    * TODO: It might be better to validate the element, even if it won't be 
+    * used.
+    */    
+    minOccurs = xmlGetMinOccurs(ctxt, node, 0, -1, 1, "nonNegativeInteger");
+    maxOccurs = xmlGetMaxOccurs(ctxt, node, 0, UNBOUNDED, 1, "(nonNegativeInteger | unbounded)");
+    if ((minOccurs == 0) && (maxOccurs == 0))
+	return (NULL);
+    /*
+    * If we get a "ref" attribute on a local <element> we will assume it's
+    * a reference - even if there's a "name" attribute; this seems to be more 
+    * robust.
+    */
+    if (isRef) {
+	char buf[50];
+	const xmlChar *refNs = NULL, *ref = NULL, *refPrefix;
 
-	/* Evaluate the target namespace */
-	if (schema->targetNamespace != NULL) {
-	    if (topLevel) {
-		ns = schema->targetNamespace;
-	    } else if (xmlSchemaGetProp(ctxt, node, "form") != NULL) {
-		if (xmlStrEqual( xmlSchemaGetProp(ctxt, node, "form"),
-				 BAD_CAST "qualified")) {
+	/*
+	* Parse as a particle.
+	*/
+	xmlSchemaPValAttrNodeQName(ctxt, schema,
+	    (xmlChar **) &xmlSchemaElemDesAttrRef, 
+	    NULL, attr, &refNs, &refPrefix, &ref);			
+	 
+        snprintf(buf, 49, "#eRef %d", ctxt->counter++ + 1);
+	name = (const xmlChar *) buf;
+	ret = xmlSchemaAddElement(ctxt, schema, name, NULL, node, 0);
+	if (ret == NULL) {
+	    if (repName != NULL)
+		xmlFree(repName);
+	    return (NULL);
+	}
+	ret->type = XML_SCHEMA_TYPE_ELEMENT;
+	ret->node = node;     		
+	ret->ref = ref;
+	ret->refNs = refNs;
+	ret->refPrefix = refPrefix;
+	ret->flags |= XML_SCHEMAS_ELEM_REF;
+	/* 
+	* Check for illegal attributes.
+	*/
+	/* 
+	* 3.3.3 : 2.1
+	* One of ref or name must be present, but not both 
+	*/
+	if (nameAttr != NULL) {
+	    xmlSchemaPMutualExclAttrErr(ctxt, 
+		XML_SCHEMAP_SRC_ELEMENT_2_1,
+		&repName, (xmlSchemaTypePtr) ret, nameAttr,
+		"ref", "name");
+	}
+	/* 3.3.3 : 2.2 */   
+	attr = node->properties;
+	while (attr != NULL) {
+	    if (attr->ns == NULL) {
+		if (xmlStrEqual(attr->name, BAD_CAST "ref") ||
+		    xmlStrEqual(attr->name, BAD_CAST "name") ||
+		    xmlStrEqual(attr->name, BAD_CAST "id") ||
+		    xmlStrEqual(attr->name, BAD_CAST "maxOccurs") ||
+		    xmlStrEqual(attr->name, BAD_CAST "minOccurs"))
+		{
+		    attr = attr->next;
+		    continue;
+		} else {
+		    xmlSchemaPCustomAttrErr(ctxt, 
+			XML_SCHEMAP_SRC_ELEMENT_2_2,
+			&repName, (xmlSchemaTypePtr) ret, attr, 
+			"Only the attributes 'minOccurs', 'maxOccurs' and "
+			"'id' are allowed in addition to 'ref'");
+		    break;
+		}
+	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+		xmlSchemaPIllegalAttrErr(ctxt,
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		    &repName, (xmlSchemaTypePtr) ret, attr);
+	    }
+	    attr = attr->next;
+	}	      
+    } else {
+	const xmlChar *ns = NULL, *fixed;
+
+	/*
+	* Parse as an element declaration.
+	*/
+	if (xmlSchemaPValAttrNode(ctxt, 
+	    (xmlChar **) &xmlSchemaElemDesElemDecl, NULL, nameAttr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &name) != 0)
+	    return (NULL);
+	/* 
+	* Evaluate the target namespace.
+	*/
+	if (topLevel) {
+	    ns = schema->targetNamespace;
+	} else {
+	    attr = xmlSchemaGetPropNode(node, "form");
+	    if (attr != NULL) {
+		attrValue = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+		if (xmlStrEqual(attrValue, BAD_CAST "qualified")) {
 		    ns = schema->targetNamespace;
+		} else if (!xmlStrEqual(attrValue, BAD_CAST "unqualified")) {
+		    xmlSchemaPSimpleTypeErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, 
+			&repName, NULL, (xmlNodePtr) attr, 
+			NULL, "(qualified | unqualified)", 
+			attrValue, NULL, NULL, NULL);			
 		}
-	    } else if (schema->flags & XML_SCHEMAS_QUALIF_ATTR) {
-		ns = schema->targetNamespace;
-	    }
+	    } else if (schema->flags & XML_SCHEMAS_QUALIF_ELEM)
+		ns = schema->targetNamespace;		
+	}	
+	ret = xmlSchemaAddElement(ctxt, schema, name, ns, node, topLevel);
+	if (ret == NULL) {
+	    if (repName != NULL)
+		xmlFree(repName);
+	    return (NULL);
 	}
-	/*local = xmlSchemaGetNamespace(ctxt, schema, node, name, &ns); */
-	ret = xmlSchemaAddElement(ctxt, schema, name, ns);
-	/* 3.3.3 : 2.1
-	 * One of ref or name must be present, but not both 
-	 */
-	if ((!topLevel) && (xmlSchemaGetProp(ctxt, node, "ref") != NULL)) {	    
-	    xmlSchemaPErr(ctxt, node, 
-                          XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-                          "Element declaration has both, \"name\" and "
-			  "\"ref\"\n", NULL, NULL);
-	}
-    }
-    if (ret != NULL)
-	ret->node = node;
-    if (ret == NULL) {
-        return (NULL);
-    }
-    ret->type = XML_SCHEMA_TYPE_ELEMENT;
-    ret->ref = ref;
-    ret->refNs = refNs;
-    if (ref != NULL)
-        ret->flags |= XML_SCHEMAS_ELEM_REF;
-
-    /* 3.3.3 : 2.2 */     
-    if ((!topLevel) && (ref != NULL)) {
+	ret->type = XML_SCHEMA_TYPE_ELEMENT;
+	ret->node = node;					
+	/* 
+	* Check for illegal attributes.
+	*/
 	attr = node->properties;
 	while (attr != NULL) {
-	    if ((attr->ns == NULL) &&
-		(!xmlStrEqual(attr->name, BAD_CAST "ref")) && 
-		(!xmlStrEqual(attr->name, BAD_CAST "id")) &&
-		(!xmlStrEqual(attr->name, BAD_CAST "maxOccurs")) && 
-		(!xmlStrEqual(attr->name, BAD_CAST "minOccurs"))) {
+	    if (attr->ns == NULL) {
+		if ((!xmlStrEqual(attr->name, BAD_CAST "name")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "type")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "id")) &&		
+		    (!xmlStrEqual(attr->name, BAD_CAST "default")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "fixed")) &&		
+		    (!xmlStrEqual(attr->name, BAD_CAST "block")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "nillable"))) 
+		{	
+		    if (topLevel == 0) { 						
+			if ((!xmlStrEqual(attr->name, BAD_CAST "maxOccurs")) &&
+			    (!xmlStrEqual(attr->name, BAD_CAST "minOccurs")) &&
+			    (!xmlStrEqual(attr->name, BAD_CAST "form"))) 
+			{
+			    if (xmlStrEqual(attr->name, BAD_CAST "substitutionGroup")) {
+				/*
+				* 3.3.6 : 3 If there is a non-·absent· {substitution 
+				* group affiliation}, then {scope} must be global.
+				* TODO: This one is redundant, since the S4S does 
+				* prohibit this attribute on local declarations already; 
+				* so why an explicit error code? Weird spec.
+				* TODO: Move this to the proper constraint layer.
+				* TODO: Or better wait for spec 1.1 to come.
+				*/
+				xmlSchemaPIllegalAttrErr(ctxt,
+				    XML_SCHEMAP_E_PROPS_CORRECT_3,
+				    &repName, (xmlSchemaTypePtr) ret, attr);
+			    } else {
+				xmlSchemaPIllegalAttrErr(ctxt,
+				    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+				    &repName, (xmlSchemaTypePtr) ret, attr);
+			    }
+			}
+		    } else if ((!xmlStrEqual(attr->name, BAD_CAST "final")) && 
+			(!xmlStrEqual(attr->name, BAD_CAST "abstract")) && 
+			(!xmlStrEqual(attr->name, BAD_CAST "substitutionGroup"))) {
 
-		xmlSchemaPErr(ctxt, node, XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-                       "Element declaration %s: only minOccurs, maxOccurs "
-		       "and id are allowed in addition to ref\n",
-		       ret->name, NULL);
+			xmlSchemaPIllegalAttrErr(ctxt,
+			    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+			    &repName, (xmlSchemaTypePtr) ret, attr);		    
+		    }
+		}
+	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+		
+		xmlSchemaPIllegalAttrErr(ctxt,
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		    &repName, (xmlSchemaTypePtr) ret, attr);
 	    }
 	    attr = attr->next;
+	}		
+	/*
+	* Extract/validate attributes.
+	*/
+	if (topLevel) {
+	    /* 
+	    * Process top attributes of global element declarations here.
+	    */
+	    ret->flags |= XML_SCHEMAS_ELEM_GLOBAL;
+	    ret->flags |= XML_SCHEMAS_ELEM_TOPLEVEL;
+	    xmlSchemaPValAttrQName(ctxt, schema, &repName, 
+		(xmlSchemaTypePtr) ret, node, "substitutionGroup", 
+		&(ret->substGroupNs), NULL, &(ret->substGroup));
+	    if (xmlGetBooleanProp(ctxt, &repName, (xmlSchemaTypePtr) ret,  
+		node, "abstract", 0))
+		ret->flags |= XML_SCHEMAS_ELEM_ABSTRACT; 
+	    /*
+	    * Attribute "final".
+	    */
+	    attr = xmlSchemaGetPropNode(node, "final");	    
+	    if (attr == NULL) {
+		ret->flags |= XML_SCHEMAS_ELEM_FINAL_ABSENT;
+	    } else {
+		attrValue = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);	    
+		if (xmlSchemaPValAttrBlockFinal(attrValue, &(ret->flags), 
+		    -1,
+		    XML_SCHEMAS_ELEM_FINAL_EXTENSION,
+		    XML_SCHEMAS_ELEM_FINAL_RESTRICTION, -1, -1, -1) != 0) {
+		    xmlSchemaPSimpleTypeErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+			&repName, (xmlSchemaTypePtr) ret, (xmlNodePtr) attr, 
+			NULL, "(#all | List of (extension | restriction))", 
+			attrValue, NULL, NULL, NULL);
+		}
+	    }
+	}    
+	/*
+	* Attribute "block".
+	*/
+	attr = xmlSchemaGetPropNode(node, "block");	
+	if (attr == NULL) {
+	    ret->flags |= XML_SCHEMAS_ELEM_BLOCK_ABSENT;
+	} else {
+	    attrValue = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);	    
+	    if (xmlSchemaPValAttrBlockFinal(attrValue, &(ret->flags), 
+		-1,
+		XML_SCHEMAS_ELEM_BLOCK_EXTENSION,
+		XML_SCHEMAS_ELEM_BLOCK_RESTRICTION, 
+		XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION, -1, -1) != 0) {
+		xmlSchemaPSimpleTypeErr(ctxt,
+		    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+		    &repName, (xmlSchemaTypePtr) ret, (xmlNodePtr) attr,
+		    NULL, "(#all | List of (extension | "
+		    "restriction | substitution))", attrValue, 
+		    NULL, NULL, NULL);		
+	    }
 	}
-    }
+	if (xmlGetBooleanProp(ctxt, &repName, (xmlSchemaTypePtr) ret, 
+	    node, "nillable", 0))
+	    ret->flags |= XML_SCHEMAS_ELEM_NILLABLE;	
 
-    if (topLevel) {
-        ret->flags |= XML_SCHEMAS_ELEM_GLOBAL;
-        ret->flags |= XML_SCHEMAS_ELEM_TOPLEVEL;
-    }
-    if (xmlGetBooleanProp(ctxt, node, "nillable", 0))
-        ret->flags |= XML_SCHEMAS_ELEM_NILLABLE;
-    if (xmlGetBooleanProp(ctxt, node, "abstract", 0))
-        ret->flags |= XML_SCHEMAS_ELEM_ABSTRACT;
-    ctxt->container = name;
+	xmlSchemaPValAttrQName(ctxt, schema, 
+	    &repName, (xmlSchemaTypePtr) ret, node, 
+	    "type", &(ret->namedTypeNs), NULL, &(ret->namedType));
 
+	ret->value = xmlSchemaGetProp(ctxt, node, "default");    
+	attr = xmlSchemaGetPropNode(node, "fixed");	
+	if (attr != NULL) {
+	    fixed = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+	    if (ret->value != NULL) {
+		/* 
+		* 3.3.3 : 1 
+		* default and fixed must not both be present. 
+		*/
+		xmlSchemaPMutualExclAttrErr(ctxt,
+		    XML_SCHEMAP_SRC_ELEMENT_1,
+		    &repName, (xmlSchemaTypePtr) ret, attr,
+		    "default", "fixed");
+	    } else {
+		ret->flags |= XML_SCHEMAS_ELEM_FIXED;
+		ret->value = fixed;
+	    }
+	}	
+    }     
+    /*
+    * Extract/validate common attributes.
+    */    
+    /* TODO: Check ID: */
     ret->id = xmlSchemaGetProp(ctxt, node, "id");
-    ret->namedType =
-        xmlGetQNameProp(ctxt, node, "type", &(ret->namedTypeNs)); 
-    ret->substGroup =
-        xmlGetQNameProp(ctxt, node, "substitutionGroup",
-                        &(ret->substGroupNs));
-    if ((ret->substGroup != NULL) && (!topLevel)) {
-	/* 3.3.6 : 3 */
-	/*
-	 * TODO: This seems to be redundant, since the schema for schemas
-	 * already prohibits the use of the "substitutionGroup" attribute
-	 * in local element declarations.
-	 */
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-	              "Element declaration %s: substitutionGroup is allowed "
-		      "on top-level declarations only\n", ret->name, NULL);
-	
-    }
-    fixed = xmlSchemaGetProp(ctxt, node, "fixed");
-    ret->minOccurs = xmlGetMinOccurs(ctxt, node);
-    ret->maxOccurs = xmlGetMaxOccurs(ctxt, node);
-
-    ret->value = xmlSchemaGetProp(ctxt, node, "default");
-    if ((ret->value != NULL) && (fixed != NULL)) {
-	/* 3.3.3 : 1 
-	 * default and fixed must not both be present. 
-	 */
-        xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_ELEM_DEFAULT_FIXED,
-                       "Element %s has both default and fixed\n",
-		       ret->name, NULL);
-    } else if (fixed != NULL) {
-        ret->flags |= XML_SCHEMAS_ELEM_FIXED;
-        ret->value = fixed;
-    }
-
+    ret->minOccurs = minOccurs;
+    ret->maxOccurs = maxOccurs; 
+    if (topLevel != 1)
+	xmlSchemaPCheckParticleCorrect_2(ctxt, (xmlSchemaTypePtr) ret, 
+	    node, minOccurs, maxOccurs);    
+    /*
+    * And now for the children...
+    */
+    ctxt->container = name;
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
-        ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
-        child = child->next;
+	ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
+	child = child->next;
     }
-    
-    if (ref != NULL) {
-	/* 3.3.3 (2.2) */ 
-	while (child != NULL) {
-	    if ((IS_SCHEMA(child, "complexType")) ||
-		(IS_SCHEMA(child, "simpleType")) ||
-		(IS_SCHEMA(child, "unique")) ||
-	        (IS_SCHEMA(child, "key")) || 
-		(IS_SCHEMA(child, "keyref"))) {
-
-		xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_REF_AND_CONTENT,
-		               "Element declaration %s: only annotation is "
-			       "allowed as content in addition to ref\n",
-			       ret->name, NULL);
-	    } else {
-		xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_ELEM_CHILD,
-		           "element %s has unexpected content\n", name, NULL);
-	    }
-	    child = child->next;
+    if (isRef) {
+	if (child != NULL) {
+	    xmlSchemaPContentErr(ctxt,
+		XML_SCHEMAP_SRC_ELEMENT_2_2,
+		&repName, (xmlSchemaTypePtr) ret, node, child, 
+		NULL, "(annotation?)");
 	}
-    } else {
+    } else {			
 	if (IS_SCHEMA(child, "complexType")) {
-	    /* 3.3.3 : 3 
-	     * type and either <simpleType> or <complexType> are mutually
-	     * exclusive 
-	     */
+	    /* 
+	    * 3.3.3 : 3 
+	    * "type" and either <simpleType> or <complexType> are mutually
+	    * exclusive 
+	    */
 	    if (ret->namedType != NULL) {
-		xmlSchemaPErr2(ctxt, node, child,
-			       XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION,
-		               "Element declaration %s has both \"type\" "
-			       "and a local complex type\n",
-			       ret->name, NULL);
+		xmlSchemaPContentErr(ctxt,
+		    XML_SCHEMAP_SRC_ELEMENT_3,
+		    &repName, (xmlSchemaTypePtr) ret, node, child, 
+		    "The attribute 'type' and the <complexType> child are "
+		    "mutually exclusive", NULL);		
 	    } else
 		ret->subtypes = xmlSchemaParseComplexType(ctxt, schema, child, 0);
 	    child = child->next;
 	} else if (IS_SCHEMA(child, "simpleType")) {
-	    /* 3.3.3 : 3 
-	     * type and either <simpleType> or <complexType> are
-	     * mutually exclusive 
-	     */
+	    /* 
+	    * 3.3.3 : 3 
+	    * "type" and either <simpleType> or <complexType> are
+	    * mutually exclusive 
+	    */
 	    if (ret->namedType != NULL) {
-		xmlSchemaPErr2(ctxt, node, child,
-			       XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION,
-		               "Element declaration %s has both \"type\" "
-			       "and a local simple type\n",
-			       ret->name, NULL);
+		xmlSchemaPContentErr(ctxt,
+		    XML_SCHEMAP_SRC_ELEMENT_3,
+		    &repName, (xmlSchemaTypePtr) ret, node, child, 
+		    "The attribute 'type' and the <simpleType> child are "
+		    "mutually exclusive", NULL);				
 	    } else
 		ret->subtypes = xmlSchemaParseSimpleType(ctxt, schema, child, 0);
 	    child = child->next;
-	}
-    
+	}	
 	while ((IS_SCHEMA(child, "unique")) ||
-	       (IS_SCHEMA(child, "key")) || (IS_SCHEMA(child, "keyref"))) {
+	    (IS_SCHEMA(child, "key")) || (IS_SCHEMA(child, "keyref"))) {
 	    TODO child = child->next;
 	}
 	if (child != NULL) {
-	    xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_ELEM_CHILD,
-		           "element %s has unexpected content\n", name, NULL);
-	}
+	    xmlSchemaPContentErr(ctxt,
+		XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+		&repName, (xmlSchemaTypePtr) ret, node, child, 
+		NULL, "(annotation?, ((simpleType | complexType)?, "
+		"(unique | key | keyref)*))");
+	}		
+
     }
-
     ctxt->container = oldcontainer;
+    /*
+    * Cleanup.
+    */
+    if (repName != NULL)
+	xmlFree(repName);    
+    /*
+    * NOTE: Element Declaration Representation OK 4. will be checked at a 
+    * different layer.
+    */
     return (ret);
 }
 
@@ -3145,26 +5628,51 @@
     xmlSchemaTypePtr type, subtype, last = NULL;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-
-    snprintf((char *) name, 30, "union %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    snprintf((char *) name, 30, "#union %d", ctxt->counter++ + 1);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->type = XML_SCHEMA_TYPE_UNION;
     type->node = node;
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "memberTypes"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, type, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, type, attr);		
+	}
+	attr = attr->next;
+    }	
     type->id = xmlSchemaGetProp(ctxt, node, "id");
+    /*
+    * Attribute "memberTypes". This is a list of QNames.
+    * TODO: Validate the QNames.
+    */
     type->base = xmlSchemaGetProp(ctxt, node, "memberTypes");
-
+    /*
+    * And now for the children...
+    */
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
-    while (IS_SCHEMA(child, "simpleType")) {
+    while (IS_SCHEMA(child, "simpleType")) {	
         subtype = (xmlSchemaTypePtr)
             xmlSchemaParseSimpleType(ctxt, schema, child, 0);
         if (subtype != NULL) {
@@ -3180,9 +5688,10 @@
         child = child->next;
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_UNION_CHILD,
-                       "Union %s has unexpected content\n", type->name,
-                       NULL);
+	/* TODO: Think about the error code. */
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_UNKNOWN_UNION_CHILD, 
+	    NULL, type, node, child, NULL, "(annotation?, simpleType*)");
     }
     return (type);
 }
@@ -3211,45 +5720,65 @@
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-    snprintf((char *) name, 30, "list %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    snprintf((char *) name, 30, "#list %d", ctxt->counter++ + 1);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->node = node;
     type->type = XML_SCHEMA_TYPE_LIST;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "itemType"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, type, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, type, attr);		
+	}
+	attr = attr->next;
+    }	
+    /*
+    * Attribute "itemType".
+    */
+    xmlSchemaPValAttrQName(ctxt, schema, NULL, NULL,
+	node, "itemType", &(type->baseNs), NULL, &(type->base));
+    /*
+    * And now for the children...
+    */
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
-    }
-    /*
-    * Check type of "itemType". 
-    */
-    attr = xmlSchemaGetPropNode(node, BAD_CAST "itemType");
-    if (attr != NULL) {
-	type->base = xmlGetQNameProp(ctxt, node, "itemType", &(type->baseNs));
-	xmlSchemaParseSchemaAttrValue(ctxt, attr, 
-	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME));
-	
-    }    
+    }    	
     subtype = NULL;
-    if (IS_SCHEMA(child, "simpleType")) {	
-	subtype = (xmlSchemaTypePtr)
-	    xmlSchemaParseSimpleType(ctxt, schema, child, 0);
-	type->subtypes = subtype;
-	/*
-	* This is a hack to save the information that a local
-	* simple type was defined.
-	*/
-	type->baseType = subtype;
+    if (IS_SCHEMA(child, "simpleType")) {
+	if (type->base != NULL) {
+	    xmlSchemaPCustomErr(ctxt, 
+		XML_SCHEMAP_SRC_SIMPLE_TYPE_1,
+		NULL, type, node, 
+		"The attribute 'itemType' and the <simpleType> child "
+		"are mutually exclusive", NULL);	    
+	} else {	
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseSimpleType(ctxt, schema, child, 0);
+	    type->subtypes = subtype;
+	}
         child = child->next;        
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_LIST_CHILD,
-                       "List %s has unexpected content\n", type->name,
-                       NULL);
+	/* TODO: Think about the error code. */
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_UNKNOWN_LIST_CHILD, 
+	    NULL, type, node, child, NULL, "(annotation?, simpleType?)");
     }
     return (type);
 }
@@ -3264,103 +5793,134 @@
  * *WARNING* this interface is highly subject to change
  *
  * Returns -1 in case of error, 0 if the declaration is improper and
- *         1 in case of success.
+ * 1 in case of success.
  */
 static xmlSchemaTypePtr
 xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                          xmlNodePtr node, int topLevel)
 {
-    xmlSchemaTypePtr type, subtype, ctxtType;
+    xmlSchemaTypePtr type, subtype, oldCtxtType, oldParentItem;
     xmlNodePtr child = NULL;
-    const xmlChar *propVal;
+    const xmlChar *attrValue = NULL;
+    xmlChar *des = NULL;
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
+   
+    if (topLevel) {
+	attr = xmlSchemaGetPropNode(node, "name");
+	if (attr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_MISSING, 
+		(xmlChar **) &xmlSchemaElemDesST, NULL, node,
+		"name", NULL);
+	    return (NULL);
+	} else if (xmlSchemaPValAttrNode(ctxt, 
+	    (xmlChar **) &xmlSchemaElemDesST, NULL, attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &attrValue) != 0) {
+	    return (NULL);
+	}
+    }
+            
+    if (topLevel == 0) {
+        char buf[40];
 
-    ctxtType = ctxt->ctxtType;
-    propVal = xmlSchemaGetProp(ctxt, node, "name");
-    if (propVal == NULL) {
-        char buf[100];
-
-        snprintf(buf, 99, "simpleType %d", ctxt->counter++ + 1);
-	type = xmlSchemaAddType(ctxt, schema, (const xmlChar *)buf, NULL);
-    } else {	
-	if (!topLevel) {
-	    xmlSchemaPErr(ctxt, node, 
-		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
-		"The attribute \"name\" is not allowed on a local "
-		"simpleType definition\n",
-		propVal, NULL);
+	/*
+	* Parse as local simple type definition.
+	*/
+        snprintf(buf, 39, "#ST %d", ctxt->counter++ + 1);
+	type = xmlSchemaAddType(ctxt, schema, (const xmlChar *)buf, NULL, node);
+	if (type == NULL)
 	    return (NULL);
+	type->node = node;
+	type->type = XML_SCHEMA_TYPE_SIMPLE;
+	/*
+	* Check for illegal attributes.
+	*/
+	attr = node->properties;
+	while (attr != NULL) {
+	    if (attr->ns == NULL) {
+		if (!xmlStrEqual(attr->name, BAD_CAST "id")) {
+		    xmlSchemaPIllegalAttrErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+			&des, type, attr);		    
+		}
+	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+		    xmlSchemaPIllegalAttrErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+			&des, type, attr);	
+	    }
+	    attr = attr->next;
 	}
+    } else {		
 	/*
-	* "name" has to be of type NCName. 
-	* TODO: Actually this should be validated by the schema for schemas.
+	* Parse as global simple type definition.
+	*
+	* Note that attrValue is the value of the attribute "name" here.
+	*/	
+	type = xmlSchemaAddType(ctxt, schema, attrValue, schema->targetNamespace, node);
+	if (type == NULL)
+	    return (NULL);
+	type->node = node;
+	type->type = XML_SCHEMA_TYPE_SIMPLE;
+	type->flags |= XML_SCHEMAS_TYPE_GLOBAL;
+	/*
+	* Check for illegal attributes.
 	*/
-	if (xmlSchemaParseSchemaAttrValue(ctxt,
-	    xmlSchemaGetPropNode(node, BAD_CAST "name"),
-	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME)) != 0)
-	    return (NULL);	
-	type = xmlSchemaAddType(ctxt, schema, propVal, schema->targetNamespace);
-    }
-    if (type == NULL)
-        return (NULL);
-    type->node = node;
-    type->type = XML_SCHEMA_TYPE_SIMPLE;
-    if (topLevel) 
-        type->flags |= XML_SCHEMAS_TYPE_GLOBAL;
-    type->id = xmlSchemaGetProp(ctxt, node, "id");
-    propVal = xmlSchemaGetProp(ctxt, node, "final");
-    if (propVal == NULL) {
-	type->flags |= XML_SCHEMAS_TYPE_FINAL_DEFAULT;
-    } else {
-	if (xmlStrEqual(propVal, BAD_CAST "#all")) {
-	    type->flags |= XML_SCHEMAS_TYPE_FINAL_RESTRICTION; 
-	    type->flags |= XML_SCHEMAS_TYPE_FINAL_UNION; 
-	    type->flags |= XML_SCHEMAS_TYPE_FINAL_LIST; 
-	} else {
-	    const xmlChar *end, *cur = propVal;
-	    xmlChar *item;
-	    
-	    do {
-		while (IS_BLANK_CH(*cur))
-		    cur++;
-		end = cur;
-		while ((*end != 0) && (!(IS_BLANK_CH(*end))))
-		    end++;
-		if (end == cur)
-		    break;
-		item = xmlStrndup(cur, end - cur);    	    
-		if (xmlStrEqual(item, BAD_CAST "restriction")) {
-		    if ((type->flags & XML_SCHEMAS_TYPE_FINAL_RESTRICTION) == 0)
-			type->flags |= XML_SCHEMAS_TYPE_FINAL_RESTRICTION; 
-		} else if (xmlStrEqual(item, BAD_CAST "list")) {
-		    if ((type->flags & XML_SCHEMAS_TYPE_FINAL_LIST) == 0)
-			type->flags |= XML_SCHEMAS_TYPE_FINAL_LIST; 
-		} else if (xmlStrEqual(item, BAD_CAST "union")) {
-		    if ((type->flags & XML_SCHEMAS_TYPE_FINAL_UNION) == 0)
-			type->flags |= XML_SCHEMAS_TYPE_FINAL_UNION; 
-		} else {
-		    xmlSchemaPErr(ctxt, node, 
-			XML_SCHEMAS_ERR_INTERNAL,
-			"The attribute \"final\" of type \"%s\" "
-			"has an invalid value\n",
-			type->name, NULL);			    		    
+	attr = node->properties;
+	while (attr != NULL) {
+	    if (attr->ns == NULL) {
+		if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "name")) &&
+		    (!xmlStrEqual(attr->name, BAD_CAST "final"))) {
+		    xmlSchemaPIllegalAttrErr(ctxt, 
+			XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+			&des, type, attr);	
 		}
-		if (item != NULL)
-		    xmlFree(item);
-		cur = end;
-	    } while (*cur != 0); 
+	    } else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    &des, type, attr);	
+	    }
+	    attr = attr->next;
 	}
-    }
+	/*
+	* Attribute "final".
+	*/
+	attr = xmlSchemaGetPropNode(node, "final");	
+	if (attr == NULL) {
+	    type->flags |= XML_SCHEMAS_TYPE_FINAL_DEFAULT;
+	} else {
+	    attrValue = xmlSchemaGetProp(ctxt, node, "final");
+	    if (xmlSchemaPValAttrBlockFinal(attrValue, &(type->flags), 
+		-1, -1, XML_SCHEMAS_TYPE_FINAL_RESTRICTION, -1,	    
+		XML_SCHEMAS_TYPE_FINAL_LIST,
+		XML_SCHEMAS_TYPE_FINAL_UNION) != 0) {
+
+		xmlSchemaPSimpleTypeErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+		    &des, type, (xmlNodePtr) attr, 
+		    NULL, "(#all | List of (list | union | restriction)", 
+		    attrValue, NULL, NULL, NULL);
+	    }
+	}
+    }    
+    /* TODO: Check id. */    
+    type->id = xmlSchemaGetProp(ctxt, node, "id");
+    /*
+    * And now for the children...
+    */
+    oldCtxtType = ctxt->ctxtType;
+    oldParentItem = ctxt->parentItem;
+    ctxt->ctxtType = type;
+    ctxt->parentItem = type;
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
-    subtype = NULL;
-    ctxt->ctxtType = type; 
-    ctxt->parentItem = type;
+    subtype = NULL;         
     if (IS_SCHEMA(child, "restriction")) {
         subtype = (xmlSchemaTypePtr)
             xmlSchemaParseRestriction(ctxt, schema, child);
@@ -3374,24 +5934,16 @@
             xmlSchemaParseUnion(ctxt, schema, child);
         child = child->next;
     }
-    type->subtypes = subtype;
-    if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
-                       "SimpleType \"%s\" has unexpected content\n",
-                       type->name, NULL);
-    } else {
-	if (subtype == NULL) {
-	    xmlSchemaPErr2(ctxt, node, child,
-		XML_SCHEMAP_S4S_ELEM_MISSING,
-		"SimpleType \"%s\" must have one of <restriction> or "
-		"<list> or <union> as a child\n",
-		type->name, NULL);
-	}
+    type->subtypes = subtype;    
+    if ((child != NULL) || (subtype == NULL)) {
+	xmlSchemaPContentErr(ctxt, XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, 
+	    &des, type, node, child, NULL, 
+	    "(annotation?, (restriction | list | union))");
     }
+    ctxt->parentItem = oldParentItem;
+    ctxt->ctxtType = oldCtxtType;
+    FREE_AND_NULL(des)
 
-    ctxt->ctxtType = ctxtType;
-
     return (type);
 }
 
@@ -3417,18 +5969,27 @@
     const xmlChar *name;
     const xmlChar *ref = NULL, *refNs = NULL;
     char buf[100];
+    int minOccurs, maxOccurs;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
-
-
+    /*
+    * TODO: Validate the element even if no item is created 
+    * (i.e. min/maxOccurs == 0).
+    */
+    minOccurs = xmlGetMinOccurs(ctxt, node, 0, -1, 1, "nonNegativeInteger");
+    maxOccurs = xmlGetMaxOccurs(ctxt, node, 0, UNBOUNDED, 1, "(nonNegativeInteger | unbounded)");
+    if ((minOccurs == 0) && (maxOccurs == 0)) {
+	return (NULL);
+    }
     name = xmlSchemaGetProp(ctxt, node, "name");
     if (name == NULL) {
         ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
         if (ref == NULL) {
             xmlSchemaPErr2(ctxt, node, child,
-                           XML_SCHEMAP_GROUP_NONAME_NOREF,
-                           "Group has no name nor ref\n", NULL, NULL);
+		XML_SCHEMAP_GROUP_NONAME_NOREF,
+		"Group definition or particle: One of the attributes \"name\" "
+		"or \"ref\" must be present.\n", NULL, NULL);
             return (NULL);
         }
 	if (refNs == NULL)
@@ -3436,7 +5997,7 @@
         snprintf(buf, 99, "anongroup %d", ctxt->counter++ + 1);
         name = (const xmlChar *) buf;
     }
-    type = xmlSchemaAddGroup(ctxt, schema, name);
+    type = xmlSchemaAddGroup(ctxt, schema, name, node);
     if (type == NULL)
         return (NULL);
     type->node = node;
@@ -3446,8 +6007,10 @@
     type->id = xmlSchemaGetProp(ctxt, node, "id");
     type->ref = ref;
     type->refNs = refNs;
-    type->minOccurs = xmlGetMinOccurs(ctxt, node);
-    type->maxOccurs = xmlGetMaxOccurs(ctxt, node);
+    type->minOccurs = minOccurs;
+    type->maxOccurs = maxOccurs;
+    xmlSchemaPCheckParticleCorrect_2(ctxt, type,
+	node, type->minOccurs, type->maxOccurs);    
 
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
@@ -3471,7 +6034,7 @@
         type->subtypes = subtype;
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_GROUP_CHILD,
-                       "Group %s has unexpected content\n", type->name,
+                       "Group definition \"%s\" has unexpected content.\n", type->name,
                        NULL);
     }
 
@@ -3503,21 +6066,16 @@
 
 
     snprintf((char *) name, 30, "all%d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->node = node;
     type->type = XML_SCHEMA_TYPE_ALL;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-    type->minOccurs = xmlGetMinOccurs(ctxt, node);
-    if (type->minOccurs > 1)
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_INVALID_MINOCCURS,
-	    "invalid value for minOccurs (must be 0 or 1)\n", NULL, NULL);
-    type->maxOccurs = xmlGetMaxOccurs(ctxt, node);
-    if (type->maxOccurs > 1)
-        xmlSchemaPErr(ctxt, node, XML_SCHEMAP_INVALID_MAXOCCURS,
-	    "invalid value for maxOccurs (must be 0 or 1)\n", NULL, NULL);
 
+    type->minOccurs = xmlGetMinOccurs(ctxt, node, 0, 1, 1, "(0 | 1)");
+    type->maxOccurs = xmlGetMaxOccurs(ctxt, node, 1, 1, 1, "1");    
+
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
@@ -3529,11 +6087,11 @@
         if (subtype != NULL) {
 	    if (subtype->minOccurs > 1)
                 xmlSchemaPErr(ctxt, child, XML_SCHEMAP_INVALID_MINOCCURS,
-	             "invalid value for minOccurs (must be 0 or 1)\n",
+	             "invalid value for minOccurs (must be 0 or 1).\n",
 		     NULL, NULL);
 	    if (subtype->maxOccurs > 1)
 	        xmlSchemaPErr(ctxt, child, XML_SCHEMAP_INVALID_MAXOCCURS,
-	             "invalid value for maxOccurs (must be 0 or 1)\n",
+	             "invalid value for maxOccurs (must be 0 or 1).\n",
 		     NULL, NULL);
             if (last == NULL) {
                 type->subtypes = subtype;
@@ -3548,7 +6106,7 @@
     }
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_ALL_CHILD,
-                       "All %s has unexpected content\n", type->name,
+                       "<all> has unexpected content.\n", type->name,
                        NULL);
     }
 
@@ -3556,246 +6114,6 @@
 }
 
 /**
- * xmlSchemaImportSchema
- * 
- * @ctxt:  a schema validation context
- * @schemaLocation:  an URI defining where to find the imported schema
- *
- * import a XML schema
- * *WARNING* this interface is highly subject to change
- *
- * Returns -1 in case of error and 1 in case of success.
- */
-static xmlSchemaImportPtr
-xmlSchemaImportSchema(xmlSchemaParserCtxtPtr ctxt,
-                      const xmlChar *schemaLocation)
-{
-    xmlSchemaImportPtr import;
-    xmlSchemaParserCtxtPtr newctxt;
-
-    newctxt = (xmlSchemaParserCtxtPtr) xmlMalloc(sizeof(xmlSchemaParserCtxt));
-    if (newctxt == NULL) {
-        xmlSchemaPErrMemory(ctxt, "allocating schema parser context",
-                            NULL);
-        return (NULL);
-    }
-    memset(newctxt, 0, sizeof(xmlSchemaParserCtxt));
-    /* Keep the same dictionnary for parsing, really */
-    xmlDictReference(ctxt->dict);
-    newctxt->dict = ctxt->dict;
-    newctxt->includes = 0;
-    newctxt->URL = xmlDictLookup(newctxt->dict, schemaLocation, -1);
-
-    xmlSchemaSetParserErrors(newctxt, ctxt->error, ctxt->warning,
-	                     ctxt->userData);
-
-    import = (xmlSchemaImport*) xmlMalloc(sizeof(xmlSchemaImport));
-    if (import == NULL) {
-        xmlSchemaPErrMemory(NULL, "allocating imported schema",
-                            NULL);
-	xmlSchemaFreeParserCtxt(newctxt);
-        return (NULL);
-    }
-
-    memset(import, 0, sizeof(xmlSchemaImport));
-    import->schemaLocation = xmlDictLookup(ctxt->dict, schemaLocation, -1);
-    import->schema = xmlSchemaParse(newctxt);
-
-    if (import->schema == NULL) {
-        /* FIXME use another error enum here ? */
-        xmlSchemaPErr(ctxt, NULL, XML_SCHEMAS_ERR_INTERNAL,
-	              "failed to import schema at location %s\n",
-		      schemaLocation, NULL);
-
-	xmlSchemaFreeParserCtxt(newctxt);
-	if (import->schemaLocation != NULL)
-	    xmlFree((xmlChar *)import->schemaLocation);
-	xmlFree(import);
-	return NULL;
-    }
-
-    xmlSchemaFreeParserCtxt(newctxt);
-    return import;
-}
-
-
-/**
- * xmlSchemaParseImport:
- * @ctxt:  a schema validation context
- * @schema:  the schema being built
- * @node:  a subtree containing XML Schema informations
- *
- * parse a XML schema Import definition
- * *WARNING* this interface is highly subject to change
- *
- * Returns -1 in case of error, 0 if the declaration is improper and
- *         1 in case of success.
- */
-static int
-xmlSchemaParseImport(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                     xmlNodePtr node)
-{
-    xmlNodePtr child = NULL;
-    xmlSchemaImportPtr import = NULL;
-    const xmlChar *namespace;
-    const xmlChar *schemaLocation;
-    const xmlChar *previous;
-    xmlURIPtr check;
-
-
-    if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
-        return (-1);
-
-    namespace = xmlSchemaGetProp(ctxt, node, "namespace");
-    if (namespace != NULL) {
-        check = xmlParseURI((const char *) namespace);
-        if (check == NULL) {
-            xmlSchemaPErr2(ctxt, node, child,
-                           XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI,
-                           "Import namespace attribute is not an URI: %s\n",
-                           namespace, NULL);
-            return (-1);
-        } else {
-            xmlFreeURI(check);
-        }
-    }
-    schemaLocation = xmlSchemaGetProp(ctxt, node, "schemaLocation");
-    if (schemaLocation != NULL) {
-        xmlChar *base = NULL;
-        xmlChar *URI = NULL;
-        check = xmlParseURI((const char *) schemaLocation);
-        if (check == NULL) {
-            xmlSchemaPErr2(ctxt, node, child,
-                           XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI,
-                           "Import schemaLocation attribute is not an URI: %s\n",
-                           schemaLocation, NULL);
-            return (-1);
-        } else {
-            xmlFreeURI(check);
-        }
-	base = xmlNodeGetBase(node->doc, node);
-	if (base == NULL) {
-	    URI = xmlBuildURI(schemaLocation, node->doc->URL);
-	} else {
-	    URI = xmlBuildURI(schemaLocation, base);
-	    xmlFree(base);
-	}
-	if (URI != NULL) {
-	    schemaLocation = xmlDictLookup(ctxt->dict, URI, -1);
-	    xmlFree(URI);
-	}
-    }
-    if (schema->schemasImports == NULL) {
-        schema->schemasImports = xmlHashCreate(10);
-        if (schema->schemasImports == NULL) {
-            xmlSchemaPErr2(ctxt, node, child,
-                           XML_SCHEMAP_FAILED_BUILD_IMPORT,
-                           "Internal: failed to build import table\n",
-                           NULL, NULL);
-            return (-1);
-        }
-    }
-    if (namespace == NULL) {
-        import = xmlHashLookup(schema->schemasImports,
-	                               XML_SCHEMAS_DEFAULT_NAMESPACE);
-	if (import != NULL)
-            previous = import->schemaLocation;
-	else
-	    previous = NULL;
-
-        if (schemaLocation != NULL) {
-            if (previous != NULL) {
-                if (!xmlStrEqual(schemaLocation, previous)) {
-                    xmlSchemaPErr2(ctxt, node, child,
-                                   XML_SCHEMAP_IMPORT_REDEFINE_NSNAME,
-                                   "Redefining import for default namespace "
-				   "with a different URI: %s\n",
-                                   schemaLocation, NULL);
-                }
-            } else {
-	        import = xmlSchemaImportSchema(ctxt, schemaLocation);
-		if (import == NULL) {
-		    return (-1);
-		}
-                xmlHashAddEntry(schema->schemasImports,
-                                XML_SCHEMAS_DEFAULT_NAMESPACE,
-                                import);
-            }
-        }
-    } else {
-        import = xmlHashLookup(schema->schemasImports, namespace);
-	if (import != NULL)
-	    previous = import->schemaLocation;
-	else
-	    previous = NULL;
-
-        if (schemaLocation != NULL) {
-            if (previous != NULL) {
-                if (!xmlStrEqual(schemaLocation, previous)) {
-                    xmlSchemaPErr2(ctxt, node, child,
-                                   XML_SCHEMAP_IMPORT_REDEFINE_NSNAME,
-                                   "Redefining import for namespace %s with "
-				   "a different URI: %s\n",
-                                   namespace, schemaLocation);
-                }
-            } else {
-	        import = xmlSchemaImportSchema(ctxt, schemaLocation);
-		if (import == NULL) {
-		    return (-1);
-		}
-		if (!xmlStrEqual(import->schema->targetNamespace, namespace)) {
-		    if (namespace == NULL) {
-			if (import->schema->targetNamespace != NULL) {
-			   xmlSchemaPErr(ctxt, node, XML_SCHEMAP_SRC_IMPORT_3_2,
-			    "There is no namespace attribute on the <import> "
-			    "element information item, so the imported document "
-			    "must have no targetNamespace attribute.\n", 
-			    NULL, NULL); 
-			}
-		    } else {
-			if (import->schema->targetNamespace != NULL) {
-			    xmlSchemaPErr(ctxt, node, XML_SCHEMAP_SRC_IMPORT_3_1,
-				"The namespace attribute \"%s\" of an <import> "
-				"element information item must be identical to the "
-				"targetNamespace attribute \"%s\" of the "
-				"imported document.\n", 
-				namespace, import->schema->targetNamespace);
-			} else {
-			    xmlSchemaPErr(ctxt, node, XML_SCHEMAP_SRC_IMPORT_3_1,
-				"The namespace attribute on the <import> "
-				"element information item, requires the imported "
-				"document to have a targetNamespace attribute "
-				"with the value \"%s\".\n", 
-				namespace, NULL);
-			}
-		    }
-		    xmlSchemaFreeImport(import);
-		    return (-1);
-		}
-
-                xmlHashAddEntry(schema->schemasImports,
-                                namespace, import);
-		
-            }
-        }
-    }
-
-    child = node->children;
-    while (IS_SCHEMA(child, "annotation")) {
-        /*
-         * the annotations here are simply discarded ...
-         */
-        child = child->next;
-    }
-    if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_IMPORT_CHILD,
-                       "Import has unexpected content\n", NULL, NULL);
-        return (-1);
-    }
-    return (1);
-}
-
-/**
  * xmlSchemaCleanupDoc:
  * @ctxt:  a schema validation context
  * @node:  the root of the document.
@@ -3870,7 +6188,166 @@
     }
 }
 
+
 /**
+ * xmlSchemaImportSchema
+ * 
+ * @ctxt:  a schema validation context
+ * @schemaLocation:  an URI defining where to find the imported schema
+ *
+ * import a XML schema
+ * *WARNING* this interface is highly subject to change
+ *
+ * Returns -1 in case of error and 1 in case of success.
+ */
+#if 0
+static xmlSchemaImportPtr
+xmlSchemaImportSchema(xmlSchemaParserCtxtPtr ctxt,
+                      const xmlChar *schemaLocation)
+{
+    xmlSchemaImportPtr import;
+    xmlSchemaParserCtxtPtr newctxt;
+
+    newctxt = (xmlSchemaParserCtxtPtr) xmlMalloc(sizeof(xmlSchemaParserCtxt));
+    if (newctxt == NULL) {
+        xmlSchemaPErrMemory(ctxt, "allocating schema parser context",
+                            NULL);
+        return (NULL);
+    }
+    memset(newctxt, 0, sizeof(xmlSchemaParserCtxt));
+    /* Keep the same dictionnary for parsing, really */
+    xmlDictReference(ctxt->dict);
+    newctxt->dict = ctxt->dict;
+    newctxt->includes = 0;
+    newctxt->URL = xmlDictLookup(newctxt->dict, schemaLocation, -1);
+
+    xmlSchemaSetParserErrors(newctxt, ctxt->error, ctxt->warning,
+	                     ctxt->userData);
+
+    import = (xmlSchemaImport*) xmlMalloc(sizeof(xmlSchemaImport));
+    if (import == NULL) {
+        xmlSchemaPErrMemory(NULL, "allocating imported schema",
+                            NULL);
+	xmlSchemaFreeParserCtxt(newctxt);
+        return (NULL);
+    }
+
+    memset(import, 0, sizeof(xmlSchemaImport));
+    import->schemaLocation = xmlDictLookup(ctxt->dict, schemaLocation, -1);
+    import->schema = xmlSchemaParse(newctxt);
+
+    if (import->schema == NULL) {
+        /* FIXME use another error enum here ? */
+        xmlSchemaPErr(ctxt, NULL, XML_SCHEMAP_INTERNAL,
+	              "Failed to import schema from location \"%s\".\n",
+		      schemaLocation, NULL);
+
+	xmlSchemaFreeParserCtxt(newctxt);
+	/* The schemaLocation is held by the dictionary.
+	if (import->schemaLocation != NULL)
+	    xmlFree((xmlChar *)import->schemaLocation);
+	*/
+	xmlFree(import);
+	return NULL;
+    }
+
+    xmlSchemaFreeParserCtxt(newctxt);
+    return import;
+}
+#endif
+
+static void
+xmlSchemaClearSchemaDefaults(xmlSchemaPtr schema)
+{
+    if (schema->flags & XML_SCHEMAS_QUALIF_ELEM)
+	schema->flags ^= XML_SCHEMAS_QUALIF_ELEM;
+
+    if (schema->flags & XML_SCHEMAS_QUALIF_ATTR)
+	schema->flags ^= XML_SCHEMAS_QUALIF_ATTR;
+
+    if (schema->flags & XML_SCHEMAS_FINAL_DEFAULT_EXTENSION)
+	schema->flags ^= XML_SCHEMAS_FINAL_DEFAULT_EXTENSION;
+    if (schema->flags & XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION)
+	schema->flags ^= XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION;
+    if (schema->flags & XML_SCHEMAS_FINAL_DEFAULT_LIST)
+	schema->flags ^= XML_SCHEMAS_FINAL_DEFAULT_LIST;
+    if (schema->flags & XML_SCHEMAS_FINAL_DEFAULT_UNION)
+	schema->flags ^= XML_SCHEMAS_FINAL_DEFAULT_UNION;
+
+    if (schema->flags & XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION)
+	schema->flags ^= XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION;
+    if (schema->flags & XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION)
+	schema->flags ^= XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION;
+    if (schema->flags & XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION)
+	schema->flags ^= XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION;
+}
+
+static void
+xmlSchemaParseSchemaDefaults(xmlSchemaParserCtxtPtr ctxt, 
+			     xmlSchemaPtr schema,
+			     xmlNodePtr node)
+{
+    xmlAttrPtr attr;
+    const xmlChar *val;
+
+    attr = xmlSchemaGetPropNode(node, "elementFormDefault");     
+    if (attr != NULL) {
+	val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+	if (xmlSchemaPValAttrFormDefault(val, &schema->flags, 
+	    XML_SCHEMAS_QUALIF_ELEM) != 0) {
+	    xmlSchemaPSimpleTypeErr(ctxt, 
+		XML_SCHEMAP_ELEMFORMDEFAULT_VALUE,
+		NULL, NULL, (xmlNodePtr) attr, NULL, 
+		"(qualified | unqualified)", val, NULL, NULL, NULL);
+	}
+    }
+    
+    attr = xmlSchemaGetPropNode(node, "attributeFormDefault");     
+    if (attr != NULL) {
+	val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+	if (xmlSchemaPValAttrFormDefault(val, &schema->flags, 
+	    XML_SCHEMAS_QUALIF_ATTR) != 0) {
+	    xmlSchemaPSimpleTypeErr(ctxt, 
+		XML_SCHEMAP_ATTRFORMDEFAULT_VALUE,
+		NULL, NULL, (xmlNodePtr) attr, NULL, 
+		"(qualified | unqualified)", val, NULL, NULL, NULL);
+	}
+    }
+    
+    attr = xmlSchemaGetPropNode(node, "finalDefault");    
+    if (attr != NULL) {
+	val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+	if (xmlSchemaPValAttrBlockFinal(val, &(schema->flags), -1,
+	    XML_SCHEMAS_FINAL_DEFAULT_EXTENSION,
+	    XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION,
+	    -1,
+	    XML_SCHEMAS_FINAL_DEFAULT_LIST,
+	    XML_SCHEMAS_FINAL_DEFAULT_UNION) != 0) {
+	    xmlSchemaPSimpleTypeErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+		NULL, NULL, (xmlNodePtr) attr, NULL,
+		"(#all | List of (extension | restriction | list | union))",
+		val, NULL, NULL, NULL);
+	}	    
+    }
+    
+    attr = xmlSchemaGetPropNode(node, "blockDefault");     
+    if (attr != NULL) {
+	val = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);
+	if (xmlSchemaPValAttrBlockFinal(val, &(schema->flags), -1,
+	    XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION,
+	    XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION,
+	    XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION, -1, -1) != 0) {
+	     xmlSchemaPSimpleTypeErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+		NULL, NULL, (xmlNodePtr) attr, NULL,
+		"(#all | List of (extension | restriction | substitution))",
+		val, NULL, NULL, NULL);
+	}	    
+    }
+}
+
+/**
  * xmlSchemaParseSchemaTopLevel:
  * @ctxt:  a schema validation context
  * @schema:  the schemas
@@ -3936,7 +6413,7 @@
 	} else {
 	    xmlSchemaPErr2(ctxt, NULL, child,
 			   XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD,
-			   "Schemas: unexpected element %s here \n",
+			   "Unexpected element \"%s\" as child of <schema>.\n",
 			   child->name, NULL);
 	    child = child->next;
 	}
@@ -3953,7 +6430,421 @@
     ctxt->ctxtType = NULL;
 }
 
+static xmlSchemaImportPtr
+xmlSchemaAddImport(xmlSchemaParserCtxtPtr ctxt, 
+		   xmlHashTablePtr *imports,
+		   const xmlChar *nsName)
+{
+    xmlSchemaImportPtr ret;
+
+    if (*imports == NULL) {
+	*imports = xmlHashCreate(10);
+	if (*imports == NULL) {
+	    xmlSchemaPCustomErr(ctxt, 
+		XML_SCHEMAP_FAILED_BUILD_IMPORT,
+		NULL, NULL, (xmlNodePtr) ctxt->doc,
+		"Internal error: failed to build the import table",
+		NULL);
+	    return (NULL);
+	}
+    }
+    ret = (xmlSchemaImport*) xmlMalloc(sizeof(xmlSchemaImport));
+    if (ret == NULL) {
+	xmlSchemaPErrMemory(NULL, "allocating import struct", NULL);
+	return (NULL);
+    }   
+    memset(ret, 0, sizeof(xmlSchemaImport));
+    if (nsName == NULL)
+	nsName = XML_SCHEMAS_NO_NAMESPACE;
+    xmlHashAddEntry(*imports, nsName, ret);  
+
+    return (ret);
+}
+
+static int
+xmlSchemaAcquireSchemaDoc(xmlSchemaParserCtxtPtr ctxt,
+			  xmlSchemaPtr schema,
+			  xmlNodePtr node,
+			  const xmlChar *nsName,
+			  const xmlChar *location,
+			  xmlDocPtr *doc,
+			  const xmlChar **targetNamespace,
+			  int absolute)
+{
+    xmlParserCtxtPtr parserCtxt;
+    xmlSchemaImportPtr import;
+    const xmlChar *ns;
+    xmlNodePtr root;
+
+    /*
+    * NOTE: This will be used for <import>, <xsi:schemaLocation> and
+    * <xsi:noNamespaceSchemaLocation>.
+    */
+    *doc = NULL;
+    /*
+    * Given that the schemaLocation [attribute] is only a hint, it is open 
+    * to applications to ignore all but the first <import> for a given 
+    * namespace, regardless of the ·actual value· of schemaLocation, but
+    * such a strategy risks missing useful information when new
+    * schemaLocations are offered.
+    *
+    * XSV (ver 2.5-2) does use the first <import> which resolves to a valid schema.
+    * Xerces-J (ver 2.5.1) ignores all but the first given <import> - regardless if
+    * valid or not.
+    * We will follow XSV here. 
+    */
+    if (location == NULL) {
+	/*
+	* Schema Document Location Strategy:
+	*
+	* 3 Based on the namespace name, identify an existing schema document,
+	* either as a resource which is an XML document or a <schema> element 
+	* information item, in some local schema repository; 
+	*
+	* 5 Attempt to resolve the namespace name to locate such a resource. 
+	*
+	* NOTE: Those stategies are not supported, so we will skip.
+	*/
+	return (0);
+    }
+    if (nsName == NULL) 
+	ns = XML_SCHEMAS_NO_NAMESPACE;
+    else
+	ns = nsName;
+    
+    import = xmlHashLookup(schema->schemasImports, ns);
+    if (import != NULL) {	
+	/*
+	* There was a valid resource for the specified namespace already
+	* defined, so skip.
+	* TODO: This might be changed someday to allow import of
+	* components from multiple documents for a single target namespace.
+	*/
+	return (0);
+    } 
+   
+    /*
+    * Schema Document Location Strategy: 
+    *
+    * 2 Based on the location URI, identify an existing schema document, 
+    * either as a resource which is an XML document or a <schema> element 
+    * information item, in some local schema repository;   
+    *
+    * 4 Attempt to resolve the location URI, to locate a resource on the 
+    * web which is or contains or references a <schema> element;
+    * TODO: Hmm, I don't know if the reference stuff in 4. will work.
+    *
+    */
+    if ((absolute == 0) && (node != NULL)) {
+	xmlChar *base, *URI;
+
+	base = xmlNodeGetBase(node->doc, node);
+	if (base == NULL) {
+	    URI = xmlBuildURI(location, node->doc->URL);
+	} else {
+	    URI = xmlBuildURI(location, base);
+	    xmlFree(base);
+	}
+	if (URI != NULL) {
+	    location = xmlDictLookup(ctxt->dict, URI, -1);
+	    xmlFree(URI);
+	}
+    }
+    parserCtxt = xmlNewParserCtxt();
+    if (parserCtxt == NULL) {
+	xmlSchemaPErrMemory(NULL, "xmlSchemaParseImport: "
+	    "allocating a parser context", NULL);
+	return(-1);
+    }		
+    
+    *doc = xmlCtxtReadFile(parserCtxt, (const char *) location, 
+	    NULL, SCHEMAS_PARSE_OPTIONS);
+
+    /*
+    * 2.1 The referent is (a fragment of) a resource which is an 
+    * XML document (see clause 1.1), which in turn corresponds to 
+    * a <schema> element information item in a well-formed information 
+    * set, which in turn corresponds to a valid schema.
+    * TODO: What to do with the "fragment" stuff?
+    *
+    * 2.2 The referent is a <schema> element information item in 
+    * a well-formed information set, which in turn corresponds 
+    * to a valid schema.
+    * NOTE: 2.2 won't apply, since only XML documents will be processed 
+    * here.
+    */       
+    if (*doc == NULL) {	
+	xmlErrorPtr lerr;
+	/*
+	* It is *not* an error for the application schema reference 
+	* strategy to fail.
+	* 
+	* If the doc is NULL and the parser error is an IO error we
+	* will assume that the resource could not be located or accessed.
+	*
+	* TODO: Try to find specific error codes to react only on
+	* localisation failures.
+	*
+	* TODO, FIXME: Check the spec: is a namespace added to the imported
+	* namespaces, even if the schemaLocation did not provide
+	* a resource? I guess so, since omitting the "schemaLocation"
+	* attribute, imports a namespace as well.
+	*/
+	lerr = xmlGetLastError();
+	if ((lerr != NULL) && (lerr->domain == XML_FROM_IO)) {	
+	    xmlFreeParserCtxt(parserCtxt);
+	    return(0);
+	}
+
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_SRC_IMPORT_2_1,
+	    NULL, NULL, node,
+	    "Failed to parse the resource '%s' for import",
+	    location);
+	xmlFreeParserCtxt(parserCtxt);
+	return(XML_SCHEMAP_SRC_IMPORT_2_1);
+    }
+    xmlFreeParserCtxt(parserCtxt);
+    
+    root = xmlDocGetRootElement(*doc);
+    if (root == NULL) {
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_SRC_IMPORT_2_1,
+	    NULL, NULL, node,
+	    "The XML document '%s' to be imported has no document "
+	    "element", location);	
+	xmlFreeDoc(*doc);
+	*doc = NULL;
+	return (XML_SCHEMAP_SRC_IMPORT_2_1);
+    }	
+    
+    xmlSchemaCleanupDoc(ctxt, root);	
+    
+    if (!IS_SCHEMA(root, "schema")) {
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_SRC_IMPORT_2_1,
+	    NULL, NULL, node,
+	    "The XML document '%s' to be imported is not a XML schema document",
+	    location);	
+	xmlFreeDoc(*doc);
+	*doc = NULL;
+	return (XML_SCHEMAP_SRC_IMPORT_2_1);
+    }	
+    *targetNamespace = xmlSchemaGetProp(ctxt, root, "targetNamespace");
+    /*
+    * Schema Representation Constraint: Import Constraints and Semantics
+    */    
+    if (nsName == NULL) {
+	if (*targetNamespace != NULL) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_IMPORT_3_2,
+		NULL, NULL, node,
+		"The XML schema to be imported is not expected "
+		"to have a target namespace; this differs from "
+		"its target namespace of '%s'", *targetNamespace);
+	    xmlFreeDoc(*doc);
+	    *doc = NULL;
+	    return (XML_SCHEMAP_SRC_IMPORT_3_2);
+	}
+    } else {
+	if (*targetNamespace == NULL) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_IMPORT_3_1,
+		NULL, NULL, node,
+		"The XML schema to be imported is expected to have a target "
+		"namespace of '%s'", nsName);
+	    xmlFreeDoc(*doc);
+	    *doc = NULL;
+	    return (XML_SCHEMAP_SRC_IMPORT_3_1);
+	} else if (!xmlStrEqual(*targetNamespace, nsName)) {
+	    xmlSchemaPCustomErrExt(ctxt,
+		XML_SCHEMAP_SRC_IMPORT_3_1,
+		NULL, NULL, node,
+		"The XML schema to be imported is expected to have a "
+		"target namespace of '%s'; this differs from "
+		"its target namespace of '%s'", 
+		nsName, *targetNamespace, NULL);
+	    xmlFreeDoc(*doc);
+	    *doc = NULL;
+	    return (XML_SCHEMAP_SRC_IMPORT_3_1);
+	}
+    }
+
+    import = xmlSchemaAddImport(ctxt, &(schema->schemasImports), nsName);
+    if (import == NULL) {
+	xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_FAILED_BUILD_IMPORT,
+	    NULL, NULL, NULL,	    
+	    "Internal error: xmlSchemaAcquireSchemaDoc, "
+	    "failed to build import table", NULL);
+	xmlFreeDoc(*doc);
+	*doc = NULL;
+	return (-1);
+    }
+    import->schemaLocation = location;
+    import->doc = *doc;
+    return (0);
+}
+
 /**
+ * xmlSchemaParseImport:
+ * @ctxt:  a schema validation context
+ * @schema:  the schema being built
+ * @node:  a subtree containing XML Schema informations
+ *
+ * parse a XML schema Import definition
+ * *WARNING* this interface is highly subject to change
+ *
+ * Returns 0 in case of success, a positive error code if 
+ * not valid and -1 in case of an internal error. 
+ */
+static int
+xmlSchemaParseImport(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
+                     xmlNodePtr node)
+{    
+    xmlNodePtr child;
+    const xmlChar *namespace = NULL;
+    const xmlChar *schemaLocation = NULL;
+    const xmlChar *targetNamespace, *oldTNS, *url;
+    xmlAttrPtr attr;
+    xmlDocPtr doc;
+    xmlNodePtr root;
+    int flags, ret = 0;
+
+
+    if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
+        return (-1);
+
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "namespace")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "schemaLocation"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, NULL, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, NULL, attr);		
+	}
+	attr = attr->next;
+    }	
+    /*
+    * Extract and validate attributes.
+    */
+    if (xmlSchemaPValAttr(ctxt, NULL, NULL, node, 
+	"namespace", xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	&namespace) != 0) {
+	xmlSchemaPSimpleTypeErr(ctxt,	    
+	    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, 
+	    NULL, NULL, node, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	    NULL, namespace, NULL, NULL, NULL);
+	return (XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI);
+    }
+
+    if (xmlSchemaPValAttr(ctxt, NULL, NULL, node, 
+	"schemaLocation", xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	&schemaLocation) != 0) {
+	xmlSchemaPSimpleTypeErr(ctxt,	    
+	    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, 
+	    NULL, NULL, node, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), 
+	    NULL, namespace, NULL, NULL, NULL);
+	return (XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI);
+    }    
+    /*
+    * And now for the children...
+    */
+    child = node->children;
+    if (IS_SCHEMA(child, "annotation")) {
+        /*
+         * the annotation here is simply discarded ...
+         */
+        child = child->next;
+    }
+    if (child != NULL) {
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD,
+	    NULL, NULL, node, child, NULL,
+	    "(annotation?)");
+    }
+    /*
+    * Apply additional constraints.
+    */
+    if (namespace != NULL) {
+	/*
+	* 1.1 If the namespace [attribute] is present, then its ·actual value· 
+	* must not match the ·actual value· of the enclosing <schema>'s 
+	* targetNamespace [attribute].
+	*/
+	if (xmlStrEqual(schema->targetNamespace, namespace)) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_IMPORT_1_1,
+		NULL, NULL, node,
+		"The value of the attribute 'namespace' must not match "
+		"the target namespace '%s' of the importing schema",
+		schema->targetNamespace);
+	    return (XML_SCHEMAP_SRC_IMPORT_1_1);
+	}
+    } else {
+	/*
+	* 1.2 If the namespace [attribute] is not present, then the enclosing 
+	* <schema> must have a targetNamespace [attribute].
+	*/
+	if (schema->targetNamespace == NULL) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_IMPORT_1_2,
+		NULL, NULL, node,
+		"The attribute 'namespace' must be existent if "
+		"the importing schema has no target namespace",
+		NULL);
+	    return (XML_SCHEMAP_SRC_IMPORT_1_2);
+	}
+    }
+    /*
+    * Locate and aquire the schema document.
+    */
+    ret = xmlSchemaAcquireSchemaDoc(ctxt, schema, node, namespace, 
+	schemaLocation, &doc, &targetNamespace, 0);
+    if (ret != 0) {
+	if (doc != NULL)
+	    xmlFreeDoc(doc);
+	return (ret);
+    } else if (doc != NULL) {       
+	/*
+	* Save and reset the context & schema.
+	*/
+	url = ctxt->URL;  
+	/* TODO: Is using the doc->URL here correct? */
+	ctxt->URL = doc->URL;
+	flags = schema->flags;
+	oldTNS = schema->targetNamespace;
+	/*
+	* Parse the schema.
+	*/
+	root = xmlDocGetRootElement(doc);
+	xmlSchemaClearSchemaDefaults(schema);
+	xmlSchemaParseSchemaDefaults(ctxt, schema, root);
+	schema->targetNamespace = targetNamespace;
+	xmlSchemaParseSchemaTopLevel(ctxt, schema, root->children);
+	/*
+	* Restore the context & schema.
+	*/
+	schema->flags = flags;
+	schema->targetNamespace = oldTNS;
+	ctxt->URL = url;
+    }
+    
+    return (0);
+}
+
+/**
  * xmlSchemaParseInclude:
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
@@ -3969,53 +6860,72 @@
                       xmlNodePtr node)
 {
     xmlNodePtr child = NULL;
-    const xmlChar *schemaLocation;
-    xmlURIPtr check;
+    const xmlChar *schemaLocation, *targetNamespace;
     xmlDocPtr doc;
     xmlNodePtr root;
     xmlSchemaIncludePtr include;
+    int wasConvertingNs = 0;
+    xmlAttrPtr attr;
+    int saveFlags;
 
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (-1);
 
     /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "schemaLocation"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, NULL, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, NULL, attr);		
+	}
+	attr = attr->next;
+    }
+    /*
+    * Extract and validate attributes.
+    */
+    /*
      * Preliminary step, extract the URI-Reference for the include and
      * make an URI from the base.
      */
-    schemaLocation = xmlSchemaGetProp(ctxt, node, "schemaLocation");
-    if (schemaLocation != NULL) {
+    attr = xmlSchemaGetPropNode(node, "schemaLocation");
+    if (attr != NULL) {
         xmlChar *base = NULL;
-        xmlChar *URI = NULL;
-        check = xmlParseURI((const char *) schemaLocation);
-        if (check == NULL) {
-            xmlSchemaPErr2(ctxt, node, child,
-                           XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI,
-		       "Include schemaLocation attribute is not an URI: %s\n",
-                           schemaLocation, NULL);
-            return (-1);
-        } else {
-            xmlFreeURI(check);
-        }
+        xmlChar *uri = NULL;
+
+	if (xmlSchemaPValAttrNode(ctxt, NULL, NULL, attr,
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), &schemaLocation) != 0)
+	    return (-1);
 	base = xmlNodeGetBase(node->doc, node);
 	if (base == NULL) {
-	    URI = xmlBuildURI(schemaLocation, node->doc->URL);
+	    uri = xmlBuildURI(schemaLocation, node->doc->URL);
 	} else {
-	    URI = xmlBuildURI(schemaLocation, base);
+	    uri = xmlBuildURI(schemaLocation, base);
 	    xmlFree(base);
 	}
-	if (URI != NULL) {
-	    schemaLocation = xmlDictLookup(ctxt->dict, URI, -1);
-	    xmlFree(URI);
+	if (uri != NULL) {
+	    schemaLocation = xmlDictLookup(ctxt->dict, uri, -1);
+	    xmlFree(uri);
 	}
     } else {
-	xmlSchemaPErr2(ctxt, node, child,
-		       XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI,
-		   "Include schemaLocation attribute missing\n",
-		       NULL, NULL);
+	xmlSchemaPMissingAttrErr(ctxt, 
+	    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, 
+	    NULL, NULL, node, "schemaLocation", NULL);
 	return (-1);
     }
-
+    /*
+    * And now for the children...
+    */
     child = node->children;
     while (IS_SCHEMA(child, "annotation")) {
         /*
@@ -4024,9 +6934,10 @@
         child = child->next;
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD,
-                       "Include has unexpected content\n", NULL, NULL);
-        return (-1);
+	xmlSchemaPContentErr(ctxt, 
+	    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD,
+	    NULL, NULL, node, child, NULL,
+	    "(annotation?)");
     }
 
     /*
@@ -4035,10 +6946,16 @@
     doc = xmlReadFile((const char *) schemaLocation, NULL,
                       SCHEMAS_PARSE_OPTIONS);
     if (doc == NULL) {
-	xmlSchemaPErr(ctxt, NULL,
-		      XML_SCHEMAP_FAILED_LOAD,
-		      "xmlSchemaParse: could not load %s\n",
-		      ctxt->URL, NULL);
+	/*
+	* TODO: It is not an error for the ·actual value· of the 
+	* schemaLocation [attribute] to fail to resolve it all, in which 
+	* case no corresponding inclusion is performed. 
+	* So do we need a warning report here?
+	*/
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_FAILED_LOAD,
+	    NULL, NULL, node, 
+	    "Failed to load the document '%s' for inclusion", schemaLocation);
 	return(-1);
     }
 
@@ -4047,9 +6964,11 @@
      */
     root = xmlDocGetRootElement(doc);
     if (root == NULL) {
-	xmlSchemaPErr(ctxt, (xmlNodePtr) doc,
-		      XML_SCHEMAP_NOROOT,
-		      "schemas %s has no root", schemaLocation, NULL);
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_NOROOT,
+	    NULL, NULL, node,
+	    "The included document '%s' has no document "
+	    "element", schemaLocation);		
 	xmlFreeDoc(doc);
         return (-1);
     }
@@ -4063,14 +6982,49 @@
      * Check the schemas top level element
      */
     if (!IS_SCHEMA(root, "schema")) {
-	xmlSchemaPErr(ctxt, (xmlNodePtr) doc,
-		      XML_SCHEMAP_NOT_SCHEMA,
-		      "File %s is not a schema", schemaLocation, NULL);
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_NOT_SCHEMA,
+	    NULL, NULL, node,
+	    "The document '%s' to be included is not a schema document", 
+	    schemaLocation);
 	xmlFreeDoc(doc);
         return (-1);
     }
-
+    
+    targetNamespace = xmlSchemaGetProp(ctxt, root, "targetNamespace");
     /*
+    * 2.1 SII has a targetNamespace [attribute], and its ·actual 
+    * value· is identical to the ·actual value· of the targetNamespace 
+    * [attribute] of SII’ (which must have such an [attribute]).
+    */
+    if (targetNamespace != NULL) {
+	if (schema->targetNamespace == NULL) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_INCLUDE,
+		NULL, NULL, node,
+		"The target namespace of the included schema "
+		"'%s' has to be absent, since the including schema "
+		"has no target namespace", 
+		schemaLocation);
+	    xmlFreeDoc(doc);
+	    return (-1);
+	} else if (!xmlStrEqual(targetNamespace, schema->targetNamespace)) {
+	    xmlSchemaPCustomErrExt(ctxt,
+		XML_SCHEMAP_SRC_INCLUDE,
+		NULL, NULL, node,
+		"The target namespace '%s' of the included schema '%s' "
+		"differs from '%s' of the including schema", 
+		targetNamespace, schemaLocation, schema->targetNamespace);
+	    xmlFreeDoc(doc);
+	    return (-1);
+	}
+    } else if (schema->targetNamespace != NULL) {     	
+	if ((schema->flags & XML_SCHEMAS_INCLUDING_CONVERT_NS) == 0) {
+	    schema->flags |= XML_SCHEMAS_INCLUDING_CONVERT_NS;	    
+	} else
+	    wasConvertingNs = 1;
+    }
+    /*
      * register the include
      */
     include = (xmlSchemaIncludePtr) xmlMalloc(sizeof(xmlSchemaInclude));
@@ -4086,13 +7040,28 @@
     include->next = schema->includes;
     schema->includes = include;
 
-
     /*
      * parse the declarations in the included file like if they
      * were in the original file.
-     */
+     */    
+    /*
+    * TODO: The complete validation of the <schema> element is not done.
+    */
+    /*    
+    * The default values ("blockDefault", "elementFormDefault", etc.)
+    * are set to the values of the included schema and restored afterwards.
+    */    
+    saveFlags = schema->flags;
+    xmlSchemaClearSchemaDefaults(schema);
+    xmlSchemaParseSchemaDefaults(ctxt, schema, root);
     xmlSchemaParseSchemaTopLevel(ctxt, schema, root->children);
-
+    schema->flags = saveFlags;
+    /*
+    * Remove the converting flag.
+    */
+    if ((wasConvertingNs == 0) && 
+	(schema->flags & XML_SCHEMAS_INCLUDING_CONVERT_NS))
+	schema->flags ^= XML_SCHEMAS_INCLUDING_CONVERT_NS;
     return (1);
 }
 
@@ -4115,21 +7084,48 @@
     xmlSchemaTypePtr type, subtype, last = NULL;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
 
     snprintf((char *) name, 30, "choice %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->node = node;
     type->type = XML_SCHEMA_TYPE_CHOICE;
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "maxOccurs")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "minOccurs"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, type, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, type, attr);		
+	}
+	attr = attr->next;
+    }
+    /*
+    * Extract and validate attributes.
+    */
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-    type->minOccurs = xmlGetMinOccurs(ctxt, node);
-    type->maxOccurs = xmlGetMaxOccurs(ctxt, node);
-
+    type->minOccurs = xmlGetMinOccurs(ctxt, node, 0, -1, 1, "nonNegativeInteger");
+    type->maxOccurs = xmlGetMaxOccurs(ctxt, node, 0, UNBOUNDED, 1, 
+	"(nonNegativeInteger | unbounded)");
+    /*
+    * And now for the children...
+    */
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
@@ -4166,9 +7162,11 @@
         child = child->next;
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_CHOICE_CHILD,
-                       "Choice %s has unexpected content\n", type->name,
-                       NULL);
+	/* TODO: error code. */
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_UNKNOWN_CHOICE_CHILD,
+	    NULL, type, node, child, NULL,
+	    "(annotation?, (element | group | choice | sequence | any)*)");
     }
 
     return (type);
@@ -4193,21 +7191,50 @@
     xmlSchemaTypePtr type, subtype, last = NULL;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlAttrPtr attr;
+    const xmlChar *oldcontainer;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-
-    snprintf((char *) name, 30, "sequence %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    oldcontainer = ctxt->container;
+    snprintf((char *) name, 30, "#seq %d", ctxt->counter++ + 1);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->node = node;
     type->type = XML_SCHEMA_TYPE_SEQUENCE;
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "maxOccurs")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "minOccurs"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, type, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, type, attr);		
+	}
+	attr = attr->next;
+    }
+    /*
+    * Extract and validate attributes.
+    */
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-    type->minOccurs = xmlGetMinOccurs(ctxt, node);
-    type->maxOccurs = xmlGetMaxOccurs(ctxt, node);
-
+    type->minOccurs = xmlGetMinOccurs(ctxt, node, 0, -1, 1, "nonNegativeInteger");
+    type->maxOccurs = xmlGetMaxOccurs(ctxt, node, 0, UNBOUNDED, 1, 
+	"(nonNegativeInteger | unbounded)");
+    /*
+    * And now for the children...
+    */
+    ctxt->container = (const xmlChar *) name;
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
@@ -4244,11 +7271,12 @@
         child = child->next;
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD,
-                       "Sequence %s has unexpected content\n", type->name,
-                       NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD,
+	    NULL, type, node, child, NULL,
+	    "(annotation?, (element | group | choice | sequence | any)*)");
     }
+    ctxt->container = oldcontainer;
 
     return (type);
 }
@@ -4272,36 +7300,63 @@
     xmlNodePtr child = NULL;
     xmlChar name[30];
     const xmlChar *oldcontainer;
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
     oldcontainer = ctxt->container;
 
-    snprintf((char *) name, 30, "restriction %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    snprintf((char *) name, 30, "#restr %d", ctxt->counter++ + 1);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->type = XML_SCHEMA_TYPE_RESTRICTION;
     type->node = node;
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "base"))) {
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    NULL, type, attr);		    
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		NULL, type, attr);		
+	}
+	attr = attr->next;
+    }	
+    /*
+    * Extract and validate attributes.
+    */
     type->id = xmlSchemaGetProp(ctxt, node, "id");
+    /*
+    * Attribute "base".
+    */
     type->base = xmlGetQNameProp(ctxt, node, "base", &(type->baseNs));
     if ((type->base == NULL) && 
-	(ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT)) {
-        xmlSchemaPErr2(ctxt, node, child,
-	    XML_SCHEMAP_RESTRICTION_NONAME_NOREF,
-	    "Restriction \"%s\" must have a \"base\" attribute.\n", 
-	    type->name, NULL);
+	(ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX)) {
+	/* TODO: Think about the error code. */
+	xmlSchemaPMissingAttrErr(ctxt,
+	    XML_SCHEMAP_RESTRICTION_NONAME_NOREF, 
+	    NULL, type, node, "base", NULL);
     }
+    /*
+    * And now for the children...
+    */
     ctxt->container = name;
-
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
     subtype = NULL;
-
     if (ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) {
 	if (IS_SCHEMA(child, "all")) {
 	    subtype = (xmlSchemaTypePtr)
@@ -4323,30 +7378,46 @@
 	    child = child->next;
 	    type->subtypes = subtype;
 	}
-    } else if ((ctxt->ctxtType->type == XML_SCHEMA_TYPE_SIMPLE) ||
-	(ctxt->parentItem->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT)) {
-	xmlSchemaFacetPtr facet, lastfacet = NULL;	
-	
+    } else if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_SIMPLE) {
 	if (IS_SCHEMA(child, "simpleType")) {
+	    if (type->base != NULL) {
+		/* 
+		* src-restriction-base-or-simpleType
+		* Either the base [attribute] or the simpleType [child] of the 
+		* <restriction> element must be present, but not both. 
+		*/
+		xmlSchemaPContentErr(ctxt, 
+		    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE,
+		    NULL, NULL, type->node, child,
+		    "The attribute 'base' and the <simpleType> child are "
+		    "mutually exclusive", NULL);
+	    } else {
+		subtype = (xmlSchemaTypePtr)
+		    xmlSchemaParseSimpleType(ctxt, schema, child, 0);
+		type->baseType = subtype;
+	    }	        
+	    child = child->next;
+	}
+    } else if (ctxt->parentItem->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT) {
+	if (IS_SCHEMA(child, "simpleType")) {
 	    subtype = (xmlSchemaTypePtr)
 		xmlSchemaParseSimpleType(ctxt, schema, child, 0);
-	    /* 
-	    * For the simple type this serves as the base type.
-	    */
-	    type->baseType = subtype;
-	    /* 
-	    * For the complex type this serves as information for the 
-	    * definition of the content type.
-	    * Additionally this is a hack for the simple type, to save 
-	    * the information that a local simple type was defined; thus
-	    * allowing to check: src-restriction-base-or-simpleType.
-	    */
 	    type->subtypes = subtype;
 	    child = child->next;
-	}
+	}	        	
+    }
+    if ((ctxt->ctxtType->type == XML_SCHEMA_TYPE_SIMPLE) ||
+	(ctxt->parentItem->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT)) {
+	xmlSchemaFacetPtr facet, lastfacet = NULL;	
+		
 	/*
 	* Add the facets to the parent simpleType/complexType.
 	*/
+	/*
+	* TODO: Datatypes: 4.1.3 Constraints on XML Representation of 
+	* Simple Type Definition Schema Representation Constraint: 
+	* *Single Facet Value*
+	*/
 	while ((IS_SCHEMA(child, "minInclusive")) ||
 	    (IS_SCHEMA(child, "minExclusive")) ||
 	    (IS_SCHEMA(child, "maxInclusive")) ||
@@ -4380,7 +7451,7 @@
 	    do {		    
 		facetLink = (xmlSchemaFacetLinkPtr) xmlMalloc(sizeof(xmlSchemaFacetLink));
 		if (facetLink == NULL) {
-		    xmlSchemaPErrMemory(ctxt, "allocation a facet link", NULL);
+		    xmlSchemaPErrMemory(ctxt, "allocating a facet link", NULL);
 		    xmlFree(facetLink);
 		    return (NULL);
 		}	
@@ -4395,14 +7466,40 @@
 	    } while (facet != NULL);
 	}
     }    
-    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX)
-	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);	
+    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX) {
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+	if (IS_SCHEMA(child, "anyAttribute")) {
+	    ctxt->ctxtType->attributeWildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
+    }
     if (child != NULL) {
-	xmlSchemaPErr2(ctxt, node, child,
-	    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD,
-	    "Restriction \"%s\" has unexpected content.\n",
-	    type->name, NULL);
-    }   
+	/* TODO: Think about the error code. */
+	if (ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) {	    
+	    xmlSchemaPContentErr(ctxt, 
+		XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, 
+		NULL, type, node, child, NULL,
+		"annotation?, (group | all | choice | sequence)?, "
+		"((attribute | attributeGroup)*, anyAttribute?))");
+	} else if (ctxt->parentItem->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT) {
+	     xmlSchemaPContentErr(ctxt, 
+		XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, 
+		NULL, type, node, child, NULL,
+		"(annotation?, (simpleType?, (minExclusive | minInclusive | "
+		"maxExclusive | maxInclusive | totalDigits | fractionDigits | "
+		"length | minLength | maxLength | enumeration | whiteSpace | "
+		"pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?))");
+	} else {
+	    /* Simple type */
+	    xmlSchemaPContentErr(ctxt, 
+		XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, 
+		NULL, type, node, child, NULL,
+		"(annotation?, (simpleType?, (minExclusive | minInclusive | "
+		"maxExclusive | maxInclusive | totalDigits | fractionDigits | "
+		"length | minLength | maxLength | enumeration | whiteSpace | "
+		"pattern)*))");
+	}
+    }       
     ctxt->container = oldcontainer;
     return (type);
 }
@@ -4433,7 +7530,7 @@
     oldcontainer = ctxt->container;
 
     snprintf((char *) name, 30, "extension %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);    
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);    
     if (type == NULL)
         return (NULL);
     type->type = XML_SCHEMA_TYPE_EXTENSION;
@@ -4444,7 +7541,8 @@
     type->base = xmlGetQNameProp(ctxt, node, "base", &(type->baseNs));
     if (type->base == NULL) {
         xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_EXTENSION_NO_BASE,
-                       "Extension %s has no base\n", type->name, NULL);
+	    "<extension>: The attribute \"base\" is missing.\n", 
+	    type->name, NULL);
     }
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
@@ -4468,12 +7566,20 @@
     }
     if (subtype != NULL)
         type->subtypes = subtype;
-    child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+    if ((ctxt->ctxtType != NULL) &&
+	(ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX)) {
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+	if (IS_SCHEMA(child, "anyAttribute")) {	    
+	    ctxt->ctxtType->attributeWildcard = 
+		xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
+    }
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD,
-                       "Extension %s has unexpected content\n", type->name,
-                       NULL);
+	    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD,
+	    "<extension> has unexpected content.\n", type->name,
+	    NULL);
     }
     ctxt->container = oldcontainer;
     return (type);
@@ -4494,7 +7600,7 @@
 xmlSchemaParseSimpleContent(xmlSchemaParserCtxtPtr ctxt,
                             xmlSchemaPtr schema, xmlNodePtr node)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, oldParentItem;
     xmlNodePtr child = NULL;
     xmlChar name[30];
 
@@ -4502,7 +7608,7 @@
         return (NULL);
 
     snprintf((char *) name, 30, "simpleContent %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);    
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);    
     if (type == NULL)
         return (NULL);
     type->type = XML_SCHEMA_TYPE_SIMPLE_CONTENT;
@@ -4514,6 +7620,7 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    oldParentItem = ctxt->parentItem;
     ctxt->parentItem = type;
     subtype = NULL;    
     if (IS_SCHEMA(child, "restriction")) {
@@ -4528,10 +7635,11 @@
     type->subtypes = subtype;
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD,
-                       "SimpleContent %s has unexpected content\n",
-                       type->name, NULL);
+	    XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD,
+	    "<simpleContent> has unexpected content.\n",
+	    NULL, NULL);
     }
+    ctxt->parentItem = oldParentItem;
     return (type);
 }
 
@@ -4550,26 +7658,54 @@
 xmlSchemaParseComplexContent(xmlSchemaParserCtxtPtr ctxt,
                              xmlSchemaPtr schema, xmlNodePtr node)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, oldParentItem;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-    snprintf((char *) name, 30, "complexContent %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    snprintf((char *) name, 30, "#CC %d", ctxt->counter++ + 1);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL, node);
     if (type == NULL)
         return (NULL);
     type->type = XML_SCHEMA_TYPE_COMPLEX_CONTENT;
     type->node = node;    
+    /*
+    * Check for illegal attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if ((!xmlStrEqual(attr->name, BAD_CAST "id")) &&
+		(!xmlStrEqual(attr->name, BAD_CAST "mixed"))) 
+	    {
+		xmlSchemaPIllegalAttrErr(ctxt,
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		    NULL, NULL, attr);
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt,
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		NULL, NULL, attr);
+	}
+	attr = attr->next;
+    }	
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-
+    /*
+    * Handle attribute 'mixed'.
+    */
+    if (xmlGetBooleanProp(ctxt, NULL, type, node, "mixed", 0))  {
+	if ((ctxt->ctxtType->flags & XML_SCHEMAS_TYPE_MIXED) == 0)
+	    ctxt->ctxtType->flags |= XML_SCHEMAS_TYPE_MIXED;
+    }
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    oldParentItem = ctxt->parentItem;
     ctxt->parentItem = type;
     subtype = NULL;
     if (IS_SCHEMA(child, "restriction")) {
@@ -4583,11 +7719,12 @@
     }
     type->subtypes = subtype;
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD,
-                       "ComplexContent %s has unexpected content\n",
-                       type->name, NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+	    NULL, NULL, node, child,
+	    NULL, "(annotation?, (restriction | extension))");
     }
+    ctxt->parentItem = oldParentItem;
     return (type);
 }
 
@@ -4608,39 +7745,161 @@
 {
     xmlSchemaTypePtr type, subtype, ctxtType;
     xmlNodePtr child = NULL;
-    const xmlChar *name;
+    const xmlChar *name = NULL;
     const xmlChar *oldcontainer;    
-    char buf[100];
+    xmlAttrPtr attr;
+    const xmlChar *attrValue;
+    xmlChar *des = NULL; /* The reported designation. */
+    char buf[40];
 
+
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
     ctxtType = ctxt->ctxtType;
 
+    if (topLevel) {
+	attr = xmlSchemaGetPropNode(node, "name");
+	if (attr == NULL) {
+	    xmlSchemaPMissingAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_MISSING, 
+		(xmlChar **) &xmlSchemaElemDesCT, NULL, node,
+		"name", NULL);
+	    return (NULL);
+	} else if (xmlSchemaPValAttrNode(ctxt, 
+	    (xmlChar **) &xmlSchemaElemDesCT, NULL, attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME), &name) != 0) {
+	    return (NULL);
+	}
+    }
+            
+    if (topLevel == 0) {
+	/*
+	* Parse as local complex type definition.
+	*/
+        snprintf(buf, 39, "#CT %d", ctxt->counter++ + 1);
+	type = xmlSchemaAddType(ctxt, schema, (const xmlChar *)buf, NULL, node);
+	if (type == NULL)
+	    return (NULL);
+	name = (const xmlChar *) buf;
+	type->node = node;
+	type->type = XML_SCHEMA_TYPE_COMPLEX;
+	/*
+	* TODO: We need the target namespace.
+	*/	
+    } else {	
+	/*
+	* Parse as global complex type definition.
+	*/	
+	type = xmlSchemaAddType(ctxt, schema, name, schema->targetNamespace, node);
+	if (type == NULL)
+	    return (NULL);
+	type->node = node;
+	type->type = XML_SCHEMA_TYPE_COMPLEX;
+	type->flags |= XML_SCHEMAS_TYPE_GLOBAL;	
+	/* 
+	* Set defaults.
+	*/
+	type->flags |= XML_SCHEMAS_TYPE_FINAL_DEFAULT;
+	type->flags |= XML_SCHEMAS_TYPE_BLOCK_DEFAULT;
+    } 
+    /*
+    * Handle attributes.
+    */
+    attr = node->properties;
+    while (attr != NULL) {
+	if (attr->ns == NULL) {
+	    if (xmlStrEqual(attr->name, BAD_CAST "id")) {
+		/*
+		* Attribute "id".
+		*/
+		type->id = xmlSchemaGetProp(ctxt, node, "id");
+	    } else if (xmlStrEqual(attr->name, BAD_CAST "mixed")) {
+		/*
+		* Attribute "mixed".
+		*/
+		if (xmlSchemaPGetBoolNodeValue(ctxt, &des, type, 
+		    (xmlNodePtr) attr))
+		    type->flags |= XML_SCHEMAS_TYPE_MIXED; 		
+	    } else if (topLevel) {		
+		/*
+		* Attributes of global complex type definitions.
+		*/
+		if (xmlStrEqual(attr->name, BAD_CAST "name")) {
+		    /* Pass. */
+		} else if (xmlStrEqual(attr->name, BAD_CAST "abstract")) {
+		    /*
+		    * Attribute "abstract".
+		    */
+		    if (xmlSchemaPGetBoolNodeValue(ctxt, &des, type, 
+			(xmlNodePtr) attr))		    
+			type->flags |= XML_SCHEMAS_TYPE_ABSTRACT;
+		} else if (xmlStrEqual(attr->name, BAD_CAST "final")) {
+		    /*
+		    * Attribute "final".
+		    */
+		    attrValue = xmlSchemaGetNodeContent(ctxt, 
+			(xmlNodePtr) attr);
+		    if (xmlSchemaPValAttrBlockFinal(attrValue, 
+			&(type->flags), 
+			-1, 
+			XML_SCHEMAS_TYPE_FINAL_EXTENSION, 
+			XML_SCHEMAS_TYPE_FINAL_RESTRICTION, 
+			-1, -1, -1) != 0) 
+		    {
+			xmlSchemaPSimpleTypeErr(ctxt, 
+			    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+			    &des, type, (xmlNodePtr) attr, 
+			    NULL, 
+			    "(#all | List of (extension | restriction))", 
+			    attrValue, NULL, NULL, NULL);
+		    }
+		} else if (xmlStrEqual(attr->name, BAD_CAST "block")) {
+		    /*
+		    * Attribute "block".
+		    */			
+		    attrValue = xmlSchemaGetNodeContent(ctxt, 
+			(xmlNodePtr) attr);	    
+		    if (xmlSchemaPValAttrBlockFinal(attrValue, &(type->flags), 
+			-1,
+			XML_SCHEMAS_TYPE_BLOCK_EXTENSION,
+			XML_SCHEMAS_TYPE_BLOCK_RESTRICTION, 
+			-1, -1, -1) != 0) {
+			xmlSchemaPSimpleTypeErr(ctxt,
+			    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
+			    &des, type, (xmlNodePtr) attr,
+			    NULL, 
+			    "(#all | List of (extension | restriction)) ", 
+			    attrValue, NULL, NULL, NULL);
+		    }
+		} else {
+			xmlSchemaPIllegalAttrErr(ctxt, 
+			    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+			    &des, type, attr);
+		}
+	    } else {	    
+		xmlSchemaPIllegalAttrErr(ctxt, 
+		    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		    &des, type, attr);
+	    }
+	} else if (xmlStrEqual(attr->ns->href, xmlSchemaNs)) {
+	    xmlSchemaPIllegalAttrErr(ctxt, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, 
+		&des, type, attr);	
+	}
+	attr = attr->next;
+    }       
+    /* 
+    * Set as default for attribute wildcards.
+    * This will be only changed if a complex type
+    * inherits an attribute wildcard from a base type.
+    */
+    type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
+    /*
+    * And now for the children...
+    */
     oldcontainer = ctxt->container;
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
-        snprintf(buf, 99, "complexType %d", ctxt->counter++ + 1);
-	name = (const xmlChar *)buf;
-	type = xmlSchemaAddType(ctxt, schema, name, NULL);
-    } else {
-
-        /* local = xmlSchemaGetNamespace(ctxt, schema, node, name, &ns); */
-	type = xmlSchemaAddType(ctxt, schema, name, schema->targetNamespace);
-    }
-    if (type == NULL) {
-        return (NULL);
-    }
-    if (xmlGetBooleanProp(ctxt, node, "mixed", 0)) 
-	type->flags |= XML_SCHEMAS_TYPE_MIXED;    
-
-    type->node = node;
-    type->type = XML_SCHEMA_TYPE_COMPLEX;
-    if (topLevel) 
-        type->flags |= XML_SCHEMAS_TYPE_GLOBAL;
-    type->id = xmlSchemaGetProp(ctxt, node, "id");
-    ctxt->container = name;
-
+    ctxt->container = name;    
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
@@ -4648,10 +7907,11 @@
     }
     ctxt->ctxtType = type;
     if (IS_SCHEMA(child, "simpleContent")) {
-	/* 3.4.3 : 2.2  
-	 * Specifying mixed='true' when the <simpleContent>
-	 * alternative is chosen has no effect
-	 */
+	/* 
+	* 3.4.3 : 2.2  
+	* Specifying mixed='true' when the <simpleContent>
+	* alternative is chosen has no effect
+	*/
 	if (type->flags & XML_SCHEMAS_TYPE_MIXED)
 	    type->flags ^= XML_SCHEMAS_TYPE_MIXED;
         type->subtypes = xmlSchemaParseSimpleContent(ctxt, schema, child);
@@ -4661,7 +7921,9 @@
         child = child->next;
     } else {
         subtype = NULL;
-
+	/*
+	* Parse model groups.
+	*/
         if (IS_SCHEMA(child, "all")) {
             subtype = xmlSchemaParseAll(ctxt, schema, child);
             child = child->next;
@@ -4677,16 +7939,27 @@
         }
         if (subtype != NULL)
             type->subtypes = subtype;
+	/*
+	* Parse attribute decls/refs.
+	*/
         child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+	/*
+	* Parse attribute wildcard.
+	*/
+	if (IS_SCHEMA(child, "anyAttribute")) {	    
+	    type->attributeWildcard = xmlSchemaParseAnyAttribute(ctxt, schema, child);
+	    child = child->next;
+	}
     }
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD,
-                       "ComplexType %s has unexpected content\n",
-                       type->name, NULL);
+	xmlSchemaPContentErr(ctxt,
+	    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, 
+	    &des, type, node, child,
+	    NULL, "(annotation?, (simpleContent | complexContent | "
+	    "((group | all | choice | sequence)?, ((attribute | "
+	    "attributeGroup)*, anyAttribute?))))");
     }
-    if (type->attributeWildcard != NULL)
-	type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
+    FREE_AND_NULL(des);
     ctxt->container = oldcontainer;
     ctxt->ctxtType = ctxtType;
     return (type);
@@ -4707,100 +7980,71 @@
 xmlSchemaParseSchema(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node)
 {
     xmlSchemaPtr schema = NULL;
-    xmlNodePtr child = NULL;
     const xmlChar *val;
     int nberrors;
+    xmlAttrPtr attr;
 
+    /*
+    * This one is called by xmlSchemaParse only and is used if
+    * the schema to be parsed was specified via the API; i.e. not
+    * automatically by the validated instance document.
+    */
     if ((ctxt == NULL) || (node == NULL))
         return (NULL);
     
     nberrors = ctxt->nberrors;
     ctxt->nberrors = 0;
     if (IS_SCHEMA(node, "schema")) {
+	xmlSchemaImportPtr import;
+
         schema = xmlSchemaNewSchema(ctxt);
         if (schema == NULL)
             return (NULL);
-	val = xmlSchemaGetProp(ctxt, node, "targetNamespace");
-	if (val != NULL) {
+	/*
+	* Disable build of list of items.
+	*/
+	attr = xmlSchemaGetPropNode(node, "targetNamespace"); 		
+	if (attr != NULL) {
+	    xmlSchemaPValAttrNode(ctxt, NULL, NULL, attr, 
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYURI), &val);
+	    /*
+	    * TODO: Should we proceed with an invalid target namespace?
+	    */
 	    schema->targetNamespace = xmlDictLookup(ctxt->dict, val, -1);
 	} else {
 	    schema->targetNamespace = NULL;
 	}
-        schema->id = xmlSchemaGetProp(ctxt, node, "id");
-        schema->version = xmlSchemaGetProp(ctxt, node, "version");
-        val = xmlSchemaGetProp(ctxt, node, "elementFormDefault");
-        if (val != NULL) {
-            if (xmlStrEqual(val, BAD_CAST "qualified"))
-                schema->flags |= XML_SCHEMAS_QUALIF_ELEM;
-            else if (!xmlStrEqual(val, BAD_CAST "unqualified")) {
-                xmlSchemaPErr2(ctxt, node, child,
-                               XML_SCHEMAP_ELEMFORMDEFAULT_VALUE,
-                               "Invalid value %s for elementFormDefault\n",
-                               val, NULL);
-            }
-        } else {
-	    /* Removed, since the default value for elementFormDefault
-	    * is "unqualified".
-	    */
-	    /* schema->flags |= XML_SCHEMAS_QUALIF_ELEM; */
+	/*
+	* Add the current ns name and location to the import table;
+	* this is needed to have a consistent mechanism, regardless
+	* if all schemata are constructed dynamically fired by the
+	* instance or if the schema to be used was specified via
+	* the API.
+	*/
+	import = xmlSchemaAddImport(ctxt, &(schema->schemasImports),
+	    schema->targetNamespace);
+	if (import == NULL) {
+	    xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_FAILED_BUILD_IMPORT,
+		NULL, NULL, (xmlNodePtr) ctxt->doc,
+		"Internal error: xmlSchemaParseSchema, "
+		"failed to add an import entry", NULL);
+	    xmlSchemaFree(schema);
+	    schema = NULL;
+	    return (NULL);
 	}
-        val = xmlSchemaGetProp(ctxt, node, "attributeFormDefault");
-        if (val != NULL) {
-            if (xmlStrEqual(val, BAD_CAST "qualified"))
-                schema->flags |= XML_SCHEMAS_QUALIF_ATTR;
-            else if (!xmlStrEqual(val, BAD_CAST "unqualified")) {
-                xmlSchemaPErr2(ctxt, node, child,
-                               XML_SCHEMAP_ATTRFORMDEFAULT_VALUE,
-                               "Invalid value %s for attributeFormDefault\n",
-                               val, NULL);
-            }
-        } 
+	import->schemaLocation = ctxt->URL;
+	/*
+	* NOTE: We won't set the doc here, otherwise it will be freed
+	* if the import struct is freed.
+	* import->doc = ctxt->doc;
+	*/
 
-	val = xmlSchemaGetProp(ctxt, node, "finalDefault");
-	if (val != NULL) {
-	    if (xmlStrEqual(val, BAD_CAST "#all")) {
-		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_EXTENSION; 
-		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION; 
-		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_LIST; 
-		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_UNION; 		
-	    } else {
-		const xmlChar *end, *cur = val;
-		xmlChar *item;
-		
-		do {
-		    while (IS_BLANK_CH(*cur))
-			cur++;
-		    end = cur;
-		    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
-			end++;
-		    if (end == cur)
-			break;
-		    item = xmlStrndup(cur, end - cur);    	    
-		    if (xmlStrEqual(item, BAD_CAST "extension")) {
-			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_EXTENSION) == 0)
-			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_EXTENSION; 
-		    } else if (xmlStrEqual(item, BAD_CAST "restriction")) {
-			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION) == 0)
-			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION; 
-		    } else if (xmlStrEqual(item, BAD_CAST "list")) {
-			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_LIST) == 0)
-			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_LIST; 
-		    } else if (xmlStrEqual(item, BAD_CAST "union")) {
-			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_UNION) == 0)
-			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_UNION; 
-		    } else {
-			xmlSchemaPErr(ctxt, node, 
-			    XML_SCHEMAS_ERR_INTERNAL,
-			    "Invalid value for the attribute \"finalDefault\".\n",
-			    NULL, NULL);			    		    
-		    }
-		    if (item != NULL)
-			xmlFree(item);
-		    cur = end;
-		} while (*cur != 0); 
-	    }
-	}
+	/* TODO: Check id. */
+        schema->id = xmlSchemaGetProp(ctxt, node, "id");
+	xmlSchemaPValAttr(ctxt, NULL, NULL, node, "version", 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_TOKEN), &(schema->version));
 
+	xmlSchemaParseSchemaDefaults(ctxt, schema, node);	
         xmlSchemaParseSchemaTopLevel(ctxt, schema, node->children);
     } else {
         xmlDocPtr doc;
@@ -4810,11 +8054,11 @@
         if ((doc != NULL) && (doc->URL != NULL)) {
 	    xmlSchemaPErr(ctxt, (xmlNodePtr) doc,
 		      XML_SCHEMAP_NOT_SCHEMA,
-		      "File %s is not a schemas", doc->URL, NULL);
+		      "The file \"%s\" is not a XML schema.\n", doc->URL, NULL);
 	} else {
 	    xmlSchemaPErr(ctxt, (xmlNodePtr) doc,
 		      XML_SCHEMAP_NOT_SCHEMA,
-		      "File is not a schemas", NULL, NULL);
+		      "The file is not a XML schema.\n", NULL, NULL);
 	}
 	return(NULL);
     }
@@ -4824,6 +8068,8 @@
             schema = NULL;
         }
     }
+    if (schema != NULL)
+	schema->counter = ctxt->counter;
     ctxt->nberrors = nberrors;
 #ifdef DEBUG
     if (schema == NULL)
@@ -4845,7 +8091,62 @@
  * 									*
  ************************************************************************/
 
+#if 0 /* Will be enabled if it is clear what options are needed. */
 /**
+ * xmlSchemaParserCtxtSetOptions:
+ * @ctxt:	a schema parser context
+ * @options: a combination of xmlSchemaParserOption
+ *
+ * Sets the options to be used during the parse.
+ *
+ * Returns 0 in case of success, -1 in case of an
+ * API error.
+ */
+static int
+xmlSchemaParserCtxtSetOptions(xmlSchemaParserCtxtPtr ctxt,
+			      int options)
+					
+{
+    int i;
+
+    if (ctxt == NULL)
+	return (-1);
+    /*
+    * WARNING: Change the start value if adding to the
+    * xmlSchemaParseOption.
+    */
+    for (i = 1; i < (int) sizeof(int) * 8; i++) {
+        if (options & 1<<i) {
+	    return (-1);   
+        }	
+    }
+    ctxt->options = options;
+    return (0);      
+}
+
+/**
+ * xmlSchemaValidCtxtGetOptions:
+ * @ctxt: a schema parser context 
+ *
+ * Returns the option combination of the parser context.
+ */
+static int
+xmlSchemaParserCtxtGetOptions(xmlSchemaParserCtxtPtr ctxt)
+					
+{    
+    if (ctxt == NULL)
+	return (-1);
+    else 
+	return (ctxt->options);    
+}
+
+ void *curItems;  /* used for dynamic addition of schemata */
+    int nbCurItems; /* used for dynamic addition of schemata */
+    int sizeCurItems; /* used for dynamic addition of schemata */
+
+#endif
+
+/**
  * xmlSchemaNewParserCtxt:
  * @URL:  the location of the schema
  *
@@ -4864,7 +8165,7 @@
 
     ret = (xmlSchemaParserCtxtPtr) xmlMalloc(sizeof(xmlSchemaParserCtxt));
     if (ret == NULL) {
-        xmlSchemaPErrMemory(NULL, "allocating schama parser context",
+        xmlSchemaPErrMemory(NULL, "allocating schema parser context",
                             NULL);
         return (NULL);
     }
@@ -4876,6 +8177,41 @@
 }
 
 /**
+ * xmlSchemaNewParserCtxtUseDict:
+ * @URL:  the location of the schema
+ * @dict: the dictionary to be used
+ *
+ * Create an XML Schemas parse context for that file/resource expected
+ * to contain an XML Schemas file.
+ *
+ * Returns the parser context or NULL in case of error
+ */
+static xmlSchemaParserCtxtPtr
+xmlSchemaNewParserCtxtUseDict(const char *URL, xmlDictPtr dict)
+{
+    xmlSchemaParserCtxtPtr ret;
+    /*
+    if (URL == NULL)
+        return (NULL);
+	*/
+
+    ret = (xmlSchemaParserCtxtPtr) xmlMalloc(sizeof(xmlSchemaParserCtxt));
+    if (ret == NULL) {
+        xmlSchemaPErrMemory(NULL, "allocating schema parser context",
+                            NULL);
+        return (NULL);
+    }
+    memset(ret, 0, sizeof(xmlSchemaParserCtxt));
+    ret->dict = dict;
+    xmlDictReference(dict);    
+    if (URL != NULL)
+	ret->URL = xmlDictLookup(dict, (const xmlChar *) URL, -1);
+    ret->includes = 0;
+    return (ret);
+}
+
+
+/**
  * xmlSchemaNewMemParserCtxt:
  * @buffer:  a pointer to a char array containing the schemas
  * @size:  the size of the array
@@ -4895,7 +8231,7 @@
 
     ret = (xmlSchemaParserCtxtPtr) xmlMalloc(sizeof(xmlSchemaParserCtxt));
     if (ret == NULL) {
-        xmlSchemaPErrMemory(NULL, "allocating schama parser context",
+        xmlSchemaPErrMemory(NULL, "allocating schema parser context",
                             NULL);
         return (NULL);
     }
@@ -4951,6 +8287,13 @@
         return;
     if (ctxt->doc != NULL && !ctxt->preserve)
         xmlFreeDoc(ctxt->doc);
+    if (ctxt->assemble != NULL) {
+	xmlFree((xmlSchemaTypePtr *) ctxt->assemble->items);
+	xmlFree(ctxt->assemble);
+    }
+    if (ctxt->vctxt != NULL) {
+	xmlSchemaFreeValidCtxt(ctxt->vctxt);
+    }
     xmlDictFree(ctxt->dict);
     xmlFree(ctxt);
 }
@@ -4981,125 +8324,219 @@
         return;
     }
     switch (type->type) {
-        case XML_SCHEMA_TYPE_ANY:
-            /* TODO : handle the namespace too */
-            /* TODO : make that a specific transition type */
-	    /* Daniel says: use xmlAutomataNewTransition2 */
-            TODO ctxt->state =
-                xmlAutomataNewTransition(ctxt->am, ctxt->state, NULL,
-                                         BAD_CAST "*", NULL);
+	case XML_SCHEMA_TYPE_ANY: {   
+	    xmlAutomataStatePtr start, end;
+	    xmlSchemaWildcardPtr wild;	    
+	    xmlSchemaWildcardNsPtr ns;
+
+	    wild = type->attributeWildcard;
+
+	    if (wild == NULL) {
+		xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_INTERNAL,
+		    "Internal error: xmlSchemaBuildAContentModel, "
+		    "no wildcard on xsd:any.\n", NULL, NULL);
+		return;
+	    }	     
+	    
+	    start = ctxt->state;
+	    end = xmlAutomataNewState(ctxt->am);
+	    
+	    if (type->maxOccurs == 1) {		
+		if (wild->any == 1) {
+		    /*
+		    * We need to add both transitions:
+		    *
+		    * 1. the {"*", "*"} for elements in a namespace.
+		    */		    
+		    ctxt->state = 
+			xmlAutomataNewTransition2(ctxt->am,
+			start, NULL, BAD_CAST "*", BAD_CAST "*", type);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, end);
+		    /*
+		    * 2. the {"*"} for elements in no namespace.
+		    */
+		    ctxt->state = 
+			xmlAutomataNewTransition2(ctxt->am,
+			start, NULL, BAD_CAST "*", NULL, type);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, end);
+
+		} else if (wild->nsSet != NULL) {
+		    ns = wild->nsSet;
+		    do {
+			ctxt->state = start;
+			ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			    ctxt->state, NULL, BAD_CAST "*", ns->value, type);
+			xmlAutomataNewEpsilon(ctxt->am, ctxt->state, end);
+			ns = ns->next;
+		    } while (ns != NULL);
+
+		} else if (wild->negNsSet != NULL) {
+		    xmlAutomataStatePtr deadEnd;
+
+		    deadEnd = xmlAutomataNewState(ctxt->am);
+		    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			start, deadEnd, BAD_CAST "*", wild->negNsSet->value, type);
+		    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			start, NULL, BAD_CAST "*", BAD_CAST "*", type);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, end);
+		}		
+	    } else {
+		int counter;
+		xmlAutomataStatePtr hop;
+		int maxOccurs = 
+		    type->maxOccurs == UNBOUNDED ? UNBOUNDED : type->maxOccurs - 1;
+		int minOccurs =
+		    type->minOccurs < 1 ? 0 : type->minOccurs - 1;
+		
+		counter = xmlAutomataNewCounter(ctxt->am, minOccurs, maxOccurs);
+		hop = xmlAutomataNewState(ctxt->am);		
+		if (wild->any == 1) {		    
+		    ctxt->state =
+			xmlAutomataNewTransition2(ctxt->am,
+			start, NULL, BAD_CAST "*", BAD_CAST "*", type);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, hop);
+		    ctxt->state = 
+			xmlAutomataNewTransition2(ctxt->am,
+			start, NULL, BAD_CAST "*", NULL, type);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, hop);
+		} else if (wild->nsSet != NULL) {		    
+		    ns = wild->nsSet;
+		    do {
+			ctxt->state = 
+			    xmlAutomataNewTransition2(ctxt->am,
+				start, NULL, BAD_CAST "*", ns->value, type);
+			xmlAutomataNewEpsilon(ctxt->am, ctxt->state, hop);
+			ns = ns->next;
+		    } while (ns != NULL);
+
+		} else if (wild->negNsSet != NULL) {
+		    xmlAutomataStatePtr deadEnd;
+
+		    deadEnd = xmlAutomataNewState(ctxt->am);
+		    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			start, deadEnd, BAD_CAST "*", wild->negNsSet->value, type);
+		    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			start, NULL, BAD_CAST "*", BAD_CAST "*", type);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, hop);
+		}	
+		xmlAutomataNewCountedTrans(ctxt->am, hop, start, counter);
+		xmlAutomataNewCounterTrans(ctxt->am, hop, end, counter);
+	    }
+	    if (type->minOccurs == 0) {
+		xmlAutomataNewEpsilon(ctxt->am, start, end);
+	    }	    	    				            
+	    ctxt->state = end;
             break;
+	}
         case XML_SCHEMA_TYPE_ELEMENT:{
-                xmlSchemaElementPtr elem = (xmlSchemaElementPtr) type;
+		xmlAutomataStatePtr oldstate;
+                xmlSchemaElementPtr particle, elemDecl;
 
-                /* TODO : handle the namespace too */
-                xmlAutomataStatePtr oldstate = ctxt->state;
+		/*
+		* IMPORTANT: This puts element declarations
+		* (and never element decl. references) into the
+		* automaton. This is crucial and should not be changed, 
+		* since validating functions rely now on it.
+		*/
+		particle = (xmlSchemaElementPtr) type;
+		if (particle->ref != NULL) {
+		    if (particle->refDecl == NULL) {
+			/*
+			* Skip content model creation if the reference
+			* did not resolve to a declaration.
+			*/
+			break;
+		    } else {
+			/*
+			* Referenced global element declaration.
+			*/
+			elemDecl = particle->refDecl;
+		    }
+		} else {
+		    /*
+		    * Anonymous element declaration.
+		    */
+		    elemDecl = particle;
+		}
+		
+                oldstate = ctxt->state;
 
-                if (elem->maxOccurs >= UNBOUNDED) {
-                    if (elem->minOccurs > 1) {
+                if (particle->maxOccurs >= UNBOUNDED) {
+                    if (particle->minOccurs > 1) {
                         xmlAutomataStatePtr tmp;
                         int counter;
 
                         ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
-                                                            oldstate,
-                                                            NULL);
+			    oldstate, NULL);
                         oldstate = ctxt->state;
-
                         counter = xmlAutomataNewCounter(ctxt->am,
-                                                        elem->minOccurs -
-                                                        1, UNBOUNDED);
-
-                        if (elem->refDecl != NULL) {
-                            xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                        elem->refDecl,
-                                                        ctxt,
-                                                        elem->refDecl->
-                                                        name);
-                        } else {
-                            ctxt->state =
-                                xmlAutomataNewTransition(ctxt->am,
-                                                         ctxt->state, NULL,
-                                                         elem->name, type);
-                        }
+			    particle->minOccurs - 1, UNBOUNDED);                      
+                        ctxt->state =                            
+			    xmlAutomataNewTransition2(ctxt->am,
+				ctxt->state, NULL, 
+				elemDecl->name, 
+				elemDecl->targetNamespace,
+				(xmlSchemaTypePtr) elemDecl);
                         tmp = ctxt->state;
                         xmlAutomataNewCountedTrans(ctxt->am, tmp, oldstate,
-                                                   counter);
+			    counter);
                         ctxt->state =
                             xmlAutomataNewCounterTrans(ctxt->am, tmp, NULL,
-                                                       counter);
+				counter);
 
-                    } else {
-                        if (elem->refDecl != NULL) {
-                            xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                        elem->refDecl,
-                                                        ctxt,
-                                                        elem->refDecl->
-                                                        name);
-                        } else {
-                            ctxt->state =
-                                xmlAutomataNewTransition(ctxt->am,
-                                                         ctxt->state, NULL,
-                                                         elem->name, type);
-                        }
+                    } else {                        
+			ctxt->state =
+			    xmlAutomataNewTransition2(ctxt->am,
+			    ctxt->state, NULL,
+			    elemDecl->name, 
+			    elemDecl->targetNamespace,
+			    (xmlSchemaTypePtr) elemDecl);
                         xmlAutomataNewEpsilon(ctxt->am, ctxt->state,
                                               oldstate);
-                        if (elem->minOccurs == 0) {
+                        if (particle->minOccurs == 0) {
                             /* basically an elem* */
                             xmlAutomataNewEpsilon(ctxt->am, oldstate,
                                                   ctxt->state);
                         }
                     }
-                } else if ((elem->maxOccurs > 1) || (elem->minOccurs > 1)) {
+                } else if ((particle->maxOccurs > 1) || (particle->minOccurs > 1)) {
                     xmlAutomataStatePtr tmp;
                     int counter;
 
                     ctxt->state = xmlAutomataNewEpsilon(ctxt->am,
                                                         oldstate, NULL);
                     oldstate = ctxt->state;
-
                     counter = xmlAutomataNewCounter(ctxt->am,
-                                                    elem->minOccurs - 1,
-                                                    elem->maxOccurs - 1);
-
-                    if (elem->refDecl != NULL) {
-                        xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                    elem->refDecl, ctxt,
-                                                    elem->refDecl->name);
-                    } else {
-                        ctxt->state = xmlAutomataNewTransition(ctxt->am,
-                                                               ctxt->state,
-                                                               NULL,
-                                                               elem->name,
-                                                               type);
-                    }
+			particle->minOccurs - 1,
+			particle->maxOccurs - 1);
+                    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			ctxt->state,
+			NULL,
+			elemDecl->name,
+			elemDecl->targetNamespace,
+			(xmlSchemaTypePtr) elemDecl);
                     tmp = ctxt->state;
                     xmlAutomataNewCountedTrans(ctxt->am, tmp, oldstate,
-                                               counter);
+			counter);
                     ctxt->state = xmlAutomataNewCounterTrans(ctxt->am, tmp,
-                                                             NULL,
-                                                             counter);
-                    if (elem->minOccurs == 0) {
+			NULL, counter);
+                    if (particle->minOccurs == 0) {
                         /* basically an elem? */
                         xmlAutomataNewEpsilon(ctxt->am, oldstate,
-                                              ctxt->state);
+			    ctxt->state);
                     }
 
-                } else {
-                    if (elem->refDecl != NULL) {
-                        xmlSchemaBuildAContentModel((xmlSchemaTypePtr)
-                                                    elem->refDecl, ctxt,
-                                                    elem->refDecl->name);
-                    } else {
-                        ctxt->state = xmlAutomataNewTransition(ctxt->am,
-                                                               ctxt->state,
-                                                               NULL,
-                                                               elem->name,
-                                                               type);
-                    }
-                    if (elem->minOccurs == 0) {
+                } else {                    
+		    ctxt->state = xmlAutomataNewTransition2(ctxt->am,
+			ctxt->state,
+			NULL,
+			elemDecl->name,
+			elemDecl->targetNamespace,
+			(xmlSchemaTypePtr) elemDecl);
+                    if (particle->minOccurs == 0) {
                         /* basically an elem? */
                         xmlAutomataNewEpsilon(ctxt->am, oldstate,
-                                              ctxt->state);
+			    ctxt->state);
                     }
                 }
                 break;
@@ -5267,10 +8704,7 @@
         case XML_SCHEMA_TYPE_ALL:{
                 xmlAutomataStatePtr start;
                 xmlSchemaTypePtr subtypes;
-		/* 
-		 * Changed, since type in not an xmlSchemaElement here.
-		 */
-                /* xmlSchemaElementPtr elem = (xmlSchemaElementPtr) type; */
+
 		xmlSchemaElementPtr elem;
                 int lax;
 
@@ -5287,19 +8721,32 @@
 		     */
 		    if (subtypes->ref != NULL)
 		        xmlSchemaBuildAContentModel(subtypes, ctxt, name);
-                    elem = (xmlSchemaElementPtr) subtypes;		    
-                    /* TODO : handle the namespace too */
+                    elem = (xmlSchemaElementPtr) subtypes;		  
+		    /*
+		    * NOTE: The {max occurs} of all the particles in the 
+		    * {particles} of the group must be 0 or 1.
+		    */                    
                     if ((elem->minOccurs == 1) && (elem->maxOccurs == 1)) {
-                        xmlAutomataNewOnceTrans(ctxt->am, ctxt->state,
-                                                ctxt->state, elem->name, 1,
-                                                1, subtypes);
-                    } else {
-                        xmlAutomataNewCountTrans(ctxt->am, ctxt->state,
-                                                 ctxt->state, elem->name,
-                                                 elem->minOccurs,
-                                                 elem->maxOccurs,
+                        xmlAutomataNewOnceTrans2(ctxt->am, ctxt->state,
+                                                ctxt->state, 
+						elem->name, 
+						elem->targetNamespace,
+						1, 1, subtypes);
+                    } else if ((elem->minOccurs == 0) &&
+			(elem->maxOccurs == 1)) {
+			
+                        xmlAutomataNewCountTrans2(ctxt->am, ctxt->state,
+                                                 ctxt->state, 
+						 elem->name,
+						 elem->targetNamespace,
+                                                 0,
+                                                 1,
                                                  subtypes);
                     }
+		    /*
+		    * NOTE: if maxOccurs == 0 then no transition will be
+		    * created.
+		    */
                     subtypes = subtypes->next;
                 }
                 lax = type->minOccurs == 0;
@@ -5315,12 +8762,18 @@
         case XML_SCHEMA_TYPE_EXTENSION:
             if (type->baseType != NULL) {
                 xmlSchemaTypePtr subtypes;
-
+		
+		/*
+		* TODO: Circular definitions will be checked at the
+		* constraint level. So remove this when the complex type
+		* constraints are implemented.
+		*/
 		if (type->recurse) { 
-		    xmlSchemaPErr(ctxt, type->node, 
-		                  XML_SCHEMAP_UNKNOWN_BASE_TYPE, 
-			    "Schemas: extension type %s is recursive\n", 
-				  type->name, NULL); 
+		    /* TODO: Change the error code. */
+		    xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_UNKNOWN_BASE_TYPE,
+			    NULL, type, type->node,	
+			    "This item is circular", NULL);		     
 		    return; 
                 }
                 type->recurse = 1; 
@@ -5335,27 +8788,57 @@
                 xmlSchemaBuildAContentModel(type->subtypes, ctxt, name);
             break;
         case XML_SCHEMA_TYPE_GROUP:
-            if (type->subtypes == NULL) {
-	        xmlSchemaTypePtr rgroup;
-		if (type->ref != NULL) {
-		    rgroup = xmlSchemaGetGroup(ctxt->schema, type->ref,
-		    			   type->refNs);
-		    if (rgroup == NULL) {
-		        xmlSchemaPErr(ctxt, type->node,
-				      XML_SCHEMAP_UNKNOWN_REF,
-				"Schemas: group %s reference %s is not found",
-				name, type->ref);
-			return;
-		    }
-		    xmlSchemaBuildAContentModel(rgroup, ctxt, name);
-		    break;
-		}
-            }
+	    /*
+	    * Handle model group definition references. 
+	    * NOTE: type->subtypes is the referenced model grop definition;
+	    * and type->subtypes->subtypes is the model group (i.e. <all> or 
+	    * <choice> or <sequence>).
+	    */
+	    if ((type->ref != NULL) && (type->subtypes != NULL) &&
+		(type->subtypes->subtypes != NULL)) {
+		xmlSchemaTypePtr modelGr;
+                xmlAutomataStatePtr start, end;
+
+		modelGr = type->subtypes->subtypes;
+                start = ctxt->state;
+                end = xmlAutomataNewState(ctxt->am);		
+                if (type->maxOccurs == 1) {
+		    ctxt->state = start;
+		    xmlSchemaBuildAContentModel(modelGr, ctxt, name);
+		    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, end);
+                } else {
+                    int counter;
+                    xmlAutomataStatePtr hop;
+                    int maxOccurs = type->maxOccurs == UNBOUNDED ?
+				    UNBOUNDED : type->maxOccurs - 1;
+                    int minOccurs =
+                        type->minOccurs < 1 ? 0 : type->minOccurs - 1;
+		    
+                    counter =
+                        xmlAutomataNewCounter(ctxt->am, minOccurs, maxOccurs);
+                    hop = xmlAutomataNewState(ctxt->am);		                        
+                    ctxt->state = start;
+                    xmlSchemaBuildAContentModel(modelGr, ctxt, name);
+                    xmlAutomataNewEpsilon(ctxt->am, ctxt->state, hop);
+                    xmlAutomataNewCountedTrans(ctxt->am, hop, start,
+			counter);
+                    xmlAutomataNewCounterTrans(ctxt->am, hop, end,
+			counter);
+                }
+                if (type->minOccurs == 0) {
+                    xmlAutomataNewEpsilon(ctxt->am, start, end);
+                }
+                ctxt->state = end;
+                break;
+	    }
+	    break;
         case XML_SCHEMA_TYPE_COMPLEX:
         case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
             if (type->subtypes != NULL)
                 xmlSchemaBuildAContentModel(type->subtypes, ctxt, name);
             break;
+	case XML_SCHEMA_TYPE_SIMPLE_CONTENT:
+	    break;
         default:
             xmlGenericError(xmlGenericErrorContext,
                             "Found unexpected type %d in %s content model\n",
@@ -5366,30 +8849,24 @@
 
 /**
  * xmlSchemaBuildContentModel:
- * @elem:  the element
+ * @type:  the type definition (or reference)
  * @ctxt:  the schema parser context
  * @name:  the element name
  *
- * Builds the content model of the element.
+ * Builds the content model of the complex type.
  */
 static void
-xmlSchemaBuildContentModel(xmlSchemaElementPtr elem,
+xmlSchemaBuildContentModel(xmlSchemaTypePtr type,
                            xmlSchemaParserCtxtPtr ctxt,
                            const xmlChar * name)
 {
     xmlAutomataStatePtr start;
 
-    if (elem->contModel != NULL)
-        return;
-    if (elem->subtypes == NULL) {
-        elem->contentType = XML_SCHEMA_CONTENT_ANY;
-        return;
-    }
-    if (elem->subtypes->type != XML_SCHEMA_TYPE_COMPLEX)
-        return;
-    if ((elem->subtypes->contentType == XML_SCHEMA_CONTENT_BASIC) ||
-        (elem->subtypes->contentType == XML_SCHEMA_CONTENT_SIMPLE))
-        return;
+    if ((type->type != XML_SCHEMA_TYPE_COMPLEX) || (type->ref != NULL) ||
+	(type->contentType == XML_SCHEMA_CONTENT_BASIC) ||
+	(type->contentType == XML_SCHEMA_CONTENT_SIMPLE) ||
+	(type->contModel != NULL))
+	return;
 
 #ifdef DEBUG_CONTENT
     xmlGenericError(xmlGenericErrorContext,
@@ -5399,25 +8876,29 @@
     ctxt->am = xmlNewAutomata();
     if (ctxt->am == NULL) {
         xmlGenericError(xmlGenericErrorContext,
-                        "Cannot create automata for elem %s\n", name);
+                        "Cannot create automata for complex tpye %s\n", name);
         return;
     }
     start = ctxt->state = xmlAutomataGetInitState(ctxt->am);
-    xmlSchemaBuildAContentModel(elem->subtypes, ctxt, name);
+    xmlSchemaBuildAContentModel(type, ctxt, name);
     xmlAutomataSetFinalState(ctxt->am, ctxt->state);
-    elem->contModel = xmlAutomataCompile(ctxt->am);
-    if (elem->contModel == NULL) {
-        xmlSchemaPErr(ctxt, elem->node, XML_SCHEMAS_ERR_INTERNAL,
-                      "failed to compile %s content model\n", name, NULL);
-    } else if (xmlRegexpIsDeterminist(elem->contModel) != 1) {
-        xmlSchemaPErr(ctxt, elem->node, XML_SCHEMAS_ERR_NOTDETERMINIST,
-                      "Content model of %s is not determinist:\n", name,
-                      NULL);
+    type->contModel = xmlAutomataCompile(ctxt->am);
+    if (type->contModel == NULL) {
+        xmlSchemaPCustomErr(ctxt, 
+	    XML_SCHEMAP_INTERNAL, 
+	    NULL, type, type->node,	    
+	    "Failed to compile the content model", NULL);
+    } else if (xmlRegexpIsDeterminist(type->contModel) != 1) {
+        xmlSchemaPCustomErr(ctxt, 
+	    XML_SCHEMAP_NOT_DETERMINISTIC,
+	    /* XML_SCHEMAS_ERR_NOTDETERMINIST, */
+	    NULL, type, type->node,
+	    "The content model is not determinist", NULL);
     } else {
 #ifdef DEBUG_CONTENT_REGEXP
         xmlGenericError(xmlGenericErrorContext,
                         "Content model of %s:\n", name);
-        xmlRegexpPrint(stderr, elem->contModel);
+        xmlRegexpPrint(stderr, type->contModel);
 #endif
     }
     ctxt->state = NULL;
@@ -5430,62 +8911,86 @@
  * @elem:  the schema element context
  * @ctxt:  the schema parser context
  *
- * Free the resources associated to the schema parser context
+ * Resolves the references of an element declaration
+ * or particle, which has an element declaration as it's
+ * term. 
  */
 static void
 xmlSchemaRefFixupCallback(xmlSchemaElementPtr elem,
                           xmlSchemaParserCtxtPtr ctxt,
-                          const xmlChar * name,
+                          const xmlChar * name ATTRIBUTE_UNUSED,
                           const xmlChar * context ATTRIBUTE_UNUSED,
                           const xmlChar * namespace ATTRIBUTE_UNUSED)
 {
-    if ((ctxt == NULL) || (elem == NULL))
+    if ((ctxt == NULL) || (elem == NULL) || 
+	((elem != NULL) && (elem->flags & XML_SCHEMAS_ELEM_INTERNAL_RESOLVED)))
         return;
-
+    elem->flags |= XML_SCHEMAS_ELEM_INTERNAL_RESOLVED;
     if (elem->ref != NULL) {
         xmlSchemaElementPtr elemDecl;
 
-        if (elem->subtypes != NULL) {
-            xmlSchemaPErr(ctxt, elem->node,
-                          XML_SCHEMAP_INVALID_REF_AND_SUBTYPE,
-                          "Schemas: element %s has both ref and subtype\n",
-                          name, NULL);
-            return;
-        }
-        elemDecl = xmlSchemaGetElem(ctxt->schema, elem->ref, elem->refNs, 0);
-
-        if (elemDecl == NULL) {
-            xmlSchemaPErr(ctxt, elem->node, 
+	/*
+	* TODO: Evaluate, what errors could occur if the declaration is not
+	* found. It might be possible that the "typefixup" might crash if
+	* no ref declaration was found.
+	*/
+        elemDecl = xmlSchemaGetElem(ctxt->schema, elem->ref, elem->refNs);
+        if (elemDecl == NULL) {	  
+	    xmlSchemaPResCompAttrErr(ctxt,
 		XML_SCHEMAP_SRC_RESOLVE,
-		"Element \"%s\": the QName \"%s\" of the attribute "
-		"\"ref\" does not resolve to a schema "
-		"component.\n",
-		name, elem->ref);
-            return;
-        }
-        elem->refDecl = elemDecl;
-    } else if (elem->namedType != NULL) {
-        xmlSchemaTypePtr typeDecl;
-
-        if (elem->subtypes != NULL) {
-            xmlSchemaPErr(ctxt, elem->node, XML_SCHEMAP_TYPE_AND_SUBTYPE,
-                          "Schemas: element %s has both type and subtype\n",
-                          name, NULL);
-            return;
-        }
-        typeDecl = xmlSchemaGetType(ctxt->schema, elem->namedType,
-                                    elem->namedTypeNs);
-
-        if (typeDecl == NULL) {
-            xmlSchemaPErr(ctxt, elem->node, 
-		XML_SCHEMAP_SRC_RESOLVE,
-		"Element \"%s\": the QName \"%s\" of the attribute "
-		"\"type\" does not resolve to a schema "
-		"component.\n", name, elem->namedType);
-            return;
-        }
-        elem->subtypes = typeDecl;
-    }
+		NULL, (xmlSchemaTypePtr) elem, elem->node,
+		"ref", elem->ref, elem->refNs, 
+		XML_SCHEMA_TYPE_ELEMENT, NULL);
+        } else
+	    elem->refDecl = elemDecl;	
+    } else {	
+	if ((elem->subtypes == NULL) && (elem->namedType != NULL)) {
+	    xmlSchemaTypePtr type;
+	    
+	    /* (type definition) ... otherwise the type definition ·resolved· 
+	    * to by the ·actual value· of the type [attribute] ...
+	    */	    	    
+	    type = xmlSchemaGetType(ctxt->schema, elem->namedType,
+		elem->namedTypeNs);	    
+	    if (type == NULL) {	
+		xmlSchemaPResCompAttrErr(ctxt,
+		    XML_SCHEMAP_SRC_RESOLVE,
+		    NULL, (xmlSchemaTypePtr) elem, elem->node,
+		    "type", elem->namedType, elem->namedTypeNs,
+		    XML_SCHEMA_TYPE_BASIC, "type definition");
+	    } else
+		elem->subtypes = type;
+	}
+	if (elem->substGroup != NULL) {
+	    xmlSchemaElementPtr substHead;
+	    
+	    /*
+	    * FIXME TODO: Do we need a new field in _xmlSchemaElement for 
+	    * substitutionGroup?
+	    */
+	    substHead = xmlSchemaGetElem(ctxt->schema, elem->substGroup, 
+		elem->substGroupNs);	    
+	    if (substHead == NULL) {
+		xmlSchemaPResCompAttrErr(ctxt,
+		    XML_SCHEMAP_SRC_RESOLVE,
+		    NULL, (xmlSchemaTypePtr) elem, NULL,
+		    "substitutionGroup", elem->substGroup, elem->substGroupNs,
+		    XML_SCHEMA_TYPE_ELEMENT, NULL);
+	    } else {
+		xmlSchemaRefFixupCallback(substHead, ctxt, NULL, NULL, NULL);
+		/*
+		* (type definition)...otherwise the {type definition} of the 
+		* element declaration ·resolved· to by the ·actual value· of 
+		* the substitutionGroup [attribute], if present
+		*/
+		if (elem->subtypes == NULL) 
+		    elem->subtypes = substHead->subtypes;
+	    }
+	}
+	if ((elem->subtypes == NULL) && (elem->namedType == NULL) &&
+	    (elem->substGroup == NULL))
+	    elem->subtypes = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+    }    
 }
 
 /**
@@ -5498,32 +9003,32 @@
 static void
 xmlSchemaParseListRefFixup(xmlSchemaTypePtr type, xmlSchemaParserCtxtPtr ctxt)
 {    
-    /*
-    * src-list-itemType-or-simpleType
-    * Either the itemType [attribute] or the <simpleType> [child] of 
-    * the <list> element must be present, but not both. 
-    */
+    
     if (((type->base == NULL) && 
 	 (type->subtypes == NULL)) ||
 	((type->base != NULL) &&
 	 (type->subtypes != NULL))) {	
-	/* 
-	* src-restriction-base-or-simpleType
-	* Either the base [attribute] or the simpleType [child] of the 
-	* <restriction> element must be present, but not both. 
+	/*
+	* src-list-itemType-or-simpleType
+	* Either the itemType [attribute] or the <simpleType> [child] of 
+	* the <list> element must be present, but not both. 
 	*/
-	xmlSchemaPErr(ctxt, type->node,
+	/*
+	* TODO: Move this to the parse function.
+	*/
+	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE,
-	    "List \"%s\": "
-	    "Either the \"base\" attribute or the <simpleType> child "
-	    "must be present, but not both.\n",
-	    type->name, NULL);
+	    NULL, type, type->node, 
+	    "The attribute 'itemType' and the <simpleType> child "
+	    "are mutually exclusive", NULL);	
     } else if (type->base!= NULL) {        	
         type->subtypes = xmlSchemaGetType(ctxt->schema, type->base, type->baseNs);
         if (type->subtypes == NULL) {
-            xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_TYPE,
-                          "List \"%s\" references an unknown item type: \"%s\"\n",
-                          type->name, type->base);
+	    xmlSchemaPResCompAttrErr(ctxt,	    
+		XML_SCHEMAP_SRC_RESOLVE,
+		NULL, type, type->node,
+		"itemType", type->base, type->baseNs,
+		XML_SCHEMA_TYPE_SIMPLE, NULL);
         }
     }               
     if ((type->subtypes != NULL) && 
@@ -5543,12 +9048,9 @@
 xmlSchemaParseUnionRefCheck(xmlSchemaTypePtr type,
                    xmlSchemaParserCtxtPtr ctxt)
 {
-    const xmlChar *cur, *end, *prefix, *ncName, *namespace;
-    xmlChar *tmp;
+    
     xmlSchemaTypeLinkPtr link, lastLink = NULL, prevLink, subLink, newLink;
     xmlSchemaTypePtr memberType, ctxtType;
-    xmlNsPtr ns;
-    int len;
 
     /* 1 If the <union> alternative is chosen, then [Definition:]  
     * define the explicit members as the type definitions ·resolved· 
@@ -5561,7 +9063,7 @@
         return (-1);
     if (ctxt->ctxtType == NULL) {
 	xmlSchemaPErr(ctxt, type->node,
-	    XML_SCHEMAS_ERR_INTERNAL,
+	    XML_SCHEMAP_INTERNAL,
 	    "Internal error: xmlSchemaParseUnionRefCheck, no parent type "
 	    "available", NULL, NULL);
 	return (-1);
@@ -5573,21 +9075,21 @@
     */
     if ((type->base == NULL) && 
 	(type->subtypes == NULL)) {
-	/* 
-	* src-restriction-base-or-simpleType
-	* Either the base [attribute] or the simpleType [child] of the 
-	* <restriction> element must be present, but not both. 
-	*/
-	xmlSchemaPErr(ctxt, type->node,
+	xmlSchemaPCustomErr(ctxt, 
 	    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES,
-	    "Union \"%s\": "
-	    "Either the \"memberTypes\" attribute must be non-empty "
-	    "or there must be at least one <simpleType> child.\n",
-	    type->name, NULL);
+	    NULL, NULL, type->node,	
+	    "Either the attribute 'memberTypes' must be non-empty "
+	    "or there must be at least one <simpleType> child", NULL);
     } 
 	
     ctxtType = ctxt->ctxtType;
     if (type->base != NULL) {
+	xmlAttrPtr attr;
+	const xmlChar *cur, *end;
+	xmlChar *tmp;
+	const xmlChar *localName, *uri;
+
+	attr = xmlSchemaGetPropNode(type->node, "memberTypes");
 	cur = type->base;
 	do {
 	    while (IS_BLANK_CH(*cur))
@@ -5598,30 +9100,14 @@
 	    if (end == cur)
 		break;
 	    tmp = xmlStrndup(cur, end - cur);
-	    ncName = xmlSplitQName3(tmp, &len);
-	    if (ncName != NULL) {
-		prefix = xmlDictLookup(ctxt->dict, tmp, len);
-	    } else {
-		prefix = NULL;
-		ncName = tmp;
-	    }
-	    ns = xmlSearchNs(type->node->doc, type->node, prefix);
-	    if (ns == NULL) {
-		if (prefix != NULL) {
-		    xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_PREFIX_UNDEFINED,
-			"Union \"%s\": the namespace prefix of member type "
-			"\"%s\" is undefined\n",
-			type->name, (const xmlChar *) tmp);
-		}
-		namespace = NULL;
-	    } else {
-		namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
-	    }        
-	    memberType = xmlSchemaGetType(ctxt->schema, ncName, namespace);
+	    xmlSchemaPValAttrNodeQNameValue(ctxt, ctxt->schema, NULL, 
+		NULL, attr, BAD_CAST tmp, &uri, NULL, &localName);	   
+	    memberType = xmlSchemaGetType(ctxt->schema, localName, uri);
 	    if (memberType == NULL) {
-		xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_MEMBER_TYPE,
-		    "Union \"%s\" references an unknown member type \"%s\".\n",
-		    type->name,  (const xmlChar *) tmp);
+		xmlSchemaPResCompAttrErr(ctxt,
+		    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE,
+		    NULL, NULL, type->node, "memberTypes", localName, uri,
+		    XML_SCHEMA_TYPE_SIMPLE, NULL);
 	    } else {
 		if (memberType->contentType == XML_SCHEMA_CONTENT_UNKNOWN) 
 		    xmlSchemaTypeFixup(memberType, ctxt, NULL);	    
@@ -5703,48 +9189,6 @@
 }
 
 /**
- * xmlSchemaGetOnymousTypeName:
- * @attr:  the attribute declaration/use
- *
- * Returns the name of the attribute; if the attribute
- * is a reference, the name of the referenced global type will be returned.
- */
-static const xmlChar *
-xmlSchemaGetOnymousAttrName(xmlSchemaAttributePtr attr) 
-{
-    if (attr->ref != NULL) 
-	return(attr->ref);
-    else
-	return(attr->name);	
-}
-
-/**
- * xmlSchemaGetOnymousTargetNsURI:
- * @type:  the type (element or attribute)
- *
- * Returns the target namespace URI of the type; if the type is a reference,
- * the target namespace of the referenced type will be returned.
- */
-static const xmlChar *
-xmlSchemaGetOnymousTargetNsURI(xmlSchemaTypePtr type)
-{
-    if (type->type == XML_SCHEMA_TYPE_ELEMENT) {
-	if (type->ref != NULL)
-	    return(((xmlSchemaElementPtr)((xmlSchemaElementPtr) 
-		type)->subtypes)->targetNamespace);
-	else
-	    return(((xmlSchemaElementPtr) type)->targetNamespace);
-    } else if (type->type == XML_SCHEMA_TYPE_ATTRIBUTE) {
-	if (type->ref != NULL)
-	    return(((xmlSchemaAttributePtr)((xmlSchemaAttributePtr) 
-		type)->subtypes)->targetNamespace);
-	else
-	    return(((xmlSchemaAttributePtr) type)->targetNamespace);
-    } else 
-	return (NULL);
-}
-
-/**
  * xmlSchemaIsDerivedFromBuiltInType:
  * @ctxt:  the schema parser context
  * @type:  the type definition
@@ -6087,7 +9531,7 @@
 	    */
 	    xmlSchemaPErr(ctxt, completeWild->node, 
 		XML_SCHEMAP_UNION_NOT_EXPRESSIBLE,
-		"The union of the wilcard is not expressible\n",
+		"The union of the wilcard is not expressible.\n",
 		NULL, NULL);	
 	    return(XML_SCHEMAP_UNION_NOT_EXPRESSIBLE);
 	} else if ((!nsFound) && (!absentFound)) {
@@ -6324,7 +9768,7 @@
 	(curWild->negNsSet->value != NULL)) {
 
 	xmlSchemaPErr(ctxt, completeWild->node, XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE,
-	    "The intersection of the wilcard is not expressible\n",
+	    "The intersection of the wilcard is not expressible.\n",
 	    NULL, NULL);	
 	return(XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE);
     }		    
@@ -6351,10 +9795,8 @@
  * subset of @wildB, 0 otherwise.
  */
 static int
-xmlSchemaIsWildcardNsConstraintSubset(
-                            xmlSchemaParserCtxtPtr ctxt ATTRIBUTE_UNUSED, 
-			    xmlSchemaWildcardPtr wildA,
-			    xmlSchemaWildcardPtr wildB)
+xmlSchemaIsWildcardNsConstraintSubset(xmlSchemaWildcardPtr wildA,
+				      xmlSchemaWildcardPtr wildB)
 {    
 
     /*
@@ -6436,7 +9878,32 @@
 	if (attrs->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
 	    xmlSchemaAttributeGroupPtr group;
 
-	    group = (xmlSchemaAttributeGroupPtr) attrs;	  
+	    group = (xmlSchemaAttributeGroupPtr) attrs;
+	    /*
+	    * Handle attribute group references.
+	    */
+	    if (group->ref != NULL) {
+		if (group->refItem == NULL) {
+		    /*
+		    * TODO: Should we raise a warning here?
+		    */
+		    /*
+		    * The referenced attribute group definition could not
+		    * be resolved beforehand, so skip.
+		    */
+		    attrs = attrs->next;
+		    continue;
+		} else
+		    group = group->refItem;
+	    }	    
+	    /*
+	    * For every attribute group definition, an intersected wildcard 
+	    * will be created (assumed that a wildcard exists on the 
+	    * particular attr. gr. def. or on any contained attr. gr. def 
+	    * at all).
+	    * The flag XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED ensures
+	    * that the intersection will be performed only once.
+	    */
 	    if ((group->flags & XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED) == 0) {
 		if (group->attributes != NULL) {
 		    if (xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
@@ -6459,6 +9926,7 @@
 		    /*
 		    * Although the complete wildcard might not correspond to any
 		    * node in the schema, we will save this context node.
+		    * TODO: Hmm, is this sane?
 		    */
 		    (*completeWild)->node = group->attributeWildcard->node;  
 		    
@@ -6474,6 +9942,33 @@
     return (0);   
 }
 
+static int
+xmlSchemaGetEffectiveValueConstraint(xmlSchemaAttributePtr item,
+				     int *fixed,
+				     const xmlChar **value,
+				     xmlSchemaValPtr *val)
+{
+    *fixed = 0;
+    *value = NULL;
+    if (val != 0) 
+	*val = NULL;
+
+    if (item->defValue == NULL)
+	item = item->refDecl;
+
+    if (item == NULL)
+	return (0);
+
+    if (item->defValue != NULL) {
+	*value = item->defValue;
+	if (val != 0)
+	    *val = item->defVal;
+	if (item->flags & XML_SCHEMAS_ATTR_FIXED)
+	    *fixed = 1;
+	return (1);
+    }
+    return (0);
+}
 /**
  * xmlSchemaMatchesWildcardNs:
  * @wild:  the wildcard
@@ -6525,37 +10020,32 @@
     xmlSchemaAttributePtr attrs;
     xmlSchemaTypePtr anyType;
     int baseIsAnyType = 0;
+    xmlChar *str = NULL;
+    int err = 0;
 
     anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
     /* 
      * Complex Type Definition with complex content Schema Component.
      *
      * Attribute uses.
+     * TODO: Add checks for absent referenced attribute declarations and
+     * simple types.
      */
     if (type->attributeUses != NULL) {
-        xmlSchemaPErr(ctxt, type->node, XML_SCHEMAS_ERR_INTERNAL,
+        xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_INTERNAL,
 		      "Internal error: xmlSchemaBuildAttributeValidation: "
 		      "attribute uses already builded.\n",
 		      NULL, NULL);
         return (-1);
     }
     if (type->baseType == NULL) {
-        xmlSchemaPErr(ctxt, type->node, XML_SCHEMAS_ERR_INTERNAL,
+        xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_INTERNAL,
 		      "Internal error: xmlSchemaBuildAttributeValidation: "
-		      "complex type \"%s\" has no base type.\n",
+		      "complex type '%s' has no base type.\n",
 		      type->name, NULL);
         return (-1);
     }
-
     baseType = type->baseType;
-    if (baseType == NULL) {
-	xmlSchemaPErr(ctxt, type->node, XML_SCHEMAS_ERR_INTERNAL,
-	    "Internal error: xmlSchemaBuildAttributeValidation: "
-	    "type has no base type.\n",
-	    NULL, NULL);
-	return (-1);
-    }
-
     if (baseType == anyType)
 	baseIsAnyType = 1;
     /*
@@ -6587,8 +10077,11 @@
     if ((type->subtypes != NULL) && 
 	((type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) || 
 	 (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT))) {
+	/* 
+	* type --> (<simpleContent>|<complexContent>) 
+	*        --> (<restriction>|<extension>) --> attributes
+	*/ 
 	attrs = type->subtypes->subtypes->attributes;
-	type->attributeWildcard = type->subtypes->subtypes->attributeWildcard;
     } else {
 	/* Short hand form of the complexType. */
 	attrs = type->attributes;
@@ -6596,27 +10089,19 @@
     /*
     * Handle attribute wildcards.
     */	
-    if (xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
-	attrs, &type->attributeWildcard) == -1) {	    
-	if ((type->attributeWildcard != NULL) &&
-	    /* Either we used the short hand form... */
-	    ((type->subtypes == NULL) ||
-	    /* Or complexType -> restriction/extension */
-	    (type->attributeWildcard != type->subtypes->subtypes->attributeWildcard)))
-	    type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
+    err = xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
+	attrs, &type->attributeWildcard);    
+    /*
+    * NOTE: During the parse time, the wildcard is created on the complexType
+    * directly, if encountered in a <restriction> or <extension> element.
+    */
+    if (err == -1) {
+	xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_INTERNAL,
+	    "Internal error: xmlSchemaBuildAttributeValidation: "
+	    "failed to build an intersected attribute wildcard.\n",
+	    NULL, NULL);
 	return (-1);
     }
-    /*
-    * TODO: This "onwed_attr_wildcard" is quite sensless: we should
-    * create the wildcard right from the start on the complexType,
-    * rather than on the <restriction>/<extension>.
-    */
-    if ((type->attributeWildcard != NULL) &&
-	/* Either we used the short hand form... */
-	((type->subtypes == NULL) ||
-	/* Or complexType -> restriction/extension */
-	(type->attributeWildcard != type->subtypes->subtypes->attributeWildcard)))
-	type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
 
     if ((type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) && 
 	((baseIsAnyType) ||
@@ -6634,6 +10119,12 @@
 	    /*
 	    * Just inherit the wildcard.
 	    */
+	    /*
+	    * NOTE: This is the only case where an attribute 
+            * wildcard is shared.
+            */
+	    if (type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD)
+		type->flags ^= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
 	    type->attributeWildcard = baseType->attributeWildcard;
 	}
     }
@@ -6644,19 +10135,25 @@
 	    * Derivation Valid (Restriction, Complex) 	    
 	    * 4.1 The {base type definition} must also have one. 
 	    */
-	    if (baseType->attributeWildcard == NULL) {	    
-		xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1,
-		    "The derived type \"%s\" has an attribute wildcard, "
-		    "but the base type \"%s\" does not have one.\n",
-		    type->name, baseType->name);
+	    if (baseType->attributeWildcard == NULL) {	  
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1,
+		    NULL, type, NULL, 
+		    "The type has an attribute wildcard, "
+		    "but the base type %s does not have one",
+		    xmlSchemaFormatItemForReport(&str, NULL, baseType, NULL, 1));
+		FREE_AND_NULL(str)
 		return (1);
-	    } else if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
+	    } else if (xmlSchemaIsWildcardNsConstraintSubset(
 		type->attributeWildcard, baseType->attributeWildcard) == 0) {
 		/* 4.2 */
-		xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2,
-		    "The wildcard in the derived type \"%s\" is not a valid " 
-		    "subset of the one in the base type \"%s\".\n",
-		    type->name, baseType->name);	    
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2,
+		    NULL, type, NULL, 		
+		    "The attribute wildcard is not a valid " 
+		    "subset of the wildcard in the base type %s",
+		    xmlSchemaFormatItemForReport(&str, NULL, baseType, NULL, 1));
+		FREE_AND_NULL(str)	    
 		return (1);
 	    }
 	    /* 4.3 Unless the {base type definition} is the ·ur-type 
@@ -6669,11 +10166,13 @@
 	    if ((type->baseType != anyType) && 
 		(type->attributeWildcard->processContents < 
 		baseType->attributeWildcard->processContents)) {
-		xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3,
-		    "The process contents of the wildcard in the "
-		    "derived type \"%s\" is weaker than " 
-		    "that in the base type \"%s\".\n",
-		    type->name, baseType->name);
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3,
+		    NULL, type, NULL, 		
+		    "The 'process contents' of the attribute wildcard is weaker than "
+		    "the one in the base type %s",
+		    xmlSchemaFormatItemForReport(&str, NULL, baseType, NULL, 1));
+		FREE_AND_NULL(str)
 		return (1);
 	    }
 	}
@@ -6686,12 +10185,15 @@
 	if ((baseType->attributeWildcard != NULL) &&
 	    (baseType->attributeWildcard != type->attributeWildcard)) {
 	    /* 1.3 */
-	    if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
+	    if (xmlSchemaIsWildcardNsConstraintSubset(
 		baseType->attributeWildcard, type->attributeWildcard) == 0) {
-		xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_COS_CT_EXTENDS_1_3,
-		    "The wildcard in the derived type \"%s\" is not a valid " 
-		    "superset of the one in the base type \"%s\".\n",
-		    type->name, baseType->name);
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_COS_CT_EXTENDS_1_3,
+		    NULL, type, NULL, 		
+		    "The attribute wildcard is not a valid " 
+		    "superset of the one in the base type %s",
+		    xmlSchemaFormatItemForReport(&str, NULL, baseType, NULL, 1));
+		FREE_AND_NULL(str)		
 		return (1);		
 	    }
 	}		
@@ -6717,14 +10219,20 @@
 	while (cur != NULL) {
 	    tmp = cur->next;
 	    while (tmp != NULL) {	    
-		if ((xmlStrEqual(xmlSchemaGetOnymousAttrName(cur->attr), 
-		    xmlSchemaGetOnymousAttrName(tmp->attr))) &&
-		    (xmlStrEqual(xmlSchemaGetOnymousTargetNsURI((xmlSchemaTypePtr) cur->attr ), 
-		    xmlSchemaGetOnymousTargetNsURI((xmlSchemaTypePtr) tmp->attr)))) {
-		    
-		    xmlSchemaPErr(ctxt, cur->attr->node, XML_SCHEMAP_CT_PROPS_CORRECT_4,
-			"ct-props-correct.4: Duplicate attribute use with the name \"%s\" specified\n",
-			xmlSchemaGetOnymousAttrName(cur->attr),  NULL);
+		if ((xmlStrEqual(xmlSchemaGetAttrName(cur->attr), 
+		    xmlSchemaGetAttrName(tmp->attr))) &&
+		    (xmlStrEqual(xmlSchemaGetAttrTargetNsURI(cur->attr ), 
+		    xmlSchemaGetAttrTargetNsURI(tmp->attr)))) {
+
+		    xmlSchemaPAttrUseErr(ctxt,
+			XML_SCHEMAP_CT_PROPS_CORRECT_4, 
+			NULL, type, NULL, cur->attr,			
+			"Duplicate attribute use %s specified",
+			xmlSchemaFormatNsUriLocal(&str, 
+			    xmlSchemaGetAttrTargetNsURI(tmp->attr), 
+			    xmlSchemaGetAttrName(tmp->attr))
+		    );
+		    FREE_AND_NULL(str)		    		    
 		    break;
 		}
 		tmp = tmp->next;
@@ -6740,51 +10248,90 @@
 	    type->attributeUses = uses;
 	} else {
 	    int found;
+	    const xmlChar *bEffValue;
+	    int effFixed;
 
 	    cur = uses;
 	    while (cur != NULL) {
 		found = 0;
 		base = type->attributeUses;
 		while (base != NULL) {
-		    if ((xmlStrEqual(xmlSchemaGetOnymousAttrName(cur->attr), 
-			xmlSchemaGetOnymousAttrName(base->attr))) &&
-			(xmlStrEqual(xmlSchemaGetOnymousTargetNsURI((xmlSchemaTypePtr) cur->attr), 
-			xmlSchemaGetOnymousTargetNsURI((xmlSchemaTypePtr) base->attr)))) {
+		    if (xmlStrEqual(xmlSchemaGetAttrName(cur->attr), 
+			xmlSchemaGetAttrName(base->attr)) &&
+			xmlStrEqual(xmlSchemaGetAttrTargetNsURI(cur->attr), 
+			xmlSchemaGetAttrTargetNsURI(base->attr))) {
 			
-			found = 1;	    
+			found = 1;			
+			
 			if ((cur->attr->occurs == XML_SCHEMAS_ATTR_USE_OPTIONAL) &&
 			    (base->attr->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED)) {
 			    /*
 			    * derivation-ok-restriction 2.1.1
-			    */			
-			    xmlSchemaPErr(ctxt, cur->attr->node, 
+			    */	
+			    xmlSchemaPAttrUseErr(ctxt,
 				XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1,
-				"derivation-ok-restriction.2.1.1: "
-				"The \"optional\" attribute "
-				"use \"%s\" is inconsistent with a matching "
-				"\"required\" attribute use of the base type\n",
-				xmlSchemaGetOnymousAttrName(cur->attr), NULL);					
+				NULL, type, NULL, cur->attr,
+				"The 'optional' use is inconsistent with a matching "
+				"'required' use of the base type", NULL);				
 			} else if ((cur->attr->occurs == XML_SCHEMAS_ATTR_USE_PROHIBITED) &&
 			    (base->attr->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED)) {
 			    /*
 			    * derivation-ok-restriction 3 
 			    */
-			    xmlSchemaPErr(ctxt, cur->attr->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3,
-				"derivation-ok-restriction.3: "
-				"The \"required\" attribute use \"%s\" of the base type "
-				"does not have a matching attribute use in the derived type\n",		
-				xmlSchemaGetOnymousAttrName(cur->attr), NULL);
-			    
+			    xmlSchemaPCustomErr(ctxt,
+				XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, 
+				NULL, type, NULL, 		
+				"A matching attribute use for the 'required' "
+				"attribute use %s of the base type is missing",
+				xmlSchemaFormatNsUriLocal(&str, 
+				xmlSchemaGetAttrTargetNsURI(base->attr), 
+				xmlSchemaGetAttrName(base->attr)));	
+			    FREE_AND_NULL(str)
 			} else {
 			    /*
+			    * 2.1.3 [Definition:]  Let the effective value 
+			    * constraint of an attribute use be its {value 
+			    * constraint}, if present, otherwise its {attribute 
+			    * declaration}'s {value constraint} . 
+			    */
+			    xmlSchemaGetEffectiveValueConstraint(base->attr, &effFixed, 
+				&bEffValue, 0);			   							    
+			    /*
+			    * 2.1.3 ... one of the following must be true
+			    *
+			    * 2.1.3.1 B's ·effective value constraint· is 
+			    * ·absent· or default.
+			    */
+			    if ((bEffValue != NULL) &&
+				(effFixed == 1)) {
+				const xmlChar *rEffValue = NULL;
+
+				xmlSchemaGetEffectiveValueConstraint(base->attr, &effFixed, 
+				    &rEffValue, 0);	
+				/*
+				* 2.1.3.2 R's ·effective value constraint· is 
+				* fixed with the same string as B's.
+				*/
+				if ((effFixed == 0) ||
+				    (! xmlStrEqual(rEffValue, bEffValue))) {
+				    xmlSchemaPAttrUseErr(ctxt,
+					XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, 
+					NULL, type, NULL, cur->attr,		
+					"The effective value constraint of the "
+					"attribute use is inconsistent with "
+					"its correspondent of the base type",
+					NULL);					    
+				}
+			    }
+			    /*
+			    * TODO: derivation-ok-restriction  2.1.2 ({type definition} must be validly derived)
+			    */
+			    /*
 			    * Override the attribute use.
 			    */
 			    base->attr = cur->attr;
 			}
-			/*
-			* TODO: derivation-ok-restriction  2.1.2 ({type definition} must be validly derived)
-			* TODO: derivation-ok-restriction  2.1.3 
-			*/
+								
 			break;
 		    }				
 		    base = base->next;
@@ -6801,11 +10348,12 @@
 			    found = 1;
 
 			if (!found) {
-			    xmlSchemaPErr(ctxt, cur->attr->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2,
-				"derivation-ok-restriction.2.2: "
-				"The attribute use \"%s\" has neither a matching attribute use, "
-				"nor a matching wildcard in the base type\n",		
-				xmlSchemaGetOnymousAttrName(cur->attr), NULL);
+			    xmlSchemaPAttrUseErr(ctxt,
+				XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, 
+				NULL, type, NULL, cur->attr,		
+				"Neither a matching attribute use, "
+				"nor a matching wildcard in the base type does exist",
+				NULL);
 			} else {
 			    /* 
 			    * Add the attribute use.
@@ -6871,14 +10419,15 @@
 	    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) {
 		tmp = cur->next;
 		while (tmp != NULL) {	    
-		    if ((xmlStrEqual(xmlSchemaGetOnymousAttrName(cur->attr), 
-			xmlSchemaGetOnymousAttrName(tmp->attr))) &&
-			(xmlStrEqual(xmlSchemaGetOnymousTargetNsURI((xmlSchemaTypePtr) cur->attr ), 
-			xmlSchemaGetOnymousTargetNsURI((xmlSchemaTypePtr) tmp->attr)))) {
+		    if ((xmlStrEqual(xmlSchemaGetAttrName(cur->attr), 
+			xmlSchemaGetAttrName(tmp->attr))) &&
+			(xmlStrEqual(xmlSchemaGetAttrTargetNsURI(cur->attr ), 
+			xmlSchemaGetAttrTargetNsURI(tmp->attr)))) {
 
-			xmlSchemaPErr(ctxt, cur->attr->node, XML_SCHEMAP_CT_PROPS_CORRECT_4,
-			    "ct-props-correct.4: Duplicate attribute use with the name \"%s\" specified\n",
-			    xmlSchemaGetOnymousAttrName(cur->attr),  NULL);
+			xmlSchemaPAttrUseErr(ctxt,
+			    XML_SCHEMAP_CT_PROPS_CORRECT_4, 
+			    NULL, type, NULL, tmp->attr,		
+			    "Duplicate attribute use specified", NULL);
 			break;
 		    }
 		    tmp = tmp->next;
@@ -6891,11 +10440,13 @@
 	    if ((cur->attr->subtypes != NULL) && 
 		(xmlSchemaIsDerivedFromBuiltInType(ctxt, (xmlSchemaTypePtr) cur->attr, XML_SCHEMAS_ID))) {
 		if (id != NULL) {
-		    xmlSchemaPErr(ctxt, cur->attr->node, XML_SCHEMAP_CT_PROPS_CORRECT_5, 
-			"ct-props-correct.5: Two attribute declarations, "
-			"\"%s\" and \"%s\" have types which derived from ID\n",
-			xmlSchemaGetOnymousAttrName(id->attr), 
-			xmlSchemaGetOnymousAttrName(cur->attr));
+		    xmlSchemaPAttrUseErr(ctxt,
+			XML_SCHEMAP_CT_PROPS_CORRECT_5, 
+			NULL, type, NULL, cur->attr,
+			"There must not exist more than one attribute use, "
+			"declared of type 'ID' or derived from it", 
+			NULL);
+		    FREE_AND_NULL(str)
 		} 
 		id = cur;
 	    }
@@ -6925,9 +10476,9 @@
     if ((baseType != NULL) && (!baseIsAnyType) &&
 	(baseType->type == XML_SCHEMA_TYPE_COMPLEX) &&
 	(baseType->contentType == XML_SCHEMA_CONTENT_UNKNOWN)) {
-	xmlSchemaPErr(ctxt, baseType->node, XML_SCHEMAS_ERR_INTERNAL,
+	xmlSchemaPErr(ctxt, baseType->node, XML_SCHEMAP_INTERNAL,
 	    "Internal error: xmlSchemaBuildAttributeValidation: "
-	    "attribute uses not builded on base type \"%s\".\n",
+	    "attribute uses not builded on base type '%s'.\n",
 	    baseType->name, NULL);
     }    
     return (0);
@@ -7129,7 +10680,9 @@
 {
     xmlSchemaTypePtr baseType = type->baseType, anySimpleType,
 	anyType;
+    xmlChar *str = NULL;
 
+    /* STATE: error funcs converted. */
     /*
     * Schema Component Constraint: Simple Type Definition Properties Correct
     *
@@ -7148,29 +10701,32 @@
     * otherwise the Simple Type Definition for anySimpleType (§4.1.6). 
     */
     if (baseType == NULL) {
-	xmlSchemaPErr(ctxt, type->node,
+	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
-	    "Simple type \"%s\" does not have a base type.\n",
-	    type->name, NULL);
+	    NULL, type, NULL,	
+	    "No base type existent", NULL);
 	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
     }
     if ((baseType->type != XML_SCHEMA_TYPE_SIMPLE) &&
 	((baseType->type != XML_SCHEMA_TYPE_BASIC) ||
 	 (baseType == anyType))) {
-	xmlSchemaPErr(ctxt, type->node,
+	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
-	    "Simple type \"%s\": its base type \"%s\" is not a simple "
-	    "type.\n",
-	    type->name, baseType->name);
+	    NULL, type, NULL,	
+	    "The base type %s is not a simple type", 
+	    xmlSchemaFormatItemForReport(&str, NULL, baseType, NULL, 1));
+	FREE_AND_NULL(str)	
 	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
     }
     if ((baseType != anySimpleType) &&
 	(type->subtypes->type != XML_SCHEMA_TYPE_RESTRICTION)) {
-	xmlSchemaPErr(ctxt, type->node,
+	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
-	    "Simple type \"%s\" (not derived by restriction) must have"
-	    "the simple ur-type definition as base type, not \"%s\".\n",
-	    type->name, NULL);
+	    NULL, type, NULL,	
+	    "A type, derived by list or union, must have"
+	    "the simple ur-type definition as base type, not %s",
+	    xmlSchemaFormatItemForReport(&str, NULL, baseType, NULL, 1));
+	FREE_AND_NULL(str)
 	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
     }
     /* 
@@ -7179,13 +10735,13 @@
     if (((type->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) &&
 	((type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) == 0) &&
 	((type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) == 0)) {
-	xmlSchemaPErr(ctxt, type->node,
+	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
-	    "Simple type \"%s\" has an absent variety.\n",
-	    type->name, NULL);
+	    NULL, type, NULL,	
+	    "The variety is absent", NULL);
 	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
     }
-    /* TODO: Finish this. */
+    /* TODO: Finish this. Hmm, is this finished? */
 
     /*
     * 2 All simple type definitions must be derived ultimately from the ·simple 
@@ -7200,11 +10756,10 @@
 	if (baseType == anySimpleType)
 	    break;
 	else if (baseType == type) {
-	    xmlSchemaPErr(ctxt, type->node,
-		XML_SCHEMAP_ST_PROPS_CORRECT_2,
-		"Simple type \"%s\" is not derived from the simple "
-		"ur-type definition (circular definitions are disallowed).\n",
-		type->name, NULL);
+	    xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_2,
+	    NULL, type, NULL,	
+	    "The definition is circular", NULL);
 	    return (XML_SCHEMAP_ST_PROPS_CORRECT_2);
 	}	   
 	baseType = baseType->baseType;
@@ -7214,11 +10769,13 @@
     */
     if (xmlSchemaTypeFinalContains(ctxt->schema, baseType, 
 	XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
-	xmlSchemaPErr(ctxt, type->node,
+	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_ST_PROPS_CORRECT_3,
-	    "Simple type \"%s\": the \"final\" of its base type "
-	    "\"%s\" must not contain \"restriction\".\n",
-	    type->name, baseType->name);
+	    NULL, type, NULL,	
+	    "The 'final' of its base type %s must not contain "
+	    "'restriction'",
+	    xmlSchemaFormatItemForReport(&str, NULL, baseType, NULL, 1));
+	FREE_AND_NULL(str)	
 	return (XML_SCHEMAP_ST_PROPS_CORRECT_3);
     }    
     return (0);
@@ -7237,14 +10794,17 @@
  */
 static int
 xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr ctxt, 
-					       xmlSchemaTypePtr type)
+			     xmlSchemaTypePtr type)
 {    
+    xmlChar *str = NULL;
 
+    /* STATE: error funcs converted. */
+
     if (type->type != XML_SCHEMA_TYPE_SIMPLE) {
 	xmlSchemaPErr(ctxt, type->node,
 	    XML_ERR_INTERNAL_ERROR,
-	    "xmlSchemaCheckDerivationValidSimpleRestriction: the given "
-	    "type \"%s\" is not a user-derived simpleType.\n",
+	    "xmlSchemaCheckDerivationValidSimpleRestriction: The given "
+	    "type '%s' is not a user-derived simpleType.\n",
 	    type->name, NULL);
 	return (-1);
     }
@@ -7256,24 +10816,26 @@
 	* type definition or a built-in primitive datatype.
 	*/	
 	if ((type->baseType->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) {
-	    xmlSchemaPErr(ctxt, type->node,
+	    xmlSchemaPCustomErr(ctxt,
 		XML_SCHEMAP_COS_ST_RESTRICTS_1_1,
-		"Atomic simple type \"%s\": "
-		"its base type \"%s\" is not an atomic simple type.\n",
-		type->name, NULL);
+		NULL, type, NULL,	
+		"The base type %s is not an atomic simple type",
+		xmlSchemaFormatItemForReport(&str, NULL, type->baseType, NULL, 1));
+	    FREE_AND_NULL(str)
 	    return (XML_SCHEMAP_COS_ST_RESTRICTS_1_1);
 	}
 	/* 1.2 The {final} of the {base type definition} must not contain 
 	* restriction.
 	*/
-	/* OPTIMIZE: This is already done in xmlSchemaCheckStPropsCorrect */
+	/* OPTIMIZE TODO : This is already done in xmlSchemaCheckStPropsCorrect */
 	if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType, 
 	    XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
-	    xmlSchemaPErr(ctxt, type->node,
+	    xmlSchemaPCustomErr(ctxt,
 		XML_SCHEMAP_COS_ST_RESTRICTS_1_2,
-		"Atomic simple type \"%s\": the \"final\" of its base type "
-		"\"%s\" must not contain \"restriction\".\n",
-		type->name, type->baseType->name);
+		NULL, type, NULL,	
+		"The final of its base type %s must not contain 'restriction'",
+		xmlSchemaFormatItemForReport(&str, NULL, type->baseType, NULL, 1));
+	    FREE_AND_NULL(str)
 	    return (XML_SCHEMAP_COS_ST_RESTRICTS_1_2);
 	}
 	
@@ -7291,30 +10853,22 @@
 		xmlSchemaPErr(ctxt, type->node,
 		    XML_ERR_INTERNAL_ERROR,
 		    "xmlSchemaCheckDerivationValidSimpleRestriction: failed "
-		    "to get primitive type of type \"%s\".\n",
+		    "to get primitive type of type '%s'.\n",
 		    type->name, NULL);
 		return (-1);
 	    }	    
 	    facet = type->facets;
 	    do {
 		if (xmlSchemaIsBuiltInTypeFacet(primitive, facet->type) == 0) {
-		    xmlSchemaPErrExt(ctxt, type->node,
+		    ok = 0;
+		    xmlSchemaPIllegalFacetAtomicErr(ctxt,
 			XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1,
-			NULL, NULL, NULL,
-			"Atomic simple type \"%s\": the facet \"%s\" "
-			"is not allowed on primitive type \"%s\".\n",
-			type->name, 
-			(const xmlChar *)
-			xmlSchemaFacetTypeToString(facet->type),
-			BAD_CAST primitive->name, NULL, NULL);
-		    
-		    ok = 0;			    
+			NULL, type, primitive, facet);		    		    		    
 		}
 		facet = facet->next;
 	    } while (facet != NULL);	    
 	    if (ok == 0)
-		return (XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1);
-	    
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1);	    
 	}
 	/*
 	* TODO: 1.3.2 (facet derivation)
@@ -7327,7 +10881,7 @@
 	    xmlSchemaPErr(ctxt, type->node,
 		XML_ERR_INTERNAL_ERROR,
 		"Internal error: xmlSchemaCheckDerivationValidSimpleRestriction: "
-		"failed to evaluate the item type of type \"%s\".\n",
+		"failed to evaluate the item type of type '%s'.\n",
 		type->name, NULL);
 	    return (-1);
 	}
@@ -7338,11 +10892,12 @@
 	*/
 	if (((itemType->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) &&  
 	    ((itemType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) == 0)) {	    
-	    xmlSchemaPErr(ctxt, type->node,
+	    xmlSchemaPCustomErr(ctxt,
 		XML_SCHEMAP_COS_ST_RESTRICTS_2_1,
-		"List simple type \"%s\": its item type \"%s\" "
-		"is not an atomic or union simple type.\n",
-		type->name, itemType->name);	    
+		NULL, type, NULL,	
+		"The item type %s must have a variety of atomic or union",
+		xmlSchemaFormatItemForReport(&str, NULL, itemType, NULL, 1));
+	    FREE_AND_NULL(str)	    
 	    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_1);
 	} else if (itemType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
 	    xmlSchemaTypeLinkPtr member;
@@ -7351,13 +10906,13 @@
 	    while (member != NULL) {
 		if ((member->type->flags & 
 		    XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) {
-		    xmlSchemaPErr(ctxt, type->node,
+		    xmlSchemaPCustomErr(ctxt,
 			XML_SCHEMAP_COS_ST_RESTRICTS_2_1,
-			"List simple type \"%s\": its item type " 
-			"is a union simple type, but the member type "
-			"\"%s\" of this item type is not an \"atomic\" "
-			"simple type.\n",
-			type->name, member->type->name);
+			NULL, type, NULL,	
+			"The item type is a union type, but the "
+			"member type %s of this item type is not atomic",
+			xmlSchemaFormatItemForReport(&str, NULL, member->type, NULL, 1));
+		    FREE_AND_NULL(str)		    
 		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_1);
 		}
 		member = member->next;
@@ -7376,11 +10931,12 @@
 	    */
 	    if (xmlSchemaTypeFinalContains(ctxt->schema, 
 		itemType, XML_SCHEMAS_TYPE_FINAL_LIST)) {
-		xmlSchemaPErr(ctxt, type->node,
+		xmlSchemaPCustomErr(ctxt,
 		    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1,
-		    "List simple type \"%s\": the \"final\" of its item type "
-		    "\"%s\" must not contain \"list\".\n",
-		    type->name, itemType->name);
+		    NULL, type, NULL,	
+		    "The final of its item type %s must not contain 'list'",
+		    xmlSchemaFormatItemForReport(&str, NULL, itemType, NULL, 1));
+		FREE_AND_NULL(str)			
 		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1);
 	    }
 	    /*
@@ -7390,13 +10946,10 @@
 	    if (type->facets != NULL) {
 		facet = type->facets;
 		do {
-		    if (facet->type != XML_SCHEMA_FACET_WHITESPACE) {		 
-			xmlSchemaPErr(ctxt, type->node,
+		    if (facet->type != XML_SCHEMA_FACET_WHITESPACE) {
+			xmlSchemaPIllegalFacetListUnionErr(ctxt,
 			    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2,
-			    "List simple type \"%s\": the facet \"%s\" "
-			    "is not allowed.\n", 
-			    type->name,
-			    BAD_CAST xmlSchemaFacetTypeToString(facet->type));
+			    NULL, type, facet);
 			return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2);
 		    }
 		    facet = facet->next;
@@ -7418,11 +10971,12 @@
 	    * 2.3.2.1 The {base type definition} must have a {variety} of list.
 	    */
 	    if ((type->baseType->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) == 0) {
-		xmlSchemaPErr(ctxt, type->node,
+		xmlSchemaPCustomErr(ctxt,
 		    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1,
-		    "List simple type \"%s\": its base type \"%s\" must "
-		    "have a variety of list.\n",
-		    type->name, type->baseType->name);
+		    NULL, type, NULL,	
+		    "The base type %s must be a list type",
+		    xmlSchemaFormatItemForReport(&str, NULL, type->baseType, NULL, 1));
+		FREE_AND_NULL(str)					
 		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1);
 	    }
 	    /*
@@ -7431,11 +10985,12 @@
 	    */
 	    if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType,
 		XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
-		xmlSchemaPErr(ctxt, type->node,
+		xmlSchemaPCustomErr(ctxt,
 		    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2,
-		    "List simple type \"%s\": its base type \"%s\" must not "
-		    "have a \"final\" containing \"restriction\".\n",
-		    type->name, type->baseType->name);
+		    NULL, type, NULL,	
+		    "The final of the base type %s must not contain 'restriction'",
+		    xmlSchemaFormatItemForReport(&str, NULL, type->baseType, NULL, 1));
+		FREE_AND_NULL(str)				
 		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2);
 	    }
 	    /*
@@ -7451,22 +11006,27 @@
 		    xmlSchemaPErr(ctxt, type->node,
 			XML_ERR_INTERNAL_ERROR,
 			"xmlSchemaCheckDerivationValidSimpleRestriction: "
-			"List simple type \"%s\": failed to "
-			"evaluate the item type of its base type \"%s\".\n",
+			"List simple type '%s': Failed to "
+			"evaluate the item type of its base type '%s'.\n",
 			type->name, type->baseType->name);
 		    return (-1);
 		}
 		if ((itemType != baseItemType) &&
 		    (xmlSchemaCheckCOSSTDerivedOK(ctxt->schema, itemType,
 		    baseItemType, 0) != 0)) {
-		    xmlSchemaPErrExt(ctxt, type->node, 
-			XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, NULL, NULL, NULL,
-			"List simple type \"%s\": its item type \"%s\" is not "
-			"validly derived from the item type \"%s\" of the "
-			"base type \"%s\" as defined in Type Derivation OK "
-			"(Simple).\n",
-			type->name, itemType->name, baseItemType->name,
-			type->baseType->name, NULL);
+		    xmlChar *strBIT = NULL, *strBT = NULL;
+		    xmlSchemaPCustomErrExt(ctxt,
+			XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3,
+			NULL, type, NULL,	
+			"The item type %s is not validly derived from the "
+			"item type %s of the base type %s",
+			xmlSchemaFormatItemForReport(&str, NULL, itemType, NULL, 1),
+			xmlSchemaFormatItemForReport(&strBIT, NULL, baseItemType, NULL, 1),
+			xmlSchemaFormatItemForReport(&strBT, NULL, type->baseType, NULL, 1));
+
+		    FREE_AND_NULL(str)
+		    FREE_AND_NULL(strBIT)
+		    FREE_AND_NULL(strBT)		    
 		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3);
 		}
 	    }
@@ -7493,12 +11053,9 @@
 			case XML_SCHEMA_FACET_ENUMERATION:
 			    break;
 			default: {
-			    xmlSchemaPErr(ctxt, type->node,
+			    xmlSchemaPIllegalFacetListUnionErr(ctxt,
 				XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4,
-				"List simple type \"%s\": the facet \"%s\" "
-				"is not allowed.\n",
-				type->name, 
-				BAD_CAST xmlSchemaFacetTypeToString(facet->type));
+				NULL, type, facet);
 			    /*
 			    * We could return, but it's nicer to report all 
 			    * invalid facets.
@@ -7533,11 +11090,12 @@
 		XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) && 
 		((member->type->flags & 
 		XML_SCHEMAS_TYPE_VARIETY_LIST) == 0)) {
-		xmlSchemaPErr(ctxt, type->node,
+		xmlSchemaPCustomErr(ctxt,
 		    XML_SCHEMAP_COS_ST_RESTRICTS_3_1,
-		    "Union simple type \"%s\": the member type " 
-		    "\"%s\" is not an \"atomic\" simple type.\n",
-		    type->name, member->type->name);
+		    NULL, type, NULL,
+		    "The member type %s is neither an atomic, nor a list type",
+		    xmlSchemaFormatItemForReport(&str, NULL, member->type, NULL, 1));
+		FREE_AND_NULL(str)
 		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_1);
 	    }
 	    member = member->next;
@@ -7555,11 +11113,12 @@
 	    while (member != NULL) {
 		if (xmlSchemaTypeFinalContains(ctxt->schema, member->type, 
 		    XML_SCHEMAS_TYPE_FINAL_UNION)) {
-		    xmlSchemaPErr(ctxt, type->node,
+		    xmlSchemaPCustomErr(ctxt,
 			XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1,
-			"Union simple type \"%s\": the \"final\" of member type " 
-			"\"%s\" contains \"union\".\n",
-			type->name, member->type->name);
+			NULL, type, NULL,
+			"The final of member type %s contains 'union'",
+			xmlSchemaFormatItemForReport(&str, NULL, member->type, NULL, 1));
+		    FREE_AND_NULL(str)		   
 		    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1);
 		}
 		member = member->next;
@@ -7568,10 +11127,10 @@
 	    * 3.3.1.2 The {facets} must be empty.
 	    */
 	    if (type->facetSet != NULL) {
-		xmlSchemaPErr(ctxt, type->node,
+		xmlSchemaPCustomErr(ctxt,
 		    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2,
-		    "Union simple type \"%s\": the facets must be empty.\n",
-		    type->name, NULL);
+		    NULL, type, NULL, 
+		    "No facets allowed", NULL);
 		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2);
 	    }
 	} else {
@@ -7579,11 +11138,12 @@
 	    * 3.3.2.1 The {base type definition} must have a {variety} of union.
 	    */
 	    if ((type->baseType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) == 0) {
-		xmlSchemaPErr(ctxt, type->node,
+		xmlSchemaPCustomErr(ctxt,
 		    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1,
-		    "Union simple type \"%s\": its base type \"%s\" has not a "
-		    "variety of union.\n",
-		    type->name, type->baseType->name);
+		    NULL, type, NULL,
+		    "The base type %s is not a union type",
+		    xmlSchemaFormatItemForReport(&str, NULL, type->baseType, NULL, 1));
+		FREE_AND_NULL(str)			
 		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1);
 	    }
 	    /*
@@ -7591,11 +11151,12 @@
 	    */
 	    if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType, 
 		XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
-		xmlSchemaPErr(ctxt, type->node,
+		xmlSchemaPCustomErr(ctxt,
 		    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2,
-		    "Union simple type \"%s\": the \"final\" of its base "
-		    "type \"%s\" must not contain \"restriction\".\n",
-		    type->name, type->baseType->name);
+		    NULL, type, NULL,
+		    "The final of its base type %s must not contain 'restriction'",
+		    xmlSchemaFormatItemForReport(&str, NULL, type->baseType, NULL, 1));
+		FREE_AND_NULL(str)		
 		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2);
 	    }
 	    /*
@@ -7623,37 +11184,39 @@
 		    baseMember = xmlSchemaGetUnionSimpleTypeMemberTypes(type->baseType);
 		    if ((member == NULL) && (baseMember != NULL)) {		   
 			xmlSchemaPErr(ctxt, type->node,
-			    XML_SCHEMAS_ERR_INTERNAL,
+			    XML_SCHEMAP_INTERNAL,
 			    "Internal error: "
 			    "xmlSchemaCheckDerivationValidSimpleRestriction "
-			    "(3.3.2.3), union simple type \"%s\", unequal number "
+			    "(3.3.2.3), union simple type '%s', unequal number "
 			    "of member types in the base type\n",
 			    type->name, NULL);
 		    }		
 		    while (member != NULL) {
 			if (baseMember == NULL) {
 			    xmlSchemaPErr(ctxt, type->node,
-				XML_SCHEMAS_ERR_INTERNAL,
+				XML_SCHEMAP_INTERNAL,
 				"Internal error: "
 				"xmlSchemaCheckDerivationValidSimpleRestriction "
-				"(3.3.2.3), union simple type \"%s\", unequal number "
-				"of member types in the base type\n",
+				"(3.3.2.3), union simple type '%s', unequal number "
+				"of member types in the base type.\n",
 				type->name, NULL);
 			}
 			if ((member->type != baseMember->type) &&
 			    (xmlSchemaCheckCOSSTDerivedOK(ctxt->schema, 
 			    member->type, baseMember->type, 0) != 0)) {
-			    xmlSchemaPErrExt(ctxt, type->node, 
-				XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, NULL, 
-				NULL, NULL,
-				"Union simple type \"%s\": its member type "
-				"\"%s\" is not validly derived from its "
-				"corresponding member type \"%s\" of the base "
-				"type \"%s\" as defined in Type Derivation OK "
-				"(Simple).\n",
-				type->name, member->type->name, 
-				baseMember->type->name,
-				type->baseType->name, NULL);
+			    xmlChar *strBMT = NULL, *strBT = NULL;
+
+			    xmlSchemaPCustomErrExt(ctxt,
+				XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3,
+				NULL, type, NULL,
+				"The member type %s is not validly derived from its "
+				"corresponding member type %s of the base type %s",
+				xmlSchemaFormatItemForReport(&str, NULL, member->type, NULL, 1),
+				xmlSchemaFormatItemForReport(&strBMT, NULL, baseMember->type, NULL, 1),
+				xmlSchemaFormatItemForReport(&strBT, NULL, type->baseType, NULL, 1));
+			    FREE_AND_NULL(str)
+			    FREE_AND_NULL(strBMT)
+			    FREE_AND_NULL(strBT)
 			    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3);
 			}		
 			member = member->next;
@@ -7673,12 +11236,9 @@
 		do {
 		    if ((facet->type != XML_SCHEMA_FACET_PATTERN) &&
 			(facet->type != XML_SCHEMA_FACET_ENUMERATION)) {
-			xmlSchemaPErr(ctxt, type->node,
-			    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4,
-			    "Union simple type \"%s\": the facet \"%s\" "
-			    "is not allowed.\n",
-			    type->name, 
-			    BAD_CAST xmlSchemaFacetTypeToString(facet->type));
+			xmlSchemaPIllegalFacetListUnionErr(ctxt,
+				XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4,
+				NULL, type, facet);			
 			ok = 0;			    
 		    }		    
 		    facet = facet->next;
@@ -7719,9 +11279,9 @@
     */
     if (type->subtypes == NULL) {
 	xmlSchemaPErr(ctxt, type->node,
-		XML_SCHEMAS_ERR_INTERNAL,
+		XML_SCHEMAP_INTERNAL,
 		"Internal error: xmlSchemaCheckSRCSimpleType, "
-		"no subtype on simple type \"%s\".\n",
+		"no subtype on simple type '%s'.\n",
 		type->name, NULL);
 	return (-1);
     }
@@ -7740,7 +11300,7 @@
 	/*
 	xmlSchemaPErr(ctxt, type->node,
 	    XML_SCHEMAP_SRC_SIMPLE_TYPE_1,
-	    "Simple type \"%s\" does not satisfy the constraints "
+	    "Simple type '%s' does not satisfy the constraints "
 	    "on simple type definitions.\n",
 	    type->name, NULL);
 	*/
@@ -7753,21 +11313,11 @@
 	* either it must have a base [attribute] or a <simpleType> among its 
 	* [children], but not both.
 	*/	
-	if (((type->subtypes->base == NULL) && 
-	     ((type->subtypes->subtypes == NULL) ||
-	      (type->subtypes->subtypes->type != XML_SCHEMA_TYPE_SIMPLE))) ||
-	    ((type->subtypes->base != NULL) &&
-	     (type->subtypes->subtypes != NULL) &&
-	     (type->subtypes->subtypes->type == XML_SCHEMA_TYPE_SIMPLE))) {
-	    xmlSchemaPErr(ctxt, type->node,
-		XML_SCHEMAP_SRC_SIMPLE_TYPE_2,
-		"Simple type \"%s\": "
-		"The <restriction> alternative is chosen, thus either the "
-		"\"base\" attribute or the <simpleType> child "
-		"must be present, but not both.\n",
-		type->name, NULL);
-	    return (XML_SCHEMAP_SRC_SIMPLE_TYPE_2);
-	}
+	/*
+	* XML_SCHEMAP_SRC_SIMPLE_TYPE_2
+	* NOTE: This was removed, since this will be already handled
+	* in the parse function for <restriction>. 
+	*/	
     } else if (type->subtypes->type == XML_SCHEMA_TYPE_LIST) {
 	/* src-simple-type.3 If the <list> alternative is chosen, either it must have 
 	* an itemType [attribute] or a <simpleType> among its [children], 
@@ -7775,17 +11325,18 @@
 	* NOTE: baseType is set to the local simple type definiton,
 	* if existent, at parse time. This is a hack and not nice.
 	*/
+	/*
+	* TODO: Remove this, and add the check to the parse function of <list>.
+	*/
 	if (((type->subtypes->base == NULL) && 
 	     (type->baseType == NULL)) ||	      
 	    ((type->subtypes->base != NULL) &&
 	     (type->subtypes->baseType != NULL))) {
-	    xmlSchemaPErr(ctxt, type->node,
+	    xmlSchemaPCustomErr(ctxt, 
 		XML_SCHEMAP_SRC_SIMPLE_TYPE_3,
-		"Simple type \"%s\": "
-		"The <list> alternative is chosen, thus either the " 
-		"\"itemType\" attribute or the <simpleType> child "
-		"must be present, but not both.\n",
-		type->name, NULL);
+		NULL, type, NULL,
+		"Either the attribute 'itemType' or the <simpleType> child "
+		"must be present on the <list> child ", NULL);	    
 	    return (XML_SCHEMAP_SRC_SIMPLE_TYPE_3);
 	}
     
@@ -7810,15 +11361,14 @@
 		if (ancestor == anySimpleType)
 		    break;
 		else if (ancestor == type) {
-		    xmlSchemaPErr(ctxt, type->node,
+		    xmlSchemaPCustomErr(ctxt, 
 			XML_SCHEMAP_SRC_SIMPLE_TYPE_4,
-			"Simple type \"%s\" is not derived from the simple "
-			"ur-type definition (circular definitions are disallowed).\n",
-			type->name, NULL);
+			NULL, type, NULL,
+			"The definition is circular", NULL);
 		    return (XML_SCHEMAP_SRC_SIMPLE_TYPE_4);
 		} else if (ancestor->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
 		    /*
-		    * TODO: Although a list simple type must not have a union ST
+		    * TODO, FIXME: Although a list simple type must not have a union ST
 		    * type as item type, which in turn has a list ST as member 
 		    * type, we will assume this here as well, since this check 
 		    * was not yet performed.
@@ -7829,13 +11379,702 @@
 	    }   
 	    member = member->next;
 	}
+    }
 
+    return (0);
+}
+
+#if 0 /* Not yet used code for CT schema validation */
+static int
+xmlSchemaCheckCVCSimpleType(xmlSchemaValidCtxtPtr ctxt,
+			    const xmlChar * value,
+			    xmlSchemaTypePtr type,
+			    int fireErrors)
+{
+    int ret;
+    /*
+    * 3.14.4 Simple Type Definition Validation Rules
+    * Validation Rule: String Valid
+    */
+    /*
+    * 1 It is schema-valid with respect to that definition as defined 
+    * by Datatype Valid in [XML Schemas: Datatypes].
+    */
+    ret = xmlSchemaValidateSimpleTypeValue(ctxt, type, value, 
+	fireErrors, 1, 1, 1);
+    return (ret);
+    /*
+    * 2.1 If The definition is ENTITY or is validly derived from ENTITY given 
+    * the empty set, as defined in Type Derivation OK (Simple) (§3.14.6), then
+    * the string must be a ·declared entity name·.
+    */
+    /*
+    * 2.2 If The definition is ENTITIES or is validly derived from ENTITIES 
+    * given the empty set, as defined in Type Derivation OK (Simple) (§3.14.6), 
+    * then every whitespace-delimited substring of the string must be a ·declared 
+    * entity name·.
+    */
+    /*
+    * 2.3 otherwise no further condition applies.
+    */
+
+    return (0);
+}
+#endif
+
+
+static int
+xmlSchemaCreatePCtxtOnVCtxt(xmlSchemaValidCtxtPtr vctxt)
+{
+   if (vctxt->pctxt == NULL) {
+        vctxt->pctxt =xmlSchemaNewParserCtxtUseDict("*", vctxt->schema->dict);
+	/* vctxt->pctxt = xmlSchemaNewParserCtxt("*"); */
+	if (vctxt->pctxt == NULL) {
+	    xmlSchemaVErr(vctxt, NULL,
+		XML_SCHEMAV_INTERNAL,
+		"Internal error: xmlSchemaCreatePCtxtOnVCtxt, "
+		"failed to create a temp. parser context.\n",
+		NULL, NULL);
+	    return (-1);
+	}
+	/* TODO: Pass user data. */
+	xmlSchemaSetParserErrors(vctxt->pctxt, vctxt->error, vctxt->warning, NULL);	
     }
+    return (0);
+}
 
+static int
+xmlSchemaCreateVCtxtOnPCtxt(xmlSchemaParserCtxtPtr ctxt)
+{
+   if (ctxt->vctxt == NULL) {
+	ctxt->vctxt = xmlSchemaNewValidCtxt(NULL);
+	if (ctxt->vctxt == NULL) {
+	    xmlSchemaPErr(ctxt, NULL,
+		XML_SCHEMAP_INTERNAL,
+		"Internal error: xmlSchemaCreatePCtxtOnVCtxt, "
+		"failed to create a temp. validation context.\n",
+		NULL, NULL);
+	    return (-1);
+	}
+	/* TODO: Pass user data. */
+	xmlSchemaSetValidErrors(ctxt->vctxt, ctxt->error, ctxt->warning, NULL);	
+    }
     return (0);
 }
 
 /**
+ * xmlSchemaCheckCOSValidDefault:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ * @value: the default value
+ * @node: an optional node (the holder of the value)
+ *
+ * Checks the "cos-valid-default" constraints.
+ *
+ * Returns 0 if the constraints are satisfied,
+ * if not, a positive error code and -1 on internal
+ * errors.
+ */
+static int
+xmlSchemaCheckCOSValidDefault(xmlSchemaParserCtxtPtr pctxt,
+			      xmlSchemaValidCtxtPtr vctxt,
+			      xmlSchemaTypePtr type,
+			      const xmlChar *value,
+			      xmlNodePtr node)
+{   
+    int ret = 0;
+
+    /*
+    * cos-valid-default:
+    * Schema Component Constraint: Element Default Valid (Immediate)
+    * For a string to be a valid default with respect to a type 
+    * definition the appropriate case among the following must be true:
+    */
+    /*
+    * NOTE: This has to work without a given node (the holder of the
+    * value), since it should work on the component, i.e. an underlying
+    * DOM must not be mandatory.
+    */     
+    if ((pctxt == NULL) || (vctxt == NULL)) {
+	xmlSchemaPErr(pctxt, node,
+	    XML_SCHEMAP_INTERNAL,
+	    "Internal error: xmlSchemaCheckCOSValidDefault, "
+	    "bad arguments: the parser and/or validation context is "
+	    "missing.\n",
+	    NULL, NULL);
+	return (-1);	
+    }       
+    if IS_COMPLEX_TYPE(type) {
+	/*
+	* Complex type.
+	*
+	* 2.1 its {content type} must be a simple type definition or mixed.
+	*/
+	/* 
+	* TODO: Adjust this when the content type will be computed 
+	* correctly. 
+	*/
+	if ((type->contentType != XML_SCHEMA_CONTENT_SIMPLE) &&
+	    (type->contentType != XML_SCHEMA_CONTENT_BASIC) &&
+	    (type->contentType != XML_SCHEMA_CONTENT_MIXED)) {
+	    xmlSchemaPSimpleTypeErr(pctxt, 
+		XML_SCHEMAP_COS_VALID_DEFAULT_2_1,
+		NULL, NULL, node,
+		type, NULL, NULL,
+		"If the type of a constraint value is complex, its content "
+		"type must be mixed or a simple type",
+		NULL, NULL);
+	    return(XML_SCHEMAP_COS_VALID_DEFAULT_2_1);
+	}
+	if (type->contentType == XML_SCHEMA_CONTENT_MIXED) {
+	    /*
+	    * 2.2.2 If the {content type} is mixed, then the {content type}'s 
+	    * particle must be ·emptiable· as defined by Particle Emptiable 
+	    * (§3.9.6).
+	    */
+	    
+	    /*
+	    * URGENT TODO: Implement this.
+	    */
+	    return (0);
+	}
+    }	
+    /*
+    * 1 If the type definition is a simple type definition, then the string 
+    * must be ·valid· with respect to that definition as defined by String 
+    * Valid (§3.14.4).
+    *
+    * AND
+    *
+    * 2.2.1 If the {content type} is a simple type definition, then the 
+    * string must be ·valid· with respect to that simple type definition 
+    * as defined by String Valid (§3.14.4).
+    */    
+    vctxt->node = node;
+    vctxt->cur = NULL;
+    ret = xmlSchemaValidateSimpleTypeValue(vctxt, type, value, 1, 1, 1, 0);
+    /* ret = xmlSchemaCheckCVCSimpleType(vctxt, elemDecl->value, typeDef, 0); */   
+    if (ret < 0) {
+	xmlSchemaPErr(pctxt, node,
+	/* NOTNICE: error code: This function will be used during
+	* schema construction and xsi:type validation.
+	*/
+	XML_SCHEMAP_INTERNAL,
+	"Internal error: xmlSchemaCheckCOSValidDefault, "
+	"while validating a value constaint value.\n",
+	NULL, NULL);
+
+    }     	    
+    return (ret);
+}
+
+#if 0 /* Not yet used code for CT schema validation */
+/**
+ * xmlSchemaGetSTContentOfCT:
+ * @ctxt:  the schema parser context
+ * @type:  the complex type definition
+ *
+ *
+ * Returns the corresponding simple type for the content of
+ * the complex type.
+ */
+static xmlSchemaTypePtr
+xmlSchemaGetSTContentOfCT(xmlSchemaParserCtxtPtr ctxt,
+			xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr orig = type, anyType;
+
+    anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+    while ((type != NULL) && (type != anyType) && 
+	(type->type == XML_SCHEMA_TYPE_COMPLEX)) {
+	if (type->type == XML_SCHEMA_TYPE_SIMPLE)
+	    return(type);
+	type = type->baseType;
+    }
+    xmlSchemaPCustomErr(ctxt,
+	XML_SCHEMAP_INTERNAL,
+	NULL, orig, NULL,
+	"Internal error: xmlSchemaGetSTContentTypeOfCT, "
+	"no simple type for the content of complex type '%s' could be "
+	"computed", orig->name);
+    return (NULL);
+}
+
+
+
+
+/**
+ * xmlSchemaCheckCOSCTExtends:
+ * @ctxt:  the schema parser context
+ * @type:  the complex type definition
+ *
+ * Schema Component Constraint: Derivation Valid (Extension)
+ *
+ * Returns 0 if the constraints are satisfied, a positive
+ * error code if not and -1 if an internal error occured.
+ */
+static int
+xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
+			   xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr base;
+    /* 
+    * 1 If the {base type definition} is a complex type definition, 
+    * then all of the following must be true:
+    */
+    base = type->baseType;
+    if (base == NULL) {
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_INTERNAL,
+	    NULL, type, NULL,
+	    "Internal error: xmlSchemaCheckCOSCTExtends, "
+	    "the complex type '%s' has no base type", type->name);
+	return (-1);
+    }
+    if (base->type == XML_SCHEMA_TYPE_COMPLEX) {
+	/*
+	* 1.1 The {final} of the {base type definition} must not 
+	* contain extension.
+	*/
+	if (base->flags & XML_SCHEMAS_TYPE_FINAL_EXTENSION) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_COS_CT_EXTENDS_1_1,
+		NULL, type, NULL,
+		"The 'final' of the base type definition "
+		"contains extension", NULL);
+	    return (XML_SCHEMAP_COS_CT_EXTENDS_1_1);
+	}
+	/*
+	* 1.2 Its {attribute uses} must be a subset of the {attribute uses} 
+	* of the complex type definition itself, that is, for every attribute 
+	* use in the {attribute uses} of the {base type definition}, there 
+	* must be an attribute use in the {attribute uses} of the complex 
+	* type definition itself whose {attribute declaration} has the same 
+	* {name}, {target namespace} and {type definition} as its attribute 
+	* declaration
+	*
+	* NOTE: This will be already satisfied by the way the attribute uses
+	* are extended in xmlSchemaBuildAttributeValidation; thus this check
+	* is not needed.
+	*/
+
+	/*
+	* 1.3 If it has an {attribute wildcard}, the complex type definition 
+	* must also have one, and the base type definition's {attribute 
+	* wildcard}'s {namespace constraint} must be a subset of the complex 
+	* type definition's {attribute wildcard}'s {namespace constraint}, 
+	* as defined by Wildcard Subset (§3.10.6).
+	*
+	* This is already checked in xmlSchemaBuildAttributeValidation; thus 
+	* this check is not needed.
+	*/
+	
+	/*
+	* 1.4 One of the following must be true:
+	*
+	* 1.4.1 The {content type} of the {base type definition} and the 
+	* {content type} of the complex type definition itself must be the same 
+	* simple type definition
+	*/
+
+
+	
+    } else {
+	/*
+	* 2 If the {base type definition} is a simple type definition, 
+	* then all of the following must be true:
+	*/
+	/*
+	* 2.1 The {content type} must be the same simple type definition.
+	*/
+	/*
+	* 2.2 The {final} of the {base type definition} must not contain 
+	* extension
+	*/
+    }
+
+}
+
+static int
+xmlSchemaCheckSRCCT(xmlSchemaParserCtxtPtr ctxt, 
+		    xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr base, content;
+    int OK = 0;
+
+    /*
+    * TODO: Adjust the error codes here, as I used
+    * XML_SCHEMAP_SRC_CT_1 only yet.
+    */
+    /*
+    * Schema Representation Constraint: 
+    * Complex Type Definition Representation OK
+    */
+    base = type->baseType;
+    if (base == NULL) {
+	xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL, NULL, type, NULL,
+	    "Internal error: xmlSchemaCheckSRCCT, '%s', no base type", 
+	    type->name);
+	return (-1);
+    }
+    
+    if (type->subtypes != NULL) {
+	if (type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) {
+	    if IS_COMPLEX_TYPE(base) {
+		/*
+		* 1 If the <complexContent> alternative is chosen, the type definition
+		* ·resolved· to by the ·actual value· of the base [attribute] 
+		* must be a complex type definition;
+		*/
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_SRC_CT_1,
+		    NULL, type, NULL,
+		    "The base type is not a complex type", NULL);
+		return (XML_SCHEMAP_SRC_CT_1);
+	    }
+	} else if (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT) {
+
+	    if IS_SIMPLE_TYPE(base) {
+		if (type->flags & 
+		    XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {
+		    /* 
+		    * 2.1.3 only if the <extension> alternative is also 
+		    * chosen, a simple type definition.
+		    */
+		    /* TODO: Change error code to ..._SRC_CT_2_1_3. */
+		    xmlSchemaPCustomErr(ctxt,
+			XML_SCHEMAP_SRC_CT_1,
+			NULL, type, NULL,
+			"A complex type (simple content) cannot restrict "
+			"an other simple type",
+			NULL);
+		    return (XML_SCHEMAP_SRC_CT_1);
+		}
+		OK = 1;
+
+	    } else { /* if IS_SIMPLE_TYPE(base) */
+		if (base->contentType = XML_SCHEMA_CONTENT_MIXED) {
+		    /*
+		    * 2.1.2 only if the <restriction> alternative is also 
+		    * chosen, a complex type definition whose {content type} 
+		    * is mixed and a particle emptyable.
+		    */	
+		    /*
+		    * FIXME TODO: Check for *empiable particle* is missing. 
+		    */
+		    if ((type->flags & 
+			XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) == 0) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A complex type (simple content) cannot "
+			    "extend an other complex type which has a "
+			    "content type of: 'mixed' and emptiable particle",
+			    NULL);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    }
+		    /*
+		    * NOTE: This will be fired as well, if the base type
+		    * is *'anyType'*.
+		    * NOTE: type->subtypes->subtypes will be the 
+		    * <restriction> item.
+		    */
+		    if (type->subtypes->subtypes == NULL) {
+			/* Yes, this is paranoid programming. */
+			xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL, 
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaCheckSRCCT, "
+			    "'%s', <simpleContent> has no <restriction>", 
+			    type->name);
+			return (-1);
+		    }
+		    /*
+		    * 2.2 If clause 2.1.2 above is satisfied, then there 
+		    * must be a <simpleType> among the [children] of 
+		    * <restriction>.
+		    */
+    		    if (type->subtypes->subtypes->type !=
+			XML_SCHEMA_TYPE_SIMPLE) {
+			/* TODO: Change error code to ..._SRC_CT_2_2. */
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A <simpleType> is expected among the children "
+			    "of <restriction>", NULL);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    } 
+		    OK = 1;
+		} else { /* if (base->contentType = XML_SCHEMA_CONTENT_MIXED)*/
+		    /*
+		    * 2.1.1 a complex type definition whose {content type} is a 
+		    * simple type definition;
+		    */
+		    if (base->contentType == XML_SCHEMA_CONTENT_ELEMENTS) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A complex type (simple content) cannot "
+			    "be derived from the complex type '%s'", 
+			    base->name);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    }
+		    content = base->contentTypeDef;
+		    if (content == NULL) {
+			xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL, 
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaCheckSRCCT, "
+			    "'%s', base type has no content type", 
+			    type->name);
+			return (-1);
+		    }
+		    if (content->type != XML_SCHEMA_TYPE_SIMPLE) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_SRC_CT_1,
+			    NULL, type, NULL,
+			    "A complex type (simple content) cannot "
+			    "be derived from the complex type '%s'", 
+			    base->name);
+			return (XML_SCHEMAP_SRC_CT_1);
+		    }
+		}
+	    } 
+	} 	    	
+    }
+    /*
+    * TODO: 3 The corresponding complex type definition component must 
+    * satisfy the conditions set out in Constraints on Complex Type 
+    * Definition Schema Components (§3.4.6);
+    *
+    * TODO: 4 If clause 2.2.1 or clause 2.2.2 in the correspondence specification 
+    * above for {attribute wildcard} is satisfied, the intensional 
+    * intersection must be expressible, as defined in Attribute Wildcard 
+    * Intersection (§3.10.6).
+    */
+
+}
+#endif
+
+/**
+ * xmlSchemaGroupDefFixup:
+ * @typeDecl:  the schema model group definition
+ * @ctxt:  the schema parser context
+ *
+ * Fixes model group definitions.
+ */
+static void
+xmlSchemaGroupDefFixup(xmlSchemaTypePtr group,
+		       xmlSchemaParserCtxtPtr ctxt, 
+		       const xmlChar * name ATTRIBUTE_UNUSED)
+{    
+    group->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
+    if ((group->ref != NULL) && (group->subtypes == NULL)) {
+	xmlSchemaTypePtr groupDef;
+	/*
+	* Resolve the reference.
+	*/
+	groupDef = xmlSchemaGetGroup(ctxt->schema, group->ref,
+	    group->refNs);
+	if (groupDef == NULL) {
+	    xmlSchemaPResCompAttrErr(ctxt, 
+		XML_SCHEMAP_SRC_RESOLVE, 
+		NULL, group, NULL,
+		"ref", group->ref, group->refNs, 
+		XML_SCHEMA_TYPE_GROUP, NULL);
+	    return;
+	}
+	group->subtypes = groupDef;
+    }		
+}
+
+#if 0 /* Enable when the content type will be computed. */
+static int
+xmlSchemaComputeContentType(xmlSchemaParserCtxtPtr ctxt,
+			xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr base, res = NULL;
+
+    base = type->baseType;
+    if (base == NULL) {
+	xmlSchemaPCustomErr(ctxt,
+	    XML_SCHEMAP_INTERNAL,
+	    NULL, type, NULL,
+	    "Internal error: xmlSchemaGetContentType, "
+	    "the complex type '%s' has no base type", type->name);
+	return (-1);
+    }   
+    if (IS_ANYTYPE(base) || (type->subtypes->type == 
+	    XML_SCHEMA_TYPE_COMPLEX_CONTENT)) {
+	xmlSchemaTypePtr start;
+	/*
+	* Effective 'mixed'.
+	*/
+	if (type->flags & XML_SCHEMAS_TYPE_MIXED)
+	     type->contentType = XML_SCHEMA_CONTENT_MIXED;
+	/*
+	* Effective content.
+	*/
+	if (IS_ANYTYPE(base)) 
+	    start = type;
+	else
+	    start = type->subtypes;
+	 
+    } else { /* if XML_SCHEMA_TYPE_COMPLEX_CONTENT */
+	xmlSchemaTypePtr baseContentItem;
+
+	/*
+	* Complex type with simple content.
+	*/
+	if IS_COMPLEX_TYPE(base) {
+	    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {	
+		/*
+		* Summary: a complex type (simple content) can *restrict*
+		* a complex type with the following content type:
+		* 1. 'mixed' and an emptiable particle
+		* 2. simple type
+		*/
+		if (base->contentType == XML_SCHEMA_CONTENT_MIXED) {
+		    /*
+		    * 2 if the {content type} of the base type is mixed and a 
+		    * particle which is ·emptiable·, 
+		    * [...] 
+		    * then starting from the simple type definition 
+		    * corresponding to the <simpleType> among the [children] 
+		    * of <restriction> (**which must be present**)
+		    *
+		    * FIXME TODO: Handle "emptiable particle".
+		    */
+		    res = type->subtypes->subtypes;
+		    if (res == NULL) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_INTERNAL,
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaGetContentType, "
+			    "CT '%s' (restricting): <simpleContent> has no "
+			    "<restriction>",
+			    type->name);
+			return (-1);
+		    }
+
+		    res->subtypes;
+		    if (res == NULL) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_INTERNAL,
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaGetContentType, "
+			    "CT '%s' (restricting): <restriction> has no "
+			    "mandatory <simpleType>",
+			    type->name);
+			return (-1);
+		    }
+		} else {
+		    baseContentItem = base->contentTypeDef;
+		    if (baseContentItem == NULL) {
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_INTERNAL,
+			    NULL, type, NULL,
+			    "Internal error: xmlSchemaGetContentType, "
+			    "CT '%s' (restricting), the base type has no "
+			    "content type", type->name);
+			return (-1);
+		    }
+		    if IS_SIMPLE_TYPE(baseContentItem) {
+			/*
+			* 1 If the base type is a complex type whose own 
+		    	* {content type} is a simple type and the <restriction> 
+			* alternative is chosen
+			*/
+			/* type->subtypes->subtypes will be the restriction item.*/
+			res = type->subtypes->subtypes;
+			if (res == NULL) {
+			    xmlSchemaPCustomErr(ctxt,
+				XML_SCHEMAP_INTERNAL,
+				NULL, type, NULL,
+				"Internal error: xmlSchemaGetContentType, "
+				"CT '%s' (restricting): <simpleType> has no "
+				"<restriction>", type->name);
+			    return (-1);
+			}
+			/*
+			* 1.1 the simple type definition corresponding to the 
+			* <simpleType> among the [children] of <restriction>if 
+			* there is one;
+			*/
+			res = res->subtypes;
+			if (res == NULL) {
+			    /*
+			    * 1.2 otherwise the {content type} 
+			    * of the base type .
+			    */
+			    res = baseContentItem;
+			}
+		    }
+		}
+		/*
+		* SPECIAL TODO: If *restricting* the spec wants us to 
+		* create an *additional* simple type which restricts the 
+		* located simple type; we won't do this yet, and look how 
+		* far we get with it.
+		*/
+	    } else { /* if XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION */
+		/*
+		* Summary: a complex type (simple content) can *extend*
+		* only a complex base with a simple type as content.
+		*/		
+		/*
+		* 3 If the type definition ·resolved· to by the ·actual 
+		* value· of the base [attribute] is a complex type 
+		* definition (whose own {content type} *must be* a simple 
+		* type definition, see below) and the *<extension>* 
+		* alternative is chosen, then the {content type} of that 
+		* complex type definition;
+		*/
+		res = base->contentTypeDef;
+		if (res == NULL) {
+		    xmlSchemaPCustomErr(ctxt,
+			XML_SCHEMAP_INTERNAL,
+			NULL, type, NULL,
+			"Internal error: xmlSchemaGetContentType, "
+			"CT '%s' (extending), the base type has no content "
+			"type", type->name);
+		    return (-1);
+		}		
+		if (! IS_SIMPLE_TYPE(res)) {
+		    xmlSchemaPCustomErr(ctxt,
+			XML_SCHEMAP_INTERNAL,
+			NULL, type, NULL,
+			"Internal error: xmlSchemaGetContentType, "
+			"CT '%s' (extending), the content type of the "
+			"base is not a simple type", type->name);
+		    return (-1);
+		}		
+	    }	    	
+	} else /* if IS_COMPLEX_TYPE(base) */
+	    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) {
+	    /*
+	    * 4 otherwise (the type definition ·resolved· to by the 
+	    * ·actual value· of the base [attribute] is a simple type 
+	    * definition and the <extension> alternative is chosen), 
+	    * then that simple type definition.
+	    */
+	    res = base;
+	}	
+	type->contentTypeDef = res;
+	if (res == NULL) {
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_INTERNAL,
+		NULL, type, NULL,
+		"Internal error: xmlSchemaGetContentType, "
+		"'%s', the content type could not be determined", 
+		type->name);
+	    return (-1);
+	}
+
+    }
+    
+}
+#endif
+
+/**
  * xmlSchemaTypeFixup:
  * @typeDecl:  the schema type definition
  * @ctxt:  the schema parser context
@@ -7843,19 +12082,19 @@
  * Fixes the content model of the type.
  */
 static void
-xmlSchemaTypeFixup(xmlSchemaTypePtr typeDecl,
+xmlSchemaTypeFixup(xmlSchemaTypePtr item,
                    xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
     xmlSchemaTypePtr ctxtType;
 
-    if (typeDecl == NULL)
+    if (item == NULL)
         return;
     /*
     * Do not allow the following types to be typefixed, prior to
     * the corresponding simple/complex types.
     */
     if (ctxt->ctxtType == NULL) {
-	switch (typeDecl->type) {
+	switch (item->type) {
 	    case XML_SCHEMA_TYPE_SIMPLE_CONTENT:
 	    case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
 	    case XML_SCHEMA_TYPE_UNION:
@@ -7867,18 +12106,19 @@
 	}
     }
     if (name == NULL)
-        name = typeDecl->name;
-    if (typeDecl->contentType == XML_SCHEMA_CONTENT_UNKNOWN) {
-        switch (typeDecl->type) {
+        name = item->name;
+    if (item->contentType == XML_SCHEMA_CONTENT_UNKNOWN) {
+        switch (item->type) {
             case XML_SCHEMA_TYPE_SIMPLE_CONTENT:{		    
-		    if (typeDecl->subtypes != NULL) {
-			if (typeDecl->subtypes->contentType ==
+		    if (item->subtypes != NULL) {
+			if (item->subtypes->contentType ==
 			    XML_SCHEMA_CONTENT_UNKNOWN) {
-			    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
+			    xmlSchemaTypeFixup(item->subtypes, ctxt,
 				NULL);
 			}
-                        typeDecl->contentType =
-                            typeDecl->subtypes->contentType;
+                        item->contentType =
+			    XML_SCHEMA_CONTENT_SIMPLE;
+                            /* item->subtypes->contentType; */
 		    }
                     break;
                 }
@@ -7887,99 +12127,57 @@
 
 		    ctxt->ctxtType->flags |= 
 			XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
-                    if (typeDecl->subtypes != NULL)
-                        xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
-
-                    if (typeDecl->base != NULL) {
+		    if (item->baseType != NULL)
+			base = item->baseType;
+                    else if (item->base != NULL) {
                         base =
-                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                             typeDecl->baseNs);
+                            xmlSchemaGetType(ctxt->schema, item->base,
+                                             item->baseNs);
                         if (base == NULL) {
-			    xmlSchemaPErr(ctxt, typeDecl->node,
-				XML_SCHEMAP_SRC_RESOLVE,
-				"Restriction \"%s\": the QName \"%s\" of the "
-				"attribute \"base\" does not resolve to a schema "
-				"component.\n",
-				name, typeDecl->base);
+			    xmlSchemaPResCompAttrErr(ctxt, 
+				XML_SCHEMAP_SRC_RESOLVE, 
+				NULL, NULL, 
+				(xmlNodePtr) xmlSchemaGetPropNode(item->node, "base"),
+				"base", item->base, item->baseNs,
+				XML_SCHEMA_TYPE_BASIC, "type definition");			    
                         } else if (base->contentType == 
 			    XML_SCHEMA_CONTENT_UNKNOWN) {
-			    /* 
-			     * The base type might be not "type fixed" yet,
-			     * so do it now. */
-			    /* 
-			     * TODO: Is a check for circular derivation already
-			     * done?
-			     */
 			    xmlSchemaTypeFixup(base, ctxt, NULL);
                         }			
-                    }
+                    }	
+		    ctxt->ctxtType->baseType = base;
 		    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX) {
 			/*
 			* ComplexType restriction.
-			*/
+			*/			
 			/*
-			* Base type: The type definition ·resolved· to by the ·actual 
-			* value· of the base [attribute]
-			*/
-			ctxt->ctxtType->baseType = base;
-			/*
 			* Content type.
 			*/
-			if (typeDecl->subtypes == NULL)
+			if (item->subtypes == NULL)
 			    /* 1.1.1 */
-			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-			else if ((typeDecl->subtypes->subtypes == NULL) &&
-			    ((typeDecl->subtypes->type ==
+			    item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((item->subtypes->subtypes == NULL) &&
+			    ((item->subtypes->type ==
 			    XML_SCHEMA_TYPE_ALL)
-			    || (typeDecl->subtypes->type ==
+			    || (item->subtypes->type ==
 			    XML_SCHEMA_TYPE_SEQUENCE)))
 			    /* 1.1.2 */
-			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-			else if ((typeDecl->subtypes->type ==
+			    item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((item->subtypes->type ==
 			    XML_SCHEMA_TYPE_CHOICE)
-			    && (typeDecl->subtypes->subtypes == NULL))
+			    && (item->subtypes->subtypes == NULL))
 			    /* 1.1.3 */
-			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			    item->contentType = XML_SCHEMA_CONTENT_EMPTY;
 			else {
 			    /* 1.2 and 2.X are applied at the other layer */
-			    typeDecl->contentType =
+			    item->contentType =
 				XML_SCHEMA_CONTENT_ELEMENTS;
 			}
 		    } else {	
 			/*
 			* SimpleType restriction.
 			*/
-			/* Base type: 
-			* The Simple Type Definition component resolved to by 
-			* the actual value of the base [attribute] or the 
-			* <simpleType> [children], whichever is present. 
-			*/	
-			if ((base == NULL) && (typeDecl->subtypes != NULL)) {
-			    base = typeDecl->subtypes;
-			    ctxt->ctxtType->baseType = base;
-			    if (base->contentType == XML_SCHEMA_CONTENT_UNKNOWN)			
-				xmlSchemaTypeFixup(base, ctxt, NULL);
-			} else 
-			    ctxt->ctxtType->baseType = base;
-
-			if (((typeDecl->base == NULL) && 
-			     ((typeDecl->subtypes == NULL) ||	
-			      (typeDecl->subtypes->type != XML_SCHEMA_TYPE_SIMPLE))) ||
-			    ((typeDecl->base != NULL) &&
-			     (typeDecl->subtypes != NULL) &&	
-			     (typeDecl->subtypes->type == XML_SCHEMA_TYPE_SIMPLE))) {
-			    /* 
-			    * src-restriction-base-or-simpleType
-			    * Either the base [attribute] or the simpleType [child] of the 
-			    * <restriction> element must be present, but not both. 
-			    */
-			    xmlSchemaPErr(ctxt, typeDecl->node,
-				XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE,		
-				"Restriction \"%s\": "
-				"Either the \"base\" attribute or the <simpleType> child "
-				"must be present, but not both.\n",
-				typeDecl->name, NULL);
-			}
+			/* TODO: Nothing? */
 		    }
                     break;
                 }
@@ -7992,30 +12190,29 @@
 		    */
 		    ctxt->ctxtType->flags |= 
 			XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION;
-		    if (typeDecl->recurse) {
+		    if (item->recurse) {
 			/* TODO: The word "recursive" should be changed to "circular" here. */
-                        xmlSchemaPErr(ctxt, typeDecl->node,
-                                      XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-				  "Schemas: extension type %s is recursive\n",
-                                      name, NULL);
+			xmlSchemaPCustomErr(ctxt,
+			    XML_SCHEMAP_UNKNOWN_BASE_TYPE,
+			    NULL, item, item->node,	
+			    "This item is circular", NULL);
                         return;
 		    }
-		    if (typeDecl->base != NULL) {                        
+		    if (item->base != NULL) {                        
                         base =
-                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                             typeDecl->baseNs);
+                            xmlSchemaGetType(ctxt->schema, item->base,
+                                             item->baseNs);
                         if (base == NULL) {
-			    xmlSchemaPErr(ctxt, typeDecl->node,
-				XML_SCHEMAP_SRC_RESOLVE,
-				"Extension \"%s\": the QName \"%s\" of the "
-				"attribute \"base\" does not resolve to a schema "
-				"component.\n",
-				name, typeDecl->base);
+			    xmlSchemaPResCompAttrErr(ctxt, 
+				XML_SCHEMAP_SRC_RESOLVE, 
+				NULL, item, item->node,
+				"base", item->base, item->baseNs,
+				XML_SCHEMA_TYPE_BASIC, "type definition");				   
                         } else if (base->contentType == 
 			    XML_SCHEMA_CONTENT_UNKNOWN) {
-			    typeDecl->recurse = 1;
+			    item->recurse = 1;
 			    xmlSchemaTypeFixup(base, ctxt, NULL);
-			    typeDecl->recurse = 0;
+			    item->recurse = 0;
                         }
 			/*
 			* The type definition ·resolved· to by the ·actual 
@@ -8027,41 +12224,41 @@
 			* the content model by xmlSchemaBuildAContentModel.
 			* Try to get rid of it.
 			*/
-			typeDecl->baseType = base;			
+			item->baseType = base;			
                     }
-		    if ((typeDecl->subtypes != NULL) &&
-			(typeDecl->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
-                        xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);	    
+		    if ((item->subtypes != NULL) &&
+			(item->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
+                        xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);	    
 		    
 		    explicitContentType = XML_SCHEMA_CONTENT_ELEMENTS;
-		    if (typeDecl->subtypes == NULL)
+		    if (item->subtypes == NULL)
 			/* 1.1.1 */
 			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-		    else if ((typeDecl->subtypes->subtypes == NULL) &&
-			((typeDecl->subtypes->type ==
+		    else if ((item->subtypes->subtypes == NULL) &&
+			((item->subtypes->type ==
 			XML_SCHEMA_TYPE_ALL)
-			|| (typeDecl->subtypes->type ==
+			|| (item->subtypes->type ==
 			XML_SCHEMA_TYPE_SEQUENCE)))
 			/* 1.1.2 */
 			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-		    else if ((typeDecl->subtypes->type ==
+		    else if ((item->subtypes->type ==
 			XML_SCHEMA_TYPE_CHOICE)
-			&& (typeDecl->subtypes->subtypes == NULL))
+			&& (item->subtypes->subtypes == NULL))
 			/* 1.1.3 */
 			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
 		    if (base != NULL) {
 			/* It will be reported later, if the base is missing. */			    
 			if (explicitContentType == XML_SCHEMA_CONTENT_EMPTY) {
 			    /* 2.1 */
-			    typeDecl->contentType = base->contentType;
+			    item->contentType = base->contentType;
 			} else if (base->contentType ==
 			    XML_SCHEMA_CONTENT_EMPTY) {
 			    /* 2.2 imbitable ! */
-			    typeDecl->contentType =
+			    item->contentType =
 				XML_SCHEMA_CONTENT_ELEMENTS;
 			} else {
 			    /* 2.3 imbitable pareil ! */
-			    typeDecl->contentType =
+			    item->contentType =
 				XML_SCHEMA_CONTENT_ELEMENTS;
 			}
 		    }		                
@@ -8069,11 +12266,17 @@
                 }
             case XML_SCHEMA_TYPE_COMPLEX:{
 		    ctxtType = ctxt->ctxtType;
-		    ctxt->ctxtType = typeDecl;
-		    if ((typeDecl->subtypes == NULL) || 
-			((typeDecl->subtypes->type != 
+		    ctxt->ctxtType = item;
+		    /*
+		    * Start with an empty content-type type.
+		    */
+		    if (item->subtypes == NULL)
+			item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+
+		    if ((item->subtypes == NULL) || 
+			((item->subtypes->type != 
 			XML_SCHEMA_TYPE_SIMPLE_CONTENT) && 
-			(typeDecl->subtypes->type != 
+			(item->subtypes->type != 
 			XML_SCHEMA_TYPE_COMPLEX_CONTENT))) {
 			/* 
 			* This case is understood as shorthand for complex 
@@ -8081,60 +12284,64 @@
 			* the details of the mappings should be modified as 
 			* necessary.
 			*/			
-			typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
-			typeDecl->flags |= 
+			item->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+			item->flags |= 
 			    XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
+			/*
+			* Assume that we inherit the content-type type 
+			* from 'anyType', which is 'mixed' and a particle
+			* emptiable.
+			*/
+			item->contentType = item->baseType->contentType;
 		    }
-                    if (typeDecl->subtypes == NULL) {
-			typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
-                            typeDecl->contentType =
-                                XML_SCHEMA_CONTENT_MIXED;			
-                    } else {
-			if ((typeDecl->subtypes != NULL) &&
-			    (typeDecl->subtypes->contentType ==
-			    XML_SCHEMA_CONTENT_UNKNOWN)) {			    
-			    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
-				NULL);			    
-			}
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED) {
-                            typeDecl->contentType =
-                                XML_SCHEMA_CONTENT_MIXED;
-                        } else {			    
-                            if (typeDecl->subtypes != NULL) {
-                                typeDecl->contentType =
-                                    typeDecl->subtypes->contentType;
-			    }
-                        }			
-                    }
-		    xmlSchemaBuildAttributeValidation(ctxt, typeDecl);
+		    /*
+		    * Fixup the sub components.
+		    */
+		    if ((item->subtypes != NULL) &&
+			(item->subtypes->contentType ==
+			XML_SCHEMA_CONTENT_UNKNOWN)) {			    
+			xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);
+		    }	
+		    if (item->flags & XML_SCHEMAS_TYPE_MIXED) {
+			item->contentType = XML_SCHEMA_CONTENT_MIXED;			
+		    } else if (item->subtypes != NULL) {
+			/*
+			* Use the content-type type of the model groups
+			* defined, if 'mixed' is not set. If 'mixed' is set
+			* it will expand the content-type by allowing character
+			* content to appear.
+			*/
+			item->contentType =
+			    item->subtypes->contentType;
+		    }
+		    xmlSchemaBuildAttributeValidation(ctxt, item);
 		    ctxt->ctxtType = ctxtType;
                     break;
                 }
             case XML_SCHEMA_TYPE_COMPLEX_CONTENT:{
-                    if (typeDecl->subtypes == NULL) {
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
-                            typeDecl->contentType =
+                    if (item->subtypes == NULL) {
+                        item->contentType = XML_SCHEMA_CONTENT_EMPTY;
+                        if (item->flags & XML_SCHEMAS_TYPE_MIXED)
+                            item->contentType =
                                 XML_SCHEMA_CONTENT_MIXED;
                     } else {
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED) {
-                            typeDecl->contentType =
+                        if (item->flags & XML_SCHEMAS_TYPE_MIXED) {
+                            item->contentType =
                                 XML_SCHEMA_CONTENT_MIXED;
                         } else {
-                            xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
+                            xmlSchemaTypeFixup(item->subtypes, ctxt,
                                                NULL);
-                            if (typeDecl->subtypes != NULL)
-                                typeDecl->contentType =
-                                    typeDecl->subtypes->contentType;
+                            if (item->subtypes != NULL)
+                                item->contentType =
+                                    item->subtypes->contentType;
                         }
 			/* 
 			 * Removed due to implementation of the build of attribute uses. 
 			 */
 			/*
-			if (typeDecl->attributes == NULL)
-			    typeDecl->attributes =
-			        typeDecl->subtypes->attributes;
+			if (item->attributes == NULL)
+			    item->attributes =
+			        item->subtypes->attributes;
 			*/
                     }
                     break;
@@ -8145,35 +12352,35 @@
 		*
 		*/
 		ctxtType = ctxt->ctxtType;		
-		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
-		if (typeDecl->subtypes->contentType == 
+		item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		if (item->subtypes->contentType == 
 		    XML_SCHEMA_CONTENT_UNKNOWN) {
-		    ctxt->ctxtType = typeDecl;
-		    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
+		    ctxt->ctxtType = item;
+		    xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);
 		}
 		/* Fixup base type */		
-		if ((typeDecl->baseType != NULL) && 
-		    (typeDecl->baseType->contentType ==
+		if ((item->baseType != NULL) && 
+		    (item->baseType->contentType ==
 		    XML_SCHEMA_CONTENT_UNKNOWN)) {
 		    /* OPTIMIZE: Actually this one will never by hit, since
 		    * the base type is already type-fixed in <restriction>.
 		    */
-		    ctxt->ctxtType = typeDecl;
-		    xmlSchemaTypeFixup(typeDecl->baseType, ctxt, NULL);
+		    ctxt->ctxtType = item;
+		    xmlSchemaTypeFixup(item->baseType, ctxt, NULL);
 		}
 		/* Base type: 
 		* 2 If the <list> or <union> alternative is chosen, 
 		* then the ·simple ur-type definition·.
 		*/
-		if (typeDecl->subtypes->type ==
+		if (item->subtypes->type ==
 		    XML_SCHEMA_TYPE_LIST) {
-		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
-		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;		    
-		} else if (typeDecl->subtypes->type ==
+		    item->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    item->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;		    
+		} else if (item->subtypes->type ==
 		    XML_SCHEMA_TYPE_UNION) {
-		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
-		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;
-		} else if (typeDecl->subtypes->type ==
+		    item->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    item->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;
+		} else if (item->subtypes->type ==
 		    XML_SCHEMA_TYPE_RESTRICTION) {
 		    xmlSchemaFacetLinkPtr facet, cur, last = NULL;
 		    		    	    		   
@@ -8182,16 +12389,16 @@
 		    * If the <restriction> alternative is chosen, then the 
 		    * {variety} of the {base type definition}.
 		    */	
-		    if (typeDecl->baseType != NULL) {
-			if (typeDecl->baseType->flags & 
+		    if (item->baseType != NULL) {
+			if (item->baseType->flags & 
 			    XML_SCHEMAS_TYPE_VARIETY_ATOMIC)
-			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
-			else if (typeDecl->baseType->flags & 
+			    item->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
+			else if (item->baseType->flags & 
 			    XML_SCHEMAS_TYPE_VARIETY_LIST)
-			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
-			else if (typeDecl->baseType->flags & 
+			    item->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
+			else if (item->baseType->flags & 
 			    XML_SCHEMAS_TYPE_VARIETY_UNION)
-			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;		    		    		   
+			    item->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;		    		    		   
 			/*
 			* Schema Component Constraint: Simple Type Restriction 
 			* (Facets)
@@ -8206,12 +12413,12 @@
 			* facets, for which multiple occurrences with distinct values 
 			* are allowed.
 			*/
-			if (typeDecl->baseType->facetSet != NULL) {
-			    last = typeDecl->facetSet;
+			if (item->baseType->facetSet != NULL) {
+			    last = item->facetSet;
 			    if (last != NULL)
 				while (last->next != NULL)
 				    last = last->next;
-				cur = typeDecl->baseType->facetSet;
+				cur = item->baseType->facetSet;
 				for (; cur != NULL; cur = cur->next) {
 				    /* 
 				    * Base patterns won't be add here:
@@ -8224,12 +12431,12 @@
 					XML_SCHEMA_FACET_PATTERN) 
 					continue;
 				    facet = NULL;
-				    if ((typeDecl->facetSet != NULL) &&
+				    if ((item->facetSet != NULL) &&
 					(cur->facet->type != 
 					XML_SCHEMA_FACET_PATTERN) &&
 					(cur->facet->type != 
 					XML_SCHEMA_FACET_ENUMERATION)) {				
-					facet = typeDecl->facetSet;
+					facet = item->facetSet;
 					do {
 					    if (cur->facet->type == 
 						facet->facet->type) 
@@ -8248,7 +12455,7 @@
 					facet->facet = cur->facet;
 					facet->next = NULL;
 					if (last == NULL)
-					    typeDecl->facetSet = facet;		    
+					    item->facetSet = facet;		    
 					else 
 					    last->next = facet;
 					last = facet;				
@@ -8260,22 +12467,26 @@
 		/*
 		* Check constraints.
 		*/
-		xmlSchemaCheckSRCSimpleType(ctxt, typeDecl);
+		xmlSchemaCheckSRCSimpleType(ctxt, item);
 		ctxt->ctxtType = ctxtType;
 		break;
-            case XML_SCHEMA_TYPE_SEQUENCE:
-            case XML_SCHEMA_TYPE_GROUP:
+            case XML_SCHEMA_TYPE_SEQUENCE:            
             case XML_SCHEMA_TYPE_ALL:
             case XML_SCHEMA_TYPE_CHOICE:
-                typeDecl->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
+                item->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
                 break;
+	    case XML_SCHEMA_TYPE_GROUP:
+		/*
+		* TODO: Handling was moved to xmlSchemaGroupDefFixup.
+		*/
+		break;
             case XML_SCHEMA_TYPE_LIST: 
-		xmlSchemaParseListRefFixup(typeDecl, ctxt);
-		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		xmlSchemaParseListRefFixup(item, ctxt);
+		item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
 		break;
             case XML_SCHEMA_TYPE_UNION:		
-		xmlSchemaParseUnionRefCheck(typeDecl, ctxt);
-		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		xmlSchemaParseUnionRefCheck(item, ctxt);
+		item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
 		break;
             case XML_SCHEMA_TYPE_BASIC:
             case XML_SCHEMA_TYPE_ANY:
@@ -8298,22 +12509,22 @@
             case XML_SCHEMA_FACET_LENGTH:
             case XML_SCHEMA_FACET_MAXLENGTH:
             case XML_SCHEMA_FACET_MINLENGTH:
-                typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
-		if (typeDecl->subtypes != NULL)
-		    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
+                item->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		if (item->subtypes != NULL)
+		    xmlSchemaTypeFixup(item->subtypes, ctxt, NULL);
                 break;
         }
     }
 #ifdef DEBUG_TYPE
-    if (typeDecl->node != NULL) {
+    if (item->node != NULL) {
         xmlGenericError(xmlGenericErrorContext,
                         "Type of %s : %s:%d :", name,
-                        typeDecl->node->doc->URL,
-                        xmlGetLineNo(typeDecl->node));
+                        item->node->doc->URL,
+                        xmlGetLineNo(item->node));
     } else {
         xmlGenericError(xmlGenericErrorContext, "Type of %s :", name);
     }
-    switch (typeDecl->contentType) {
+    switch (item->contentType) {
         case XML_SCHEMA_CONTENT_SIMPLE:
             xmlGenericError(xmlGenericErrorContext, "simple\n");
             break;
@@ -8362,9 +12573,16 @@
                     xmlSchemaTypePtr typeDecl,
                     xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
-    static xmlSchemaTypePtr nonNegativeIntegerType = NULL;
-    int ret = 0;
+    xmlSchemaTypePtr nonNegativeIntegerType = NULL;
+    int ret = 0, reuseValCtxt = 0;
 
+    if ((facet == NULL) || (typeDecl == NULL))
+        return(-1);
+    /* 
+    * TODO: will the parser context be given if used from
+    * the relaxNG module?
+    */
+
     if (nonNegativeIntegerType == NULL) {
         nonNegativeIntegerType =
             xmlSchemaGetBuiltInType(XML_SCHEMAS_NNINTEGER);
@@ -8403,28 +12621,49 @@
 		    base = typeDecl->baseType;
 		    if (base == NULL) {
 			xmlSchemaPErr(ctxt, typeDecl->node,
-			    XML_SCHEMAS_ERR_INTERNAL,
+			    XML_SCHEMAP_INTERNAL,
 			    "Internal error: xmlSchemaCheckFacet, "
-			    "the type \"%s\" has no base type.\n",
+			    "the type '%s' has no base type.\n",
 			    typeDecl->name, NULL);
 			return (-1);
 		    }		
 		} else
 		    base = typeDecl;
 		/*
-		* TODO: Try to avoid creating a new context.
+		* This avoids perseverative creation of the 
+		* validation context if a parser context is
+		* used.
 		*/
-                vctxt = xmlSchemaNewValidCtxt(NULL);
-                if (vctxt == NULL) {
-		    xmlSchemaPErr(ctxt, typeDecl->node,
-			XML_SCHEMAS_ERR_INTERNAL,
-			"Internal error: xmlSchemaCheckFacet, "
-			"creating a new validation context.\n",
-			typeDecl->name, NULL);
-                    return (-1);	
+		if (ctxt != NULL) {
+		    reuseValCtxt = 1;
+		    if (ctxt->vctxt == NULL) {
+			if (xmlSchemaCreateVCtxtOnPCtxt(ctxt) == -1)
+			    return (-1);
+		    }
+		    vctxt = ctxt->vctxt;
+		} else {
+		    vctxt = xmlSchemaNewValidCtxt(NULL);
+		    if (vctxt == NULL) {
+			xmlSchemaPErr(ctxt, typeDecl->node,
+			    XML_SCHEMAP_INTERNAL,
+			    "Internal error: xmlSchemaCheckFacet, "
+			    "creating a new validation context.\n",
+			    NULL, NULL);
+			return (-1);	
+		    }
 		}
-		vctxt->type = base;
-		ret = xmlSchemaValidateSimpleTypeValue(vctxt, facet->value, 0, 1);
+	                
+		vctxt->node = facet->node;
+		vctxt->cur = NULL;
+		/*
+		* NOTE: This call does not check the content nodes, 
+		* since they are not available:
+		* facet->node is just the node holding the facet 
+		* definition, *not* the attribute holding the *value* 
+		* of the facet.
+		*/
+		ret = xmlSchemaValidateSimpleTypeValue(vctxt, base, 
+		    facet->value, 0, 1, 1, 0);
 		facet->val = vctxt->value;
 		vctxt->value = NULL;		
                 if (ret > 0) {
@@ -8433,8 +12672,8 @@
                         xmlSchemaPErrExt(ctxt, facet->node,
 			    XML_SCHEMAP_INVALID_FACET, 
 			    NULL, NULL, NULL,
-			    "Type \"%s\": the value \"%s\" of the "
-			    "facet \"%s\" is invalid.\n",
+			    "Type definition '%s': The value '%s' of the "
+			    "facet '%s' is not valid.\n",
 			    name, facet->value, 
 			    BAD_CAST xmlSchemaFacetTypeToString(facet->type), 
 			    NULL, NULL);
@@ -8442,74 +12681,27 @@
                     ret = -1;
                 } else if (ret < 0) {
 		    xmlSchemaPErrExt(ctxt, facet->node,
-			XML_SCHEMAS_ERR_INTERNAL,
+			XML_SCHEMAP_INTERNAL,
 			NULL, NULL, NULL,
 			"Internal error: xmlSchemaCheckFacet, "
-			"failed to validate the value \"%s\" name of the "
-			"facet \"%s\" against the base type \"%s\".\n",
+			"failed to validate the value '%s' name of the "
+			"facet '%s' against the base type '%s'.\n",
 			facet->value, 
 			BAD_CAST xmlSchemaFacetTypeToString(facet->type),
 			base->name, NULL, NULL); 
 		    ret = -1;
-		}                				
-		xmlSchemaFreeValidCtxt(vctxt);
+		}   
+		if (reuseValCtxt == 0)
+		    xmlSchemaFreeValidCtxt(vctxt);
                 break;
             }
-	/*
-	* Removed, since added to the case above.
-	*
-        case XML_SCHEMA_FACET_ENUMERATION:{
-                *
-                 * Okay we need to validate the value
-                 * at that point.
-                 *
-                xmlSchemaValidCtxtPtr vctxt;
-                int tmp;
-		xmlSchemaTypePtr base;
-
-		* 4.3.5.5 Constraints on enumeration Schema Components
-		* Schema Component Constraint: enumeration valid restriction
-		* It is an ·error· if any member of {value} is not in the 
-		* ·value space· of {base type definition}. 
-		*
-                vctxt = xmlSchemaNewValidCtxt(NULL);
-                if (vctxt == NULL)
-                    break;
-		base = typeDecl->baseType;
-		if (base == NULL) {
-		    xmlSchemaPErr(ctxt, typeDecl->node,
-			XML_SCHEMAS_ERR_INTERNAL,
-			"Internal error: xmlSchemaCheckFacet, "
-			"the type \"%s\" has no base type.\n",
-			typeDecl->name, NULL);
-		    return (-1);
-		}
-		vctxt->type = base;
-		tmp = xmlSchemaValidateSimpleTypeValue(vctxt, facet->value, 0, 1);
-                * tmp = xmlSchemaValidateSimpleValue(vctxt, typeDecl,
-                                                   facet->value);
-		*
-                if (tmp != 0) {
-                    if (ctxt != NULL) {
-                        xmlSchemaPErr(ctxt, facet->node,
-			    XML_SCHEMAP_INVALID_ENUM,
-			    "Type \"%s\": the value \"%s\" of the "
-			    "facet \"enumeration\" is invalid.\n",
-			    name, facet->value);
-                    }
-                    ret = -1;
-                }
-                xmlSchemaFreeValidCtxt(vctxt);
-                break;
-            }
-	*/
         case XML_SCHEMA_FACET_PATTERN:
             facet->regexp = xmlRegexpCompile(facet->value);
             if (facet->regexp == NULL) {
 		xmlSchemaPErr(ctxt, typeDecl->node,
 		    XML_SCHEMAP_REGEXP_INVALID,
-		    "Type \"%s\": the value \"%s\" of the "
-		    "facet \"pattern\" is invalid.\n",
+		    "Type definition '%s': The value '%s' of the "
+		    "facet 'pattern' is not valid.\n",
 		    name, facet->value);
                 ret = -1;
             }
@@ -8524,15 +12716,15 @@
                 tmp =
                     xmlSchemaValidatePredefinedType(nonNegativeIntegerType,
                                                     facet->value,
-                                                    &facet->val);
+                                                    &(facet->val));
                 if (tmp != 0) {
                     /* error code */
                     if (ctxt != NULL) {
                         xmlSchemaPErrExt(ctxt, facet->node,
 			    XML_SCHEMAP_INVALID_FACET_VALUE,
 			    NULL, NULL, NULL,
-			    "Type \"%s\": the value \"%s\" of the "
-			    "facet \"%s\" is invalid.\n",
+			    "Type definition '%s': The value '%s' of the "
+			    "facet '%s' is not valid.\n",
 			    name, facet->value, 
 			    BAD_CAST xmlSchemaFacetTypeToString(facet->type),
 			    NULL, NULL);
@@ -8552,8 +12744,8 @@
                     if (ctxt != NULL) {
                         xmlSchemaPErr(ctxt, facet->node,
 			    XML_SCHEMAP_INVALID_WHITE_SPACE,
-			    "Type \"%s\": the value \"%s\" of the "
-			    "facet \"whiteSpace\" is invalid.\n",
+			    "Type definition '%s': The value '%s' of the "
+			    "facet 'whiteSpace' is not valid.\n",
 			    name, facet->value);
                     }
                     ret = -1;
@@ -8593,6 +12785,234 @@
 }
 
 /**
+ * xmlSchemaGetCircModelGrDefRef:
+ * @ctxtGr: the searched model group
+ * @list: the list of model groups to be processed
+ *
+ * This one is intended to be used by
+ * xmlSchemaCheckGroupDefCircular only.
+ *
+ * Returns the circular model group definition reference, otherwise NULL.
+ */
+static xmlSchemaTypePtr
+xmlSchemaGetCircModelGrDefRef(xmlSchemaTypePtr ctxtGrDef,
+			  xmlSchemaTypePtr gr)
+{    
+    xmlSchemaTypePtr circ = NULL;
+    int marked;
+    /*
+    * We will search for an model group reference which
+    * references the context model group definition.
+    */        
+    while (gr != NULL) {
+	if (((gr->type == XML_SCHEMA_TYPE_GROUP) ||
+	     (gr->type == XML_SCHEMA_TYPE_ALL) ||
+	     (gr->type == XML_SCHEMA_TYPE_SEQUENCE) ||
+	     (gr->type == XML_SCHEMA_TYPE_CHOICE)) &&
+	    (gr->subtypes != NULL)) {		 
+	    marked = 0;
+	    if ((gr->type == XML_SCHEMA_TYPE_GROUP) &&
+		(gr->ref != NULL)) {
+		if (gr->subtypes == ctxtGrDef)
+		    return (gr);
+		else if (gr->subtypes->flags & 
+		    XML_SCHEMAS_TYPE_MARKED) {
+		    gr = gr->next;
+		    continue;
+		} else {
+		    /*
+		    * Mark to avoid infinite recursion on
+		    * circular references not yet examined.
+		    */
+		    gr->subtypes->flags |= XML_SCHEMAS_TYPE_MARKED;
+		    marked = 1;
+		} 
+		if (gr->subtypes->subtypes != NULL)
+		    circ = xmlSchemaGetCircModelGrDefRef(ctxtGrDef, 
+			gr->subtypes->subtypes);
+		    /*
+		    * Unmark the visited model group definition.
+		*/
+		if (marked)
+		    gr->subtypes->flags ^= XML_SCHEMAS_TYPE_MARKED;
+		if (circ != NULL)
+		    return (circ);
+	    } else {
+		circ = xmlSchemaGetCircModelGrDefRef(ctxtGrDef, 
+		    (xmlSchemaTypePtr) gr->subtypes);
+		if (circ != NULL)
+		    return (circ);
+	    }
+
+	}
+	gr = gr->next;
+    }
+    return (NULL);
+}
+
+/**
+ * xmlSchemaCheckGroupDefCircular:
+ * attrGr:  the model group definition
+ * @ctxt:  the parser context
+ * @name:  the name
+ *
+ * Checks for circular references to model group definitions.
+ */
+static void
+xmlSchemaCheckGroupDefCircular(xmlSchemaTypePtr modelGrDef,
+			    xmlSchemaParserCtxtPtr ctxt, 
+			    const xmlChar * name ATTRIBUTE_UNUSED)
+{    
+    /*
+    * Schema Component Constraint: Model Group Correct
+    * 2 Circular groups are disallowed. That is, within the {particles} 
+    * of a group there must not be at any depth a particle whose {term} 
+    * is the group itself.
+    */
+    /*
+    * NOTE: "gr->subtypes" holds the referenced group.
+    */
+    if ((modelGrDef->type != XML_SCHEMA_TYPE_GROUP) || 
+	((modelGrDef->flags & XML_SCHEMAS_TYPE_GLOBAL) == 0) ||
+	(modelGrDef->subtypes == NULL))
+	return;
+    else {
+	xmlSchemaTypePtr circ;
+
+	circ = xmlSchemaGetCircModelGrDefRef(modelGrDef, modelGrDef->subtypes);
+	if (circ != NULL) {
+	    /*
+	    * TODO: Report the referenced attr group as QName.
+	    */
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_MG_PROPS_CORRECT_2,
+		NULL, NULL, circ->node,
+		"Circular reference to the model group definition '%s' "
+		"defined", modelGrDef->name);
+	    /*
+	    * NOTE: We will cut the reference to avoid further
+	    * confusion of the processor.
+	    * TODO: SPEC: Does the spec define how to process here?
+	    */
+	    circ->subtypes = NULL;
+	}
+    }
+}
+
+
+/**
+ * xmlSchemaGetCircAttrGrRef:
+ * @ctxtGr: the searched attribute group
+ * @attr: the current attribute list to be processed
+ *
+ * This one is intended to be used by
+ * xmlSchemaCheckSRCAttributeGroupCircular only.
+ *
+ * Returns the circular attribute grou reference, otherwise NULL.
+ */
+static xmlSchemaAttributeGroupPtr
+xmlSchemaGetCircAttrGrRef(xmlSchemaAttributeGroupPtr ctxtGr,
+			  xmlSchemaAttributePtr attr)
+{    
+    xmlSchemaAttributeGroupPtr circ = NULL, gr;
+    int marked;
+    /*
+    * We will search for an attribute group reference which
+    * references the context attribute group.
+    */    	
+    while (attr != NULL) {
+	marked = 0;
+	if (attr->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
+	    gr = (xmlSchemaAttributeGroupPtr) attr;
+	    if (gr->refItem != NULL)  {
+		if (gr->refItem == ctxtGr)
+		    return (gr);
+		else if (gr->refItem->flags & 
+		    XML_SCHEMAS_ATTRGROUP_MARKED) {
+		    attr = attr->next;
+		    continue;
+		} else {
+		    /*
+		    * Mark as visited to avoid infinite recursion on
+		    * circular references not yet examined.
+		    */
+		    gr->refItem->flags |= XML_SCHEMAS_ATTRGROUP_MARKED;
+		    marked = 1;
+		}
+	    }
+	    if (gr->attributes != NULL)
+		circ = xmlSchemaGetCircAttrGrRef(ctxtGr, gr->attributes);
+	    /*
+	    * Unmark the visited group's attributes.
+	    */
+	    if (marked)
+		gr->refItem->flags ^= XML_SCHEMAS_ATTRGROUP_MARKED;
+	    if (circ != NULL)
+		return (circ);
+	}
+	attr = attr->next;
+    }
+    return (NULL);
+}
+				
+/**
+ * xmlSchemaCheckSRCAttributeGroupCircular:
+ * attrGr:  the attribute group definition
+ * @ctxt:  the parser context
+ * @name:  the name
+ *
+ * Checks for circular references of attribute groups.
+ */
+static void
+xmlSchemaCheckAttributeGroupCircular(xmlSchemaAttributeGroupPtr attrGr,
+					xmlSchemaParserCtxtPtr ctxt, 
+					const xmlChar * name ATTRIBUTE_UNUSED)
+{    
+    /*
+    * Schema Representation Constraint: 
+    * Attribute Group Definition Representation OK
+    * 3 Circular group reference is disallowed outside <redefine>. 
+    * That is, unless this element information item's parent is 
+    * <redefine>, then among the [children], if any, there must 
+    * not be an <attributeGroup> with ref [attribute] which resolves 
+    * to the component corresponding to this <attributeGroup>. Indirect 
+    * circularity is also ruled out. That is, when QName resolution 
+    * (Schema Document) (§3.15.3) is applied to a ·QName· arising from 
+    * any <attributeGroup>s with a ref [attribute] among the [children], 
+    * it must not be the case that a ·QName· is encountered at any depth 
+    * which resolves to the component corresponding to this <attributeGroup>.
+    */
+    /*
+    * Only global components can be referenced.
+    */
+    if (((attrGr->flags & XML_SCHEMAS_ATTRGROUP_GLOBAL) == 0) || 
+	(attrGr->attributes == NULL))
+	return;
+    else {
+	xmlSchemaAttributeGroupPtr circ;
+
+	circ = xmlSchemaGetCircAttrGrRef(attrGr, attrGr->attributes);
+	if (circ != NULL) {
+	    /*
+	    * TODO: Report the referenced attr group as QName.
+	    */
+	    xmlSchemaPCustomErr(ctxt,
+		XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3,
+		NULL, NULL, circ->node,
+		"Circular reference to the attribute group '%s' "
+		"defined", attrGr->name);
+	    /*
+	    * NOTE: We will cut the reference to avoid further
+	    * confusion of the processor.
+	    * BADSPEC: The spec should define how to process in this case.
+	    */
+	    circ->attributes = NULL;
+	    circ->refItem = NULL;
+	}
+    }
+}
+
+/**
  * xmlSchemaAttrGrpFixup:
  * @attrgrpDecl:  the schema attribute definition
  * @ctxt:  the schema parser context
@@ -8611,87 +13031,335 @@
     if (attrgrp->ref != NULL) {
         xmlSchemaAttributeGroupPtr ref;
 
-        ref = xmlSchemaGetAttributeGroup(ctxt->schema, attrgrp->ref, attrgrp->refNs);
+        ref = xmlSchemaGetAttributeGroup(ctxt->schema, attrgrp->ref, 
+	    attrgrp->refNs);
         if (ref == NULL) {
-            xmlSchemaPErr(ctxt, attrgrp->node,
+	    xmlSchemaPResCompAttrErr(ctxt, 
 		XML_SCHEMAP_SRC_RESOLVE,
-		"Attribute group \"%s\": the QName \"%s\" of the attribute "
-		"\"ref\" does not resolve to a schema "
-		"component.\n",
-		name, attrgrp->ref);
+		NULL, (xmlSchemaTypePtr) attrgrp, attrgrp->node,
+		"ref", attrgrp->ref, attrgrp->refNs, 
+		XML_SCHEMA_TYPE_ATTRIBUTEGROUP, NULL);
             return;
         }
+	attrgrp->refItem = ref;
+	/*
+	* Check for self reference!
+	*/
         xmlSchemaAttrGrpFixup(ref, ctxt, NULL);
         attrgrp->attributes = ref->attributes;
 	attrgrp->attributeWildcard = ref->attributeWildcard;
     }
-    /* 
-    * Removed, since a global attribute group does not need to hold any
-    * attributes or wildcard 
+}
+
+/**
+ * xmlSchemaAttrCheckValConstr:
+ * @item:  an schema attribute declaration/use
+ * @ctxt:  a schema parser context
+ * @name:  the name of the attribute
+ * 
+ * Validates the value constraints of an attribute declaration/use.
+ *
+ * Fixes finish doing the computations on the attributes definitions
+ */
+static void
+xmlSchemaCheckAttrValConstr(xmlSchemaAttributePtr item,
+			    xmlSchemaParserCtxtPtr ctxt, 
+			    const xmlChar * name ATTRIBUTE_UNUSED)
+{
+
+    /*
+    * a-props-correct
+    * Schema Component Constraint: Attribute Declaration Properties Correct
+    *
+    * 2 if there is a {value constraint}, the canonical lexical 
+    * representation of its value must be ·valid· with respect 
+    * to the {type definition} as defined in String Valid (§3.14.4). 
     */
+
+    if (item->defValue != NULL) {
+	int ret;
+	xmlNodePtr node;
+	xmlSchemaTypePtr type;
+
+	if (item->subtypes == NULL) {
+	    xmlSchemaPErr(ctxt, item->node,
+		XML_SCHEMAP_INTERNAL,
+		"Internal error: xmlSchemaCheckAttrValConstr, "
+		"type is missing... skipping validation of "
+		"value constraint", NULL, NULL);
+	    return;
+	}
+
+	/*
+	* TODO: Try to avoid creating a new context.
+	* TODO: This all is not very performant.
+	*/
+	type = item->subtypes;
+	/*
+	* Ensure there's validation context.
+	*/
+	if (ctxt->vctxt == NULL) {
+	    if (xmlSchemaCreateVCtxtOnPCtxt(ctxt) == -1) {
+		xmlSchemaPErr(ctxt, item->node,
+		    XML_SCHEMAP_INTERNAL,
+		    "Internal error: xmlSchemaCheckAttrValConstr, "
+		    "creating a new validation context.\n",
+		    NULL, NULL);
+		return;
+	    }
+	}
+
+	if (item->flags & XML_SCHEMAS_ATTR_FIXED)
+	    node = (xmlNodePtr) xmlHasProp(item->node, BAD_CAST "fixed");
+	else
+	    node = (xmlNodePtr) xmlHasProp(item->node, BAD_CAST "default");
+	ctxt->vctxt->node = node;
+	ctxt->vctxt->cur = NULL;
+	/*
+	* NOTE: This call does not check the content nodes, 
+	* since they are not available:
+	* facet->node is just the node holding the facet 
+	* definition, *not* the attribute holding the *value* 
+	* of the facet.
+	*/
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt->vctxt, type, 
+	    item->defValue, 0, 1, 1, 0);
+	if (ret == 0) {
+	    /*
+	    * Store the computed value.
+	    */
+    	    item->defVal = ctxt->vctxt->value;
+	    ctxt->vctxt->value = NULL;	
+	} else if (ret > 0) {
+	    if (ctxt != NULL) {
+		xmlSchemaPSimpleTypeErr(ctxt, 
+		    XML_SCHEMAP_A_PROPS_CORRECT_2, 
+		    NULL, NULL, node, 
+		    type, NULL, item->defValue,
+		    NULL, NULL, NULL);
+	    }
+	} else if (ret < 0) {
+	    xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL,
+		NULL, NULL, node,
+		"Internal error: xmlSchemaAttrCheckValConstr, "
+		"failed to validate the value constraint of the "
+		"attribute decl/use against the type '%s'",
+		type->name); 	    
+	}	   	
+    }    
+}
+
+#if 0 /* Not used yet. */
+static int
+xmlSchemaCheckElemPropsCorrect(xmlSchemaParserCtxtPtr ctxt,
+			       xmlSchemaElementPtr edecl)
+{
     /*
-    else {
-        xmlSchemaPErr(ctxt, attrgrp->node, XML_SCHEMAP_NOATTR_NOREF,
-                      "Schemas: attribute group %s has no attributes nor reference\n",
-                      name, NULL);
-    }
+    * TODO: 1 The values of the properties of an element declaration must be as 
+    * described in the property tableau in The Element Declaration Schema 
+    * Component (§3.3.1), modulo the impact of Missing Sub-components (§5.3).
     */
+    /*
+    * 2 If there is a {value constraint}, the canonical lexical 
+    * representation of its value must be ·valid· with respect to the {type 
+    * definition} as defined in Element Default Valid (Immediate) (§3.3.6).
+    *
+    * NOTE: This is done in xmlSchemaCheckElemValConstr.
+    */
+    /*
+    * 3 If there is a non-·absent· {substitution group affiliation}, 
+    * then {scope} must be global.
+    *
+    * NOTE: This is done in xmlSchemaParseElement.
+    * TODO: Move it to this layer here.
+    */
+    /*
+    * TODO: 4 If there is a {substitution group affiliation}, the {type definition} 
+    * of the element declaration must be validly derived from the {type 
+    * definition} of the {substitution group affiliation}, given the value 
+    * of the {substitution group exclusions} of the {substitution group 
+    * affiliation}, as defined in Type Derivation OK (Complex) (§3.4.6) 
+    * (if the {type definition} is complex) or as defined in 
+    * Type Derivation OK (Simple) (§3.14.6) (if the {type definition} is 
+    * simple). 
+    */
+    /*
+    * TODO: 5 If the {type definition} or {type definition}'s {content type} 
+    * is or is derived from ID then there must not be a {value constraint}.
+    * Note: The use of ID as a type definition for elements goes beyond 
+    * XML 1.0, and should be avoided if backwards compatibility is desired
+    */
+    /*
+    * TODO: 6 Circular substitution groups are disallowed. That is, it must not 
+    * be possible to return to an element declaration by repeatedly following 
+    * the {substitution group affiliation} property.
+    */
 }
+#endif
 
 /**
+ * xmlSchemaCheckElemValConstr:
+ * @item:  an schema element declaration/particle
+ * @ctxt:  a schema parser context
+ * @name:  the name of the attribute
+ * 
+ * Validates the value constraints of an element declaration.
+ *
+ * Fixes finish doing the computations on the element declarations.
+ */
+static void
+xmlSchemaCheckElemValConstr(xmlSchemaElementPtr decl,
+			    xmlSchemaParserCtxtPtr ctxt, 
+			    const xmlChar * name ATTRIBUTE_UNUSED)
+{   
+    if (decl->value != NULL) {
+	int ret;
+	xmlNodePtr node = NULL;
+	xmlSchemaTypePtr type;
+
+	/*
+	* 2 If there is a {value constraint}, the canonical lexical 
+	* representation of its value must be ·valid· with respect to the {type 
+	* definition} as defined in Element Default Valid (Immediate) (§3.3.6).
+	*/    
+	if (decl->subtypes == NULL) {
+	    xmlSchemaPErr(ctxt, decl->node,
+		XML_SCHEMAP_INTERNAL,
+		"Internal error: xmlSchemaCheckElemValConstr, "
+		"type is missing... skipping validation of "
+		"the value constraint", NULL, NULL);
+	    return;
+	}
+	/*
+	* Ensure there's a validation context.
+	*/
+	if (xmlSchemaCreateVCtxtOnPCtxt(ctxt) == -1)
+	    return;
+
+	type = decl->subtypes;
+
+	if (decl->node != NULL) {
+	    if (decl->flags & XML_SCHEMAS_ELEM_FIXED)
+		node = (xmlNodePtr) xmlHasProp(decl->node, BAD_CAST "fixed");
+	    else
+		node = (xmlNodePtr) xmlHasProp(decl->node, BAD_CAST "default");
+	}
+	ctxt->vctxt->node = node;
+	ctxt->vctxt->cur = NULL;
+	ret = xmlSchemaCheckCOSValidDefault(ctxt, ctxt->vctxt, type, decl->value, 
+	    node);
+	if (ret == 0) {
+	    /*
+	    * Consume the computed value.
+	    */
+    	    decl->defVal = ctxt->vctxt->value;
+	    ctxt->vctxt->value = NULL;	
+	} else if (ret < 0) {
+	    xmlSchemaPCustomErr(ctxt, XML_SCHEMAP_INTERNAL,
+		NULL, NULL, node,
+		"Internal error: xmlSchemaElemCheckValConstr, "
+		"failed to validate the value constraint of the "
+		"element declaration '%s'",
+		decl->name); 	    
+	}	   	
+    }    
+}
+
+/**
  * xmlSchemaAttrFixup:
- * @attrDecl:  the schema attribute definition
- * @ctxt:  the schema parser context
- * @name:  the attribute name
+ * @item:  an schema attribute declaration/use.
+ * @ctxt:  a schema parser context
+ * @name:  the name of the attribute 
  *
- * Fixes finish doing the computations on the attributes definitions
+ * Fixes finish doing the computations on attribute declarations/uses.
  */
 static void
-xmlSchemaAttrFixup(xmlSchemaAttributePtr attrDecl,
-                   xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
+xmlSchemaAttrFixup(xmlSchemaAttributePtr item,
+                   xmlSchemaParserCtxtPtr ctxt, 
+		   const xmlChar * name ATTRIBUTE_UNUSED)
 {
+    /* 
+    * TODO: If including this is done twice (!) for every attribute.
+    *       -> Hmm, check if this is still done.
+    */
     /*
     * The simple type definition corresponding to the <simpleType> element 
     * information item in the [children], if present, otherwise the simple 
     * type definition ·resolved· to by the ·actual value· of the type 
     * [attribute], if present, otherwise the ·simple ur-type definition·.
     */
-    if (name == NULL)
-        name = attrDecl->name;
-    if (attrDecl->subtypes != NULL)
+    if (item->flags & XML_SCHEMAS_ATTR_INTERNAL_RESOLVED)
+	return;
+    item->flags |= XML_SCHEMAS_ATTR_INTERNAL_RESOLVED;
+    if (item->subtypes != NULL)
         return;
-    if (attrDecl->typeName != NULL) {
+    if (item->typeName != NULL) {
         xmlSchemaTypePtr type;
 
-	type = xmlSchemaGetType(ctxt->schema, attrDecl->typeName,
-	    attrDecl->typeNs);
-	if (type == NULL) {
-	    xmlSchemaPErr(ctxt, attrDecl->node, 
+	type = xmlSchemaGetType(ctxt->schema, item->typeName,
+	    item->typeNs);
+	if ((type == NULL) || (! IS_SIMPLE_TYPE(type))) {
+	    xmlSchemaPResCompAttrErr(ctxt,
 		XML_SCHEMAP_SRC_RESOLVE,
-		"Attribute \"%s\": the QName \"%s\" of the attribute "
-		"\"type\" does not resolve to a schema "
-		"component.\n",
-		name, attrDecl->typeName);
-	}
-        attrDecl->subtypes = type;
-    } else if (attrDecl->ref != NULL) {
-        xmlSchemaAttributePtr ref;
+		NULL, (xmlSchemaTypePtr) item, item->node,
+		"type", item->typeName, item->typeNs, 
+		XML_SCHEMA_TYPE_SIMPLE, NULL);
+	} else
+	    item->subtypes = type;
+	
+    } else if (item->ref != NULL) {
+        xmlSchemaAttributePtr decl;
 
-	ref = xmlSchemaGetAttribute(ctxt->schema, attrDecl->ref, attrDecl->refNs);
-        if (ref == NULL) {
-            xmlSchemaPErr(ctxt, attrDecl->node, 
-		XML_SCHEMAP_SRC_RESOLVE,
-		"Attribute \"%s\": the QName \"%s\" of the attribute "
-		"\"ref\" does not resolve to a schema "
-		"component.\n",		
-		name, attrDecl->ref);
+	/*
+	* We have an attribute use here; assign the referenced 
+	* attribute declaration.
+	*/
+	/*
+	* TODO: Evaluate, what errors could occur if the declaration is not
+	* found. It might be possible that the "typefixup" might crash if
+	* no ref declaration was found.
+	*/
+	decl = xmlSchemaGetAttribute(ctxt->schema, item->ref, item->refNs);
+        if (decl == NULL) {
+	    xmlSchemaPResCompAttrErr(ctxt,
+	    	XML_SCHEMAP_SRC_RESOLVE,
+		NULL, (xmlSchemaTypePtr) item, item->node,
+		"ref", item->ref, item->refNs, 
+		XML_SCHEMA_TYPE_ATTRIBUTE, NULL);
             return;
         }
-        xmlSchemaAttrFixup(ref, ctxt, NULL);
-        attrDecl->subtypes = ref->subtypes;
+	item->refDecl = decl;
+        xmlSchemaAttrFixup(decl, ctxt, NULL);
+	
+        item->subtypes = decl->subtypes;
+	/*
+	* Attribute Use Correct
+	* au-props-correct.2: If the {attribute declaration} has a fixed 
+	* {value constraint}, then if the attribute use itself has a 
+	* {value constraint}, it must also be fixed and its value must match 
+	* that of the {attribute declaration}'s {value constraint}.
+	*/
+	if ((decl->flags & XML_SCHEMAS_ATTR_FIXED) && 
+	    (item->defValue != NULL)) {
+	    if (((item->flags & XML_SCHEMAS_ATTR_FIXED) == 0) ||
+		(!xmlStrEqual(item->defValue, decl->defValue))) {
+		xmlSchemaPCustomErr(ctxt,
+		    XML_SCHEMAP_AU_PROPS_CORRECT_2, 
+		    NULL, NULL, item->node, 
+		    "The value constraint must be fixed "
+		    "and match the referenced attribute "
+		    "declarations's value constraint '%s'",
+		    decl->defValue);
+	    }
+	    /*
+	    * FUTURE: One should change the values of the attr. use
+	    * if ever validation should be attempted even if the
+	    * schema itself was not fully valid.
+	    */
+	}
     } else {
-	attrDecl->subtypes = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);        
-    }
+	item->subtypes = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);        
+    }	
 }
 
 /**
@@ -8711,15 +13379,18 @@
     xmlSchemaPtr ret = NULL;
     xmlDocPtr doc;
     xmlNodePtr root;
-    int nberrors;
     int preserve = 0;
 
+    /*
+    * This one is used if the schema to be parsed was specified via 
+    * the API; i.e. not automatically by the validated instance document.
+    */
+
     xmlSchemaInitTypes();
 
     if (ctxt == NULL)
         return (NULL);
 
-    nberrors = ctxt->nberrors;
     ctxt->nberrors = 0;
     ctxt->counter = 0;
     ctxt->container = NULL;
@@ -8733,7 +13404,7 @@
         if (doc == NULL) {
 	    xmlSchemaPErr(ctxt, NULL,
 			  XML_SCHEMAP_FAILED_LOAD,
-                          "xmlSchemaParse: could not load %s\n",
+                          "xmlSchemaParse: could not load '%s'.\n",
                           ctxt->URL, NULL);
             return (NULL);
         }
@@ -8743,7 +13414,7 @@
         if (doc == NULL) {
 	    xmlSchemaPErr(ctxt, NULL,
 			  XML_SCHEMAP_FAILED_PARSE,
-                          "xmlSchemaParse: could not parse\n",
+                          "xmlSchemaParse: could not parse.\n",
                           NULL, NULL);
             return (NULL);
         }
@@ -8755,7 +13426,7 @@
     } else {
 	xmlSchemaPErr(ctxt, NULL,
 		      XML_SCHEMAP_NOTHING_TO_PARSE,
-		      "xmlSchemaParse: could not parse\n",
+		      "xmlSchemaParse: could not parse.\n",
 		      NULL, NULL);
         return (NULL);
     }
@@ -8767,7 +13438,7 @@
     if (root == NULL) {
 	xmlSchemaPErr(ctxt, (xmlNodePtr) doc,
 		      XML_SCHEMAP_NOROOT,
-		      "schemas has no root", NULL, NULL);
+		      "The schema has no document element.\n", NULL, NULL);
 	if (!preserve) {
 	    xmlFreeDoc(doc);
 	}
@@ -8791,14 +13462,9 @@
     }
     ret->doc = doc;
     ret->preserve = preserve;
-
-    /*
-     * Then fix all the references.
-     */
     ctxt->schema = ret;
-    xmlHashScanFull(ret->elemDecl,
-                    (xmlHashScannerFull) xmlSchemaRefFixupCallback, ctxt);
-
+    ctxt->ctxtType = NULL;
+    ctxt->parentItem = NULL;
     /*
      * Then fixup all attributes declarations
      */
@@ -8811,16 +13477,37 @@
                 ctxt);
 
     /*
+    * Check attribute groups for circular references.
+    */
+    xmlHashScan(ret->attrgrpDecl, (xmlHashScanner) 
+	xmlSchemaCheckAttributeGroupCircular, ctxt);
+
+    /*
+    * Then fixup all model group definitions.
+    */    
+    xmlHashScan(ret->groupDecl, (xmlHashScanner) xmlSchemaGroupDefFixup, ctxt);
+    
+    /*
      * Then fixup all types properties
-     */
-    ctxt->ctxtType = NULL;
-    ctxt->parentItem = NULL;
+     */    
     xmlHashScan(ret->typeDecl, (xmlHashScanner) xmlSchemaTypeFixup, ctxt);
 
     /*
-     * Then build the content model for all elements
+     * Then fix references of element declaration; apply constraints.
+     */    
+    xmlHashScanFull(ret->elemDecl,
+                    (xmlHashScannerFull) xmlSchemaRefFixupCallback, ctxt);
+
+     /*
+    * Check model groups defnitions for circular references.
+    */
+    xmlHashScan(ret->groupDecl, (xmlHashScanner) 
+	xmlSchemaCheckGroupDefCircular, ctxt);
+
+    /*
+     * Then build the content model for all complex types
      */
-    xmlHashScan(ret->elemDecl,
+    xmlHashScan(ret->typeDecl,
                 (xmlHashScanner) xmlSchemaBuildContentModel, ctxt);
 
     /*
@@ -8829,6 +13516,17 @@
     xmlHashScan(ret->typeDecl, (xmlHashScanner) xmlSchemaCheckDefaults,
                 ctxt);
 
+    /*
+    * Validate the value constraint of attribute declarations/uses.
+    */
+    xmlHashScan(ret->attrDecl, (xmlHashScanner) xmlSchemaCheckAttrValConstr, ctxt);
+
+    /*
+    * Validate the value constraint of element declarations.
+    */
+    xmlHashScan(ret->elemDecl, (xmlHashScanner) xmlSchemaCheckElemValConstr, ctxt);
+
+
     if (ctxt->nberrors != 0) {
         xmlSchemaFree(ret);
         ret = NULL;
@@ -8858,6 +13556,33 @@
 }
 
 /**
+ * xmlSchemaGetParserErrors:
+ * @ctxt:  a XMl-Schema parser context
+ * @err: the error callback result
+ * @warn: the warning callback result
+ * @ctx: contextual data for the callbacks result
+ *
+ * Get the callback information used to handle errors for a parser context
+ *
+ * Returns -1 in case of failure, 0 otherwise
+ */
+int 
+xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
+							 xmlSchemaValidityErrorFunc * err,
+							 xmlSchemaValidityWarningFunc * warn, void **ctx)
+{
+	if (ctxt == NULL)
+		return(-1);
+	if (err != NULL)
+		*err = ctxt->error;
+	if (warn != NULL)
+		*warn = ctxt->warning;
+	if (ctx != NULL)
+		*ctx = ctxt->userData;
+	return(0);
+}
+
+/**
  * xmlSchemaFacetTypeToString:
  * @type:  the facet type
  *
@@ -8900,10 +13625,106 @@
     return ("Internal Error");
 }
 
+static xmlChar *
+xmlSchemaWhiteSpaceReplace(const xmlChar *value) {
+    const xmlChar *cur = value;    
+    xmlChar *ret = NULL, *mcur; 
+
+    if (value == NULL) 
+	return(NULL);
+    
+    while ((*cur != 0) && 
+	(((*cur) != 0xd) && ((*cur) != 0x9) && ((*cur) != 0xa))) {
+	cur++;
+    }
+    if (*cur == 0)
+	return (NULL);
+    ret = xmlStrdup(value);
+    /* TODO FIXME: I guess gcc will bark at this. */
+    mcur = (xmlChar *)  (ret + (cur - value));
+    do {
+	if ( ((*mcur) == 0xd) || ((*mcur) == 0x9) || ((*mcur) == 0xa) )
+	    *mcur = ' ';
+	mcur++;
+    } while (*mcur != 0);	    
+    return(ret);
+}
+
+static int
+xmlSchemaGetWhiteSpaceFacetValue(xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr anc;
+
+    /* 
+    * The normalization type can be changed only for types which are derived 
+    * from xsd:string.
+    */
+    if (type->type == XML_SCHEMA_TYPE_BASIC) {
+	if ((type->builtInType == XML_SCHEMAS_STRING) &&
+            (type->builtInType == XML_SCHEMAS_NORMSTRING))
+
+	    return(XML_SCHEMAS_VAL_WTSP_PRESERVE);
+	else {
+	    /*
+	    * For all ·atomic· datatypes other than string (and types ·derived· 
+	    * by ·restriction· from it) the value of whiteSpace is fixed to 
+	    * collapse
+	    */
+	    return(XML_SCHEMAS_VAL_WTSP_COLLAPSE);
+	}		   	    
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+	/*
+	* For list types the facet "whiteSpace" is fixed to "collapse". 
+	*/
+	return (XML_SCHEMAS_VAL_WTSP_COLLAPSE);
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	return (-1);
+    } else if (type->facetSet != NULL) {
+	xmlSchemaTypePtr anyST;
+	xmlSchemaFacetLinkPtr lin;
+
+	/*
+	* Atomic types.
+	*/
+	anyST = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+	anc = type->baseType;
+	do {
+	    /*
+	    * For all ·atomic· datatypes other than string (and types ·derived· 
+	    * by ·restriction· from it) the value of whiteSpace is fixed to 
+	    * collapse
+	    */
+	    if ((anc->type == XML_SCHEMA_TYPE_BASIC) &&
+		(anc->builtInType == XML_SCHEMAS_STRING)) {
+		
+		lin = type->facetSet;
+		do {
+		    if (lin->facet->type == XML_SCHEMA_FACET_WHITESPACE) {
+			if (lin->facet->whitespace == 
+			    XML_SCHEMAS_FACET_COLLAPSE) {
+			    return(XML_SCHEMAS_VAL_WTSP_COLLAPSE);  
+			} else if (lin->facet->whitespace == 
+			    XML_SCHEMAS_FACET_REPLACE) { 
+			    return(XML_SCHEMAS_VAL_WTSP_REPLACE);
+			} else
+			    return(XML_SCHEMAS_VAL_WTSP_PRESERVE);
+			break;
+		    }
+		    lin = lin->next;
+		} while (lin != NULL);	
+		break;
+	    }
+	    anc = anc->baseType;
+	} while (anc != anyST);
+	return (XML_SCHEMAS_VAL_WTSP_COLLAPSE);	
+    }  
+    return (-1);
+}
+
 /**
  * xmlSchemaValidateFacetsInternal:
  * @ctxt:  a schema validation context
- * @base:  the base type
+ * @type:  the type holding the facets
  * @facets:  the list of facets to check
  * @value:  the lexical repr of the value to validate
  * @val:  the precomputed value
@@ -8917,46 +13738,154 @@
  */
 static int
 xmlSchemaValidateFacetsInternal(xmlSchemaValidCtxtPtr ctxt,
-                        xmlSchemaTypePtr base,
-                        xmlSchemaFacetLinkPtr facets,
-			const xmlChar * value, int fireErrors)
+				xmlSchemaTypePtr type,
+				const xmlChar * value,
+				unsigned long length,
+				int fireErrors)
 {
     int ret = 0;
-    int tmp = 0;
-    xmlSchemaTypeType type;
-    xmlSchemaFacetLinkPtr facetLink = facets;
+    xmlNodePtr node;
+    xmlSchemaTypePtr  biType; /* The build-in type. */
+    xmlSchemaTypePtr tmpType;
+    xmlSchemaFacetLinkPtr facetLink;
+    int retFacet;
+    xmlSchemaFacetPtr facet;
+    unsigned long len = 0;
 
-    while (facetLink != NULL) {
-        type = facetLink->facet->type;
-        if (type == XML_SCHEMA_FACET_ENUMERATION) {
-            tmp = 1;
+#ifdef DEBUG_UNION_VALIDATION
+    printf("Facets of type: '%s'\n", (const char *) type->name);
+    printf("  fireErrors: %d\n", fireErrors);
+#endif
+        
+    node = ctxt->node;
+    /*
+    * NOTE: Do not jump away, if the facetSet of the given type is
+    * empty: until now, "pattern" facets of the *base types* need to
+    * be checked as well.
+    */
+    biType = type->baseType;
+    while ((biType != NULL) && (biType->type != XML_SCHEMA_TYPE_BASIC))
+	biType = biType->baseType;
+    if (biType == NULL) {
+	xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,		    
+	    "Internal error: xmlSchemaValidateFacetsInternal, "
+	    "the base type axis of the given type '%s' does not resolve to "
+	    "a built-in type.\n",
+	    type->name, NULL);	
+	return (-1);
+    }    
+    
+    if (type->facetSet != NULL) {
+	facetLink = type->facetSet;
+	while (facetLink != NULL) {
+	    facet = facetLink->facet;
+	    /*
+	    * Skip the pattern "whiteSpace": it is used to 
+	    * format the character content beforehand.
+	    */	    
+	    switch (facet->type) {
+		case XML_SCHEMA_FACET_WHITESPACE:
+		case XML_SCHEMA_FACET_PATTERN:
+		case XML_SCHEMA_FACET_ENUMERATION:
+		    break;
+		case XML_SCHEMA_FACET_LENGTH:
+		case XML_SCHEMA_FACET_MINLENGTH:
+		case XML_SCHEMA_FACET_MAXLENGTH: 
+		    if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+			ret = xmlSchemaValidateListSimpleTypeFacet(facet,
+			    value, length, 0);
+			len = length;
+		    } else
+			ret = xmlSchemaValidateLengthFacet(biType, facet,
+			    value, ctxt->value, &len);
+		    break;
+		default:
+		    ret = xmlSchemaValidateFacet(biType, facet, value, 
+			ctxt->value);
+	    }
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    "Internal error: xmlSchemaValidateFacetsInternal, "
+		    "validating facet of type '%s'.\n",
+		    type->name, NULL);
+		break;
+	    } else if ((ret > 0) && (fireErrors)) {
+		xmlSchemaVFacetErr(ctxt, ret, node, value, len,
+		    type, facet, NULL, NULL, NULL, NULL);
+	    }
 
-            while (facetLink != NULL) {
-                tmp =
-                    xmlSchemaValidateFacet(base, facetLink->facet, value,
-                                           ctxt->value);
-                if (tmp == 0) {
-                    return 0;
-                }
-                facetLink = facetLink->next;
-            }
-        } else
-            tmp = xmlSchemaValidateFacet(base, facetLink->facet, value, 
-	    ctxt->value);
-
-        if (tmp != 0) {
-            ret = tmp;
-            if (fireErrors) {		
-		xmlSchemaVErr(ctxt, ctxt->cur, tmp,		    
-		    "The value failed to validate against the facet \"%s\".\n",
-		    (const xmlChar *) xmlSchemaFacetTypeToString(type), 
-		    NULL);		
-
+	    facetLink = facetLink->next;
+	}
+	if (ret >= 0) {
+	    /*
+	    * Process enumerations.
+	    */
+	    retFacet = 0;
+	    facetLink = type->facetSet;
+	    while (facetLink != NULL) {
+		if (facetLink->facet->type == XML_SCHEMA_FACET_ENUMERATION) {
+		    retFacet = xmlSchemaValidateFacet(biType, facetLink->facet, 
+			value, ctxt->value);		
+		    if (retFacet <= 0)
+			break;
+		}
+		facetLink = facetLink->next;
 	    }
-        }
-        if (facetLink != NULL)
-            facetLink = facetLink->next;
+	    if (retFacet > 0) {
+		ret = XML_SCHEMAV_CVC_ENUMERATION_VALID;
+		if (fireErrors)
+		    xmlSchemaVFacetErr(ctxt, ret, node,
+			value, 0, type, NULL, NULL, NULL, NULL, NULL);
+	    } else if (retFacet < 0) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    "Internal error: xmlSchemaValidateFacetsInternal, "
+		    "validating facet of type '%s'.\n",
+		    BAD_CAST "enumeration", NULL);
+		    ret = -1;		
+	    }		
+	}
     }
+    if (ret >= 0) {
+	/*
+	* Process patters. Pattern facets are ORed at type level 
+	* and ANDed if derived. Walk the base type axis.
+	*/
+	tmpType = type;
+	facet = NULL;
+	do {
+	    retFacet = 0;
+	    for (facetLink = tmpType->facetSet; facetLink != NULL; 
+		facetLink = facetLink->next) {
+		if (facetLink->facet->type != XML_SCHEMA_FACET_PATTERN)
+		    continue;
+		retFacet = xmlSchemaValidateFacet(biType, facetLink->facet, 
+		    value, ctxt->value);
+		if (retFacet == 0) 
+		    break;
+		else if (retFacet < 0) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+			"Internal error: xmlSchemaValidateFacetsInternal, "
+			"validating 'pattern' facet '%s' of type '%s'.\n",
+			facetLink->facet->value, tmpType->name);
+		    ret = -1;
+		    break;
+		} else
+		    /* Save the last non-validating facet. */
+		    facet = facetLink->facet;
+	    }
+	    if (retFacet != 0)
+		break;		    
+	    tmpType = tmpType->baseType;
+	} while ((tmpType != NULL) && (tmpType->type != XML_SCHEMA_TYPE_BASIC));
+	if (retFacet > 0) {
+	    ret = XML_SCHEMAV_CVC_PATTERN_VALID;
+	    if (fireErrors) {
+		xmlSchemaVFacetErr(ctxt, ret, node, value, 0, type, facet, 
+		    NULL, NULL, NULL, NULL);
+	    }
+	}
+    }	    
+   
     return (ret);
 }
 
@@ -8965,227 +13894,20 @@
  * 			Simple type validation				*
  * 									*
  ************************************************************************/
-#if 0 /* Not currently used. */
-/**
- * xmlSchemaValidateSimpleValueUnion:
- * @ctxt:  a schema validation context
- * @type:  the type declaration
- * @value:  the value to validate
- *
- * Validates a value against a union.
- *
- * Returns 0 if the value is valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
- */
-static int
-xmlSchemaValidateSimpleValueUnion(xmlSchemaValidCtxtPtr ctxt,
-                             xmlSchemaTypePtr type, const xmlChar * value)
-{
-    int ret = 0;
-    const xmlChar *cur, *end, *prefix, *ncName;
-    xmlChar *tmp;
-    xmlSchemaTypePtr subtype;
-    xmlNsPtr ns;
-    int len;
-   
 
-    /* Process referenced memberTypes. */
-    cur = type->ref;
-    do {
-        while (IS_BLANK_CH(*cur))
-            cur++;
-        end = cur;
-        while ((*end != 0) && (!(IS_BLANK_CH(*end))))
-            end++;
-        if (end == cur)
-            break;
-        tmp = xmlStrndup(cur, end - cur);
-         ncName = xmlSplitQName3(tmp, &len);
-        if (ncName != NULL) {
-            prefix = xmlStrndup(tmp, len);
-            /* prefix = xmlDictLookup(ctxt->doc->dict, tmp, len); */
-        } else {
-            prefix = NULL;
-            ncName = tmp;
-        }
-        /* We won't do additional checks here,
-	 * since they have been performed during parsing. */
-        ns = xmlSearchNs(type->node->doc, type->node, prefix);
-        /* namespace = xmlDictLookup(ctxt->doc->dict, ns->href, -1); */
-        subtype = xmlSchemaGetType(ctxt->schema, ncName, ns->href);
-	if (tmp != NULL)
-	    xmlFree(tmp);
-	if (prefix != NULL)
-	    xmlFree((void *)prefix);
-        ret = xmlSchemaValidateSimpleValueInternal(ctxt, subtype, value, 0);
-        if ((ret == 0) || (ret == -1)) {
-            return (ret);
-        }
-        cur = end;
-    } while (*cur != 0);
 
-    if (type->subtypes != NULL) {
-        subtype = type->subtypes;
-        do {
-            ret = xmlSchemaValidateSimpleValueInternal(ctxt, subtype, value, 0);
-            if ((ret == 0) || (ret == -1)) {
-                return (ret);
-            }
-            subtype = subtype->next;
-        } while (subtype != NULL);
-    }
-    return (ret);
-}
-
-/**
- * xmlSchemaValidateSimpleValue:
- * @ctxt:  a schema validation context
- * @type:  the type declaration
- * @value:  the value to validate
- *
- * Validate a value against a simple type
- *
- * Returns 0 if the value is valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
- */
-static int
-xmlSchemaValidateSimpleValue(xmlSchemaValidCtxtPtr ctxt,
-                             xmlSchemaTypePtr type, const xmlChar * value)
-{
-  return (xmlSchemaValidateSimpleValueInternal(ctxt, type, value, 1));
-}
-
-/**
- * xmlSchemaValidateSimpleValue:
- * @ctxt:  a schema validation context
- * @type:  the type declaration
- * @value:  the value to validate
- * @fireErrors:  if 0, only internal errors will be fired;
- *		 otherwise all errors will be fired.
- *
- * Validate a value against a simple type
- *
- * Returns 0 if the value is valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
- */
-static int
-xmlSchemaValidateSimpleValueInternal(xmlSchemaValidCtxtPtr ctxt,
-                             xmlSchemaTypePtr type,
-			     const xmlChar * value,
-			     int fireErrors)
-{
-    int ret = 0;
-
-    /*
-     * First normalize the value accordingly to Schema Datatype
-     * 4.3.6 whiteSpace definition of the whiteSpace facet of type
-     *
-     * Then check the normalized value against the lexical space of the
-     * type.
-     */
-    if (type->type == XML_SCHEMA_TYPE_BASIC) {
-        if (ctxt->value != NULL) {
-            xmlSchemaFreeValue(ctxt->value);
-            ctxt->value = NULL;
-        }
-        ret = xmlSchemaValPredefTypeNode(type, value, &(ctxt->value),
-                                         ctxt->cur);
-        if ((fireErrors) && (ret != 0)) {
-            xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_VALUE,
-	    		  "Failed to validate basic type %s\n",
-			  type->name, NULL);
-        }
-    } else if (type->type == XML_SCHEMA_TYPE_RESTRICTION) {
-        xmlSchemaTypePtr base;
-
-        base = type->baseType;
-        if (base != NULL) {
-            ret = xmlSchemaValidateSimpleValueInternal(ctxt, base,
-	    			value, fireErrors);
-        } else if (type->subtypes != NULL) {
-	    TODO
-        }
-
-        /*
-         * Do not validate facets or attributes when working on
-	 * building the Schemas
-         */
-        if (ctxt->schema != NULL) {
-	    xmlSchemaFacetLinkPtr facetLink;
-
-            if ((ret == 0) && (type->facetSet != NULL)) {
-                facetLink = type->facetSet;
-                ret = xmlSchemaValidateFacetsInternal(ctxt, base, facetLink,
-				value, fireErrors);
-            }
-        }
-    } else if (type->type == XML_SCHEMA_TYPE_SIMPLE) {
-        xmlSchemaTypePtr base;
-
-        base = type->subtypes;
-        if (base != NULL) {
-            ret = xmlSchemaValidateSimpleValueInternal(ctxt, base,
-	    			value, fireErrors);
-        } else {
-        TODO}
-    } else if (type->type == XML_SCHEMA_TYPE_LIST) {
-        xmlSchemaTypePtr base;
-        const xmlChar *cur, *end;
-	xmlChar *tmp;
-        int ret2;
-
-        base = type->subtypes;
-        if (base == NULL) {
-	    xmlSchemaVErr(ctxt, type->node, XML_SCHEMAS_ERR_INTERNAL,
-			"Internal: List type %s has no base type\n",
-			type->name, NULL);
-            return (-1);
-        }
-        cur = value;
-        do {
-            while (IS_BLANK_CH(*cur))
-                cur++;
-            end = cur;
-            while ((*end != 0) && (!(IS_BLANK_CH(*end))))
-                end++;
-            if (end == cur)
-                break;
-            tmp = xmlStrndup(cur, end - cur);
-            ret2 = xmlSchemaValidateSimpleValueInternal(ctxt, base,
-	    			tmp, fireErrors);
-	    xmlFree(tmp);
-            if (ret2 != 0)
-                ret = 1;
-            cur = end;
-        } while (*cur != 0);
-    }  else if (type->type == XML_SCHEMA_TYPE_UNION) {
-        ret = xmlSchemaValidateSimpleValueUnion(ctxt, type, value);
-        if ((fireErrors) && (ret != 0)) {
-            xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_VALUE,
-	    		  "Failed to validate type %s\n", type->name, NULL);
-        }
-    } else {
-        TODO
-    }
-    return (ret);
-}
-#endif
-
 /************************************************************************
  * 									*
  * 			DOM Validation code				*
  * 									*
  ************************************************************************/
 
-static int xmlSchemaValidateContent(xmlSchemaValidCtxtPtr ctxt,
-                                    xmlNodePtr node);
 static int xmlSchemaValidateAttributes(xmlSchemaValidCtxtPtr ctxt,
                                        xmlNodePtr elem,
                                        xmlSchemaTypePtr type);
-static int xmlSchemaValidateType(xmlSchemaValidCtxtPtr ctxt,
-                                 xmlNodePtr elem,
-                                 xmlSchemaElementPtr elemDecl,
-                                 xmlSchemaTypePtr type);
+static int xmlSchemaValidateElementByType(xmlSchemaValidCtxtPtr ctxt,                                
+					  xmlSchemaTypePtr type,
+					  int valSimpleContent);
 
 
 /**
@@ -9228,15 +13950,16 @@
             attrs = attrs->next;
             continue;
         }
-            tmp = (xmlSchemaAttrStatePtr)
-	       xmlMalloc(sizeof(xmlSchemaAttrState));
-            if (tmp == NULL) {
-                xmlSchemaVErrMemory(ctxt, "registering attributes", NULL);
-                return (-1);
-            }
+	tmp = (xmlSchemaAttrStatePtr)
+	    xmlMalloc(sizeof(xmlSchemaAttrState));
+	if (tmp == NULL) {
+	    xmlSchemaVErrMemory(ctxt, "registering attributes", NULL);
+	    return (-1);
+	}
 	tmp->attr = attrs;
 	tmp->state = XML_SCHEMAS_ATTR_UNKNOWN;
 	tmp->next = NULL;
+	tmp->decl = NULL;
 	if (ctxt->attr == NULL) 
             ctxt->attr = tmp;
 	else
@@ -9247,152 +13970,380 @@
     return (0);
 }
 
+#if 0 /* Currently not used */
 /**
- * xmlSchemaCheckAttributes:
- * @ctxt:  a schema validation context
- * @node:  the node carrying it.
+ * xmlSchemaValidateCheckNodeList
+ * @nodelist: the list of nodes
  *
- * Check that the registered set of attributes on the current node
- * has been properly validated.
+ * Check the node list is only made of text nodes and entities pointing
+ * to text nodes
  *
- * Returns 0 if validity constraints are met, 1 otherwise.
+ * Returns 1 if true, 0 if false and -1 in case of error
  */
 static int
-xmlSchemaCheckAttributes(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateCheckNodeList(xmlNodePtr nodelist)
 {
-    int ret = 0;
-    xmlSchemaAttrStatePtr cur;    
-
-    cur = ctxt->attr;
-    while ((cur != NULL) && (cur != ctxt->attrTop->next)) {
-	if (cur->state != XML_SCHEMAS_ATTR_CHECKED) {	    	    
-            ret = 1;
-	    if (cur->state == XML_SCHEMAS_ATTR_UNKNOWN)
-            xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ATTRUNKNOWN,
-	    		  "Attribute \"%s\" is not allowed.\n",
-		    cur->attr->name, NULL);
-	    else if (cur->state == XML_SCHEMAS_ATTR_PROHIBITED)
-		/*
-		* TODO: This won't ever be touched so remove it.
-		*/
-		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ATTRUNKNOWN,
-		    "Attribute \"%s\" is prohibited.\n",
-		    cur->attr->name, NULL);
-	    else if (cur->state == XML_SCHEMAS_ATTR_INVALID_VALUE) {
-		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ATTRINVALID,
-		    "Attribute \"%s\": the value is not valid.\n",
-		    cur->attr->name, node->name);
-	    } else if (cur->state == XML_SCHEMAS_ATTR_MISSING) {
-		if (cur->decl->ref != NULL)
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_MISSING,
-			"Attribute \"%s\" is required but missing.\n", 
-			cur->decl->ref, NULL);
-		else
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_MISSING,
-			"Attribute \"%s\" is required but missing.\n", 
-			cur->decl->name, NULL);
+    while (nodelist != NULL) {
+        if (nodelist->type == XML_ENTITY_REF_NODE) {
+            TODO                /* implement recursion in the entity content */
         }
+        if ((nodelist->type != XML_TEXT_NODE) &&
+            (nodelist->type != XML_COMMENT_NODE) &&
+            (nodelist->type != XML_PI_NODE) &&
+            (nodelist->type != XML_CDATA_SECTION_NODE)) {
+            return (0);
+        }
+        nodelist = nodelist->next;
     }
-	cur = cur->next;
+    return (1);
+}
+#endif
+
+static void
+xmlSchemaPostSchemaAssembleFixup(xmlSchemaParserCtxtPtr ctxt)
+{
+    int i, nbItems;
+    xmlSchemaTypePtr item, *items;
+
+
+    /*
+    * During the Assemble of the schema ctxt->curItems has
+    * been filled with the relevant new items. Fix those up.
+    */
+    nbItems = ctxt->assemble->nbItems;
+    items = (xmlSchemaTypePtr *) ctxt->assemble->items;
+    
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {
+	    case XML_SCHEMA_TYPE_ATTRIBUTE:
+		xmlSchemaAttrFixup((xmlSchemaAttributePtr) item, ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ELEMENT:
+		xmlSchemaRefFixupCallback((xmlSchemaElementPtr) item, ctxt, 
+		    NULL, NULL, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
+		xmlSchemaAttrGrpFixup((xmlSchemaAttributeGroupPtr) item, 
+		    ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_GROUP:
+		xmlSchemaGroupDefFixup(item, ctxt, NULL);            
+	    default:
+		break;
+	}
     }
+    /*
+    * Circularity checks.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	    
+	    case XML_SCHEMA_TYPE_GROUP:
+		xmlSchemaCheckGroupDefCircular(item, ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
+		xmlSchemaCheckAttributeGroupCircular(
+		    (xmlSchemaAttributeGroupPtr) item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+    /*
+    * Fixup for all other item. 
+    * TODO: Hmm, not sure if starting from complex/simple types,
+    * all subsequent items will be reached.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	    
+            case XML_SCHEMA_TYPE_SIMPLE:
+	    case XML_SCHEMA_TYPE_COMPLEX:
+		xmlSchemaTypeFixup(item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+    /*
+    * Check facet values. Note that facets are
+    * hold by complex and simple type components only.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	 
+	    case XML_SCHEMA_TYPE_SIMPLE:
+	    case XML_SCHEMA_TYPE_COMPLEX:
+		xmlSchemaCheckDefaults(item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+    /*
+    * Build the content model for complex types.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {	    
+	    case XML_SCHEMA_TYPE_COMPLEX:
+		xmlSchemaBuildContentModel(item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    } 
+    /*
+    * Validate value contraint values.
+    */
+    for (i = 0; i < nbItems; i++) {
+	item = items[i];
+	switch (item->type) {
+	    case XML_SCHEMA_TYPE_ATTRIBUTE:
+		xmlSchemaCheckAttrValConstr((xmlSchemaAttributePtr) item, ctxt, NULL);
+		break;
+	    case XML_SCHEMA_TYPE_ELEMENT:
+		xmlSchemaCheckElemValConstr((xmlSchemaElementPtr) item, ctxt, NULL);
+		break;
+	    default:
+		break;
+	}
+    }
+}
 
+/**
+ * xmlSchemaAssembleByLocation:
+ * @pctxt:  a schema parser context
+ * @vctxt:  a schema validation context
+ * @schema: the existing schema
+ * @node: the node that fired the assembling
+ * @nsName: the namespace name of the new schema
+ * @location: the location of the schema
+ *
+ * Expands an existing schema by an additional schema.
+ *
+ * Returns 0 if the new schema is correct, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaAssembleByLocation(xmlSchemaValidCtxtPtr vctxt,			    
+			    xmlSchemaPtr schema,
+			    xmlNodePtr node,
+			    const xmlChar *nsName,
+			    const xmlChar *location)
+{
+    const xmlChar *targetNs, *oldtns; 
+    xmlDocPtr doc, olddoc;
+    int oldflags, ret = 0;
+    xmlNodePtr docElem;
+    xmlSchemaParserCtxtPtr pctxt;
+
+    /*
+    * This should be used:
+    * 1. on <import>(s)
+    * 2. if requested by the validated instance 
+    * 3. if requested via the API
+    */
+    if ((vctxt == NULL) || (schema == NULL))
+	return (-1);
+    /*
+    * Create a temporary parser context.
+    */
+    if ((vctxt->pctxt == NULL) &&
+	(xmlSchemaCreatePCtxtOnVCtxt(vctxt) == -1)) {
+	xmlSchemaVErr(vctxt, node,
+	    XML_SCHEMAV_INTERNAL,
+	    "Internal error: xmlSchemaAssembleByLocation, "
+	    "failed to create a temp. parser context.\n", 
+	    NULL, NULL);
+	return (-1);		
+    }            
+    pctxt = vctxt->pctxt;
+    /*
+    * Set the counter to produce unique names for anonymous items.
+    */
+    pctxt->counter = schema->counter;    
+    /*
+    * Acquire the schema document.
+    */
+    ret = xmlSchemaAcquireSchemaDoc(pctxt, schema, node,
+	nsName, location, &doc, &targetNs, 0);
+    if (ret != 0) {
+	if (doc != NULL)
+	    xmlFreeDoc(doc);
+    } else if (doc != NULL) {
+	docElem = xmlDocGetRootElement(doc);
+	/*
+	* Create new assemble info.
+	*/
+	if (pctxt->assemble == NULL) {
+	    pctxt->assemble = xmlSchemaNewAssemble();
+	    if (pctxt->assemble == NULL) {
+		xmlSchemaVErrMemory(vctxt, 
+		    "Memory error: xmlSchemaAssembleByLocation, "
+		    "allocating assemble info", NULL);
+		xmlFreeDoc(doc);
+		return (-1);
+	    }
+	}
+	/*
+	* Save and reset the context & schema.
+	*/
+	oldflags = schema->flags;
+	oldtns = schema->targetNamespace;
+	olddoc = schema->doc;
+	
+	xmlSchemaClearSchemaDefaults(schema);
+	schema->targetNamespace = targetNs;
+	/* schema->nbCurItems = 0; */
+	pctxt->schema = schema;
+	pctxt->ctxtType = NULL;
+	pctxt->parentItem = NULL;
+	
+	xmlSchemaParseSchemaDefaults(pctxt, schema, docElem);		
+	xmlSchemaParseSchemaTopLevel(pctxt, schema, docElem->children);
+	xmlSchemaPostSchemaAssembleFixup(pctxt);
+	/*
+	* Set the counter of items.
+	*/
+	schema->counter = pctxt->counter;
+	/*
+	* Free the list of assembled components.
+	*/
+	pctxt->assemble->nbItems = 0;
+	/*
+	* Restore the context & schema.
+	*/
+	schema->flags = oldflags;
+	schema->targetNamespace = oldtns;
+	schema->doc = olddoc;
+	ret = pctxt->err;
+    }        
     return (ret);
 }
 
-#if 0		/* Not currently used - remove if ever needed */
 /**
- * xmlSchemaValidateSimpleContent:
- * @ctxt:  a schema validation context
- * @elem:  an element
- * @type:  the type declaration
+ * xmlSchemaAssembleByXSIAttr:
+ * @vctxt:  a schema validation context
+ * @xsiAttr: an xsi attribute
+ * @noNamespace: whether a schema with no target namespace is exptected
  *
- * Validate the content of an element expected to be a simple type
+ * Expands an existing schema by an additional schema using
+ * the xsi:schemaLocation or xsi:noNamespaceSchemaLocation attribute
+ * of an instance. If xsi:noNamespaceSchemaLocation is used, @noNamespace
+ * must be set to 1.
  *
- * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
+ * Returns 0 if the new schema is correct, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
  */
 static int
-xmlSchemaValidateSimpleContent(xmlSchemaValidCtxtPtr ctxt,
-                               xmlNodePtr node ATTRIBUTE_UNUSED)
+xmlSchemaAssembleByXSIAttr(xmlSchemaValidCtxtPtr vctxt,
+			 xmlAttrPtr xsiAttr,
+			 int noNamespace)
 {
-    xmlNodePtr child;
-    xmlSchemaTypePtr type, base;
     xmlChar *value;
+    const xmlChar *cur, *end;
+    const xmlChar *nsname = NULL, *location;
+    int count = 0;
     int ret = 0;
-
-    child = ctxt->node;
-    type = ctxt->type;
-
+    
+    if (xsiAttr == NULL) {
+	xmlSchemaVCustomErr(vctxt, XML_SCHEMAV_INTERNAL, 
+	    NULL, NULL,
+	    "Internal error: xmlSchemaAssembleByXSIAttr, "
+	    "bad arguments", NULL);
+	return (-1);
+    }
     /*
-     * Validation Rule: Element Locally Valid (Type): 3.1.3
-     */
-    value = xmlNodeGetContent(child);
-    /* xmlSchemaValidateSimpleValue(ctxt, type, value); */
-    switch (type->type) {
-        case XML_SCHEMA_TYPE_RESTRICTION:{
-                xmlSchemaFacetPtr facet;
-
-                base = type->baseType;
-                if (base != NULL) {
-                    ret = xmlSchemaValidateSimpleValue(ctxt, base, value);
-                } else {
-                TODO}
-                if (ret == 0) {
-                    facet = type->facets;
-                    ret =
-                        xmlSchemaValidateFacets(ctxt, base, facet, value);
-                }
-		/* 
-		 * This should attempt to validate the attributes even
-		 * when validation of the value failed.
-		 */
-		/*
-		if (type->attributes != NULL) {
-		    ret = xmlSchemaValidateAttributes(ctxt, node,
-		                                      type->attributes);
-		}
-		*/
-                break;
-            }
-        case XML_SCHEMA_TYPE_EXTENSION:{
-	        TODO
-                break;
-            }
-        default:
-	    TODO
-    }
+    * Parse the value; we will assume an even number of values
+    * to be given (this is how Xerces and XSV work).
+    */
+    value = xmlNodeGetContent((xmlNodePtr) xsiAttr);    
+    cur = value;
+    do {	
+	if (noNamespace != 1) {
+	    /*
+	    * Get the namespace name.
+	    */
+	    while (IS_BLANK_CH(*cur))
+		cur++;
+	    end = cur;
+	    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+		end++;
+	    if (end == cur)
+		break;
+	    count++;
+	    nsname = xmlDictLookup(vctxt->schema->dict, cur, end - cur);		
+	    cur = end;
+	}
+	/*
+	* Get the URI.
+	*/
+	while (IS_BLANK_CH(*cur))
+	    cur++;
+	end = cur;
+	while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+	    end++;
+	if (end == cur)
+	    break;
+	count++;
+	location = xmlDictLookup(vctxt->schema->dict, cur, end - cur);
+	cur = end;	
+	ret = xmlSchemaAssembleByLocation(vctxt, vctxt->schema, 
+	    xsiAttr->parent, nsname, location);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(vctxt, 
+		XML_SCHEMAV_INTERNAL,
+		(xmlNodePtr) xsiAttr, NULL,
+		"Internal error: xmlSchemaAssembleByXSIAttr, "
+		"assembling schemata", NULL);
+	    if (value != NULL)
+		xmlFree(value);
+	    return (-1);
+	}
+    } while (*cur != 0);
     if (value != NULL)
-        xmlFree(value);
-
+	xmlFree(value);
     return (ret);
 }
-#endif
 
 /**
- * xmlSchemaValidateCheckNodeList
- * @nodelist: the list of nodes
+ * xmlSchemaAssembleByXSIElem:
+ * @vctxt:  a schema validation context
+ * @elem: an element node possibly holding xsi attributes
+ * @noNamespace: whether a schema with no target namespace is exptected
  *
- * Check the node list is only made of text nodes and entities pointing
- * to text nodes
+ * Assembles an existing schema by an additional schema using
+ * the xsi:schemaLocation or xsi:noNamespaceSchemaLocation attributes
+ * of the given @elem.
  *
- * Returns 1 if true, 0 if false and -1 in case of error
+ * Returns 0 if the new schema is correct, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
  */
 static int
-xmlSchemaValidateCheckNodeList(xmlNodePtr nodelist)
-{
-    while (nodelist != NULL) {
-        if (nodelist->type == XML_ENTITY_REF_NODE) {
-            TODO                /* implement recursion in the entity content */
-        }
-        if ((nodelist->type != XML_TEXT_NODE) &&
-            (nodelist->type != XML_COMMENT_NODE) &&
-            (nodelist->type != XML_PI_NODE) &&
-            (nodelist->type != XML_CDATA_SECTION_NODE)) {
-            return (0);
-        }
-        nodelist = nodelist->next;
+xmlSchemaAssembleByXSIElem(xmlSchemaValidCtxtPtr vctxt,  
+			 xmlNodePtr elem)
+{    
+    int ret = 0, retNs = 0;
+    xmlAttrPtr attr;
+
+    attr = xmlHasNsProp(elem, BAD_CAST "schemaLocation", xmlSchemaInstanceNs);
+    if (attr != NULL) {
+	retNs = xmlSchemaAssembleByXSIAttr(vctxt, attr, 0);
+	if (retNs == -1)
+	    return (-1);
     }
-    return (1);
+    attr = xmlHasNsProp(elem, BAD_CAST "noNamespaceSchemaLocation", xmlSchemaInstanceNs);
+    if (attr != NULL) {
+	ret = xmlSchemaAssembleByXSIAttr(vctxt, attr, 1);
+	if (ret == -1)
+	    return (-1);
+    }
+    if (retNs != 0)
+	return (retNs);
+    else
+	return (ret);
 }
 
 /**
@@ -9417,233 +14368,125 @@
                     "xmlSchemaValidateCallback: %s, %s, %s\n",
                     name, type->name, node->name);
 #endif
+    /*
+    * @type->type will be XML_SCHEMA_TYPE_ANY or XML_SCHEMA_TYPE_ELEMENT.
+    */
     ctxt->type = type;
-    ctxt->node = node;
-    xmlSchemaValidateContent(ctxt, node);
-    ctxt->type = oldtype;
-    ctxt->node = oldnode;
-}
-
-
-#if 0
-
-/**
- * xmlSchemaValidateSimpleRestrictionType:
- * @ctxt:  a schema validation context
- * @node:  the top node.
- *
- * Validate the content of a restriction type.
- *
- * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
- */
-static int
-xmlSchemaValidateSimpleRestrictionType(xmlSchemaValidCtxtPtr ctxt,
-                                       xmlNodePtr node)
-{
-    xmlNodePtr child;
-    xmlSchemaTypePtr type;
-    int ret;
-
-    child = ctxt->node;
-    type = ctxt->type;
-
-    if ((ctxt == NULL) || (type == NULL)) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleRestrictionType %s\n",
-		      node->name, NULL);
-        return (-1);
-    }
+    ctxt->node = node;    
+    ctxt->cur = node->children;
     /*
-     * Only text and text based entities references shall be found there
-     */
-    ret = xmlSchemaValidateCheckNodeList(child);
-    if (ret < 0) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleRestrictionType %s content\n",
-		      node->name, NULL);
-        return (-1);
-    } else if (ret == 0) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_NOTSIMPLE,
-		      "Element %s content is not a simple type\n",
-		      node->name, NULL);
-        return (-1);
-    }
-    ctxt->type = type->subtypes;
-    xmlSchemaValidateContent(ctxt, node);
-    ctxt->type = type;
-    return (ret);
-}
-#endif
+    * Assemble new schemata using xsi.
+    */
+    if (ctxt->xsiAssemble) {
+	int ret;
 
-#if 0 /* Not used any more */
-/**
- * xmlSchemaValidateSimpleType:
- * @ctxt:  a schema validation context
- * @node:  the top node.
- *
- * Validate the content of an simple type.
- *
- * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
- */
-static int
-xmlSchemaValidateSimpleType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
-{
-    xmlNodePtr child;
-    xmlSchemaTypePtr type, base, variety;
-    xmlAttrPtr attr;
-    int ret;
-    xmlChar *value;
-    
-
-    child = ctxt->node;
-    type = ctxt->type;
-
-    if ((ctxt == NULL) || (type == NULL)) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleType %s\n",
-		      node->name, NULL);
-        return (-1);
-    }
-    /*
-     * Only text and text based entities references shall be found there
-     */
-    ret = xmlSchemaValidateCheckNodeList(child);
-    if (ret < 0) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleType %s content\n",
-		      node->name, NULL);
-        return (-1);
-    } else if (ret == 0) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_NOTSIMPLE,
-		      "Element %s content is not a simple type\n",
-		      node->name, NULL);
-        return (-1);
-    }
-    /*
-     * Validation Rule: Element Locally Valid (Type): 3.1.1
-     */    
-    
-    attr = node->properties;
-    while (attr != NULL) {
-        if ((attr->ns == NULL) ||
-            (!xmlStrEqual(attr->ns->href, xmlSchemaInstanceNs)) ||
-            ((!xmlStrEqual(attr->name, BAD_CAST "type")) &&
-             (!xmlStrEqual(attr->name, BAD_CAST "nil")) &&
-             (!xmlStrEqual(attr->name, BAD_CAST "schemasLocation")) &&
-             (!xmlStrEqual
-              (attr->name, BAD_CAST "noNamespaceSchemaLocation")))) {
-            xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INVALIDATTR,
-	    		  "Element %s: attribute %s should not be present\n",
-			  node->name, attr->name);
-            return (ctxt->err);
-        }
-    }
-    /* TODO:
-     * If {variety} is ·atomic· then the {variety} of {base type definition}
-     * must be ·atomic·. 
-     * If {variety} is ·list· then the {variety} of {item type definition}
-     * must be either ·atomic· or ·union·. 
-     * If {variety} is ·union· then {member type definitions} must be a list
-     * of datatype definitions. 
-     */
-    if (type->subtypes == NULL) {
-	xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleType; "
-		      "simple type %s does not define a variety\n",
-		      node->name, NULL);
-	return (ctxt->err);
-    }
-    /* Varieties: Restriction or List or Union. */
-    variety = type->subtypes;
-    ctxt->type = variety;        
-    value = xmlNodeGetContent(child);
-    switch (variety->type) {
-        case XML_SCHEMA_TYPE_RESTRICTION:{
-                base = variety->baseType;
-                if (base != NULL) {
-                    ret = xmlSchemaValidateSimpleValue(ctxt, base, value);
-                } else {
-                TODO}		 
-                
-		/* Removed due to changes of attribute validation:
-		if ((ret == 0) && (variety->attributes != NULL)) {
-		    ret = xmlSchemaValidateAttributes(ctxt, node,
-		    		variety->attributes);
-		}
+	ret = xmlSchemaAssembleByXSIElem(ctxt, ctxt->node);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL,
+		ctxt->node, NULL, 	
+		"Internal error: xmlSchemaValidateElement, "
+		"assembling schema by xsi", NULL);
+	    return;
+	}
+	/*
+	* NOTE: We won't react on schema parser errors here.
+	* TODO: But a warning would be nice.
+	*/
+    }    
+    switch (type->type) {
+	case XML_SCHEMA_TYPE_ELEMENT: {
+	    /*
+	    * NOTE: The build of the content model 
+	    * (xmlSchemaBuildAContentModel) ensures that the element 
+	    * declaration (and not a reference to it) will be given.
+	    */
+	    if (((xmlSchemaElementPtr) ctxt->type)->ref != NULL) {
+		/*
+		* This is paranoid coding ;-)... it should not
+		* happen here any more.
 		*/
-                break;
-            }
-        case XML_SCHEMA_TYPE_LIST:
-	case XML_SCHEMA_TYPE_UNION: {
-	        ret = xmlSchemaValidateSimpleValue(ctxt, variety, value);
-                break;
-            }
-        default:{
-		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-			      "Internal error: xmlSchemaValidateSimpleType; "
-			      "simple type %s defines unknown content: %s\n",
-			      variety->name, NULL);
-		ret = ctxt->err;
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL, 
+		    node, NULL,						
+		    "Internal error: xmlSchemaValidateCallback, "
+		    "element declaration 'reference' encountered, "
+		    "but an element declaration was expected", 
+		    NULL);
+		return;
 	    }
+	    xmlSchemaValidateElementByDeclaration(ctxt, 
+		(xmlSchemaElementPtr) type);
+	    break;
+	}
+        case XML_SCHEMA_TYPE_ANY:
+	    xmlSchemaValidateElementByWildcard(ctxt, type);
+            break;
+	default: 
+	    break;
     }
-    if ((ret == 0) && (variety->facetSet != NULL)) {
-	ret = xmlSchemaValidateFacets(ctxt, base, variety->facetSet, value);
-    }
-    if (value != NULL)
-        xmlFree(value);
+    ctxt->type = oldtype;
+    ctxt->node = oldnode;
+}  
 
-    /* This was removed, since a simple content is not a content of a
-     * simple type, but of a complex type.
-     * ret = xmlSchemaValidateSimpleContent(ctxt, node);
-     */
-    ctxt->type = type;
-    return (ret);
-}
-#endif
-
 /**
  * xmlSchemaValidateSimpleTypeValue:
  * @ctxt:  a schema validation context
  * @value: the value to be validated
  * @fireErrors: shall errors be reported?
  * @applyFacets: shall facets be applied?
+ * @normalize: shall the value be normalized?
+ * @checkNodes: shall the content nodes be checked?
  *
  * Validates a value by the given type (user derived or built-in).
  *
  * Returns 0 if the value is valid, a positive error code
  * number otherwise and -1 in case of an internal or API error.
- * Note on reported errors: Although it might be nice to report
- * the name of the simple/complex type, used to validate the content
- * of a node, it is quite unnecessary: for global defined types
- * the local name of the element is equal to the NCName of the type,
- * for local defined types it makes no sense to output the internal
- * computed name of the type. TODO: Instead, one should attach the 
- * struct of the type involved to the error handler - this allows
- * the report of any additional information by the user.
- * TODO: Correct character normalization of union simple types.
  */
 static int
 xmlSchemaValidateSimpleTypeValue(xmlSchemaValidCtxtPtr ctxt, 
-				 const xmlChar *value,
+				 xmlSchemaTypePtr type,
+				 const xmlChar *value,				 
 				 int fireErrors,				 
-				 int applyFacets)
+				 int applyFacets,
+				 int normalize,
+				 int checkNodes)
 {
-    xmlSchemaTypePtr type;
-    int ret = 0;    
-    type = ctxt->type;     
-    
-    if (type->type == XML_SCHEMA_TYPE_BASIC) {
-	xmlNodePtr child;
+    xmlNodePtr node;
+    int ret = 0;  
+    xmlChar *normValue = NULL;
+    int wtsp;       
+ 
+    node = ctxt->node;
+    /* Save the current whitespace normalization type. */
+    wtsp = ctxt->valueWS;
+    /*
+    * Normalize the value.
+    */
+    if (normalize && 
+	(ctxt->valueWS != XML_SCHEMAS_VAL_WTSP_COLLAPSE)) {
+	int norm = xmlSchemaGetWhiteSpaceFacetValue(type);
+	
+	if ((norm != -1) && (norm > ctxt->valueWS)) {
+	    if (norm == XML_SCHEMAS_VAL_WTSP_COLLAPSE)
+		normValue = xmlSchemaCollapseString(value);
+	    else
+		normValue = xmlSchemaWhiteSpaceReplace(value);
+	    ctxt->valueWS = norm;
+	    if (normValue != NULL)
+		value = (const xmlChar *) normValue;
+	}		
+    }    
+    /*
+    * The nodes of a content must be checked only once,
+    * this is not working since list types will fire this
+    * multiple times.
+    */
+    if ((checkNodes == 1) && (ctxt->cur != NULL)) {
+	xmlNodePtr cur = ctxt->cur;
 
-	if (ctxt->value != NULL) {
-	    xmlSchemaFreeValue(ctxt->value);
-	    ctxt->value = NULL;
-	}
-	child = ctxt->node;
-	while (child != NULL) {
-	    switch (child->type) {
+	do {
+	    switch (cur->type) {
 	    case XML_TEXT_NODE:
 	    case XML_CDATA_SECTION_NODE:
 	    case XML_PI_NODE:
@@ -9653,12 +14496,22 @@
 		break;
 	    case XML_ENTITY_REF_NODE:
 	    case XML_ENTITY_NODE:
+		/* TODO: Scour the entities for illegal nodes. */
 		TODO break;
-	    case XML_ELEMENT_NODE:
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INVALIDELEM,
-		    "Element \"%s\": child \"%s\" should not be present.\n",
-		    ctxt->cur->name, child->name);
-		return (ctxt->err);
+	    case XML_ELEMENT_NODE: {
+	    /* NOTE: Changed to an internal error, since the 
+	    * existence of an element node will be already checked in
+	    * xmlSchemaValidateElementBySimpleType and in
+	    * xmlSchemaValidateElementByComplexType.
+		*/
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL,
+		    /* XML_SCHEMAS_ERR_INVALIDELEM, */
+		    node, type,
+		    "Element '%s' found in simple type content", 
+		    cur->name);
+		return (XML_SCHEMAV_INTERNAL);
+				   }
 	    case XML_ATTRIBUTE_NODE:
 	    case XML_DOCUMENT_NODE:
 	    case XML_DOCUMENT_TYPE_NODE:
@@ -9671,86 +14524,116 @@
 	    case XML_ENTITY_DECL:
 	    case XML_NAMESPACE_DECL:
 #ifdef LIBXML_DOCB_ENABLED
-	    case XML_DOCB_DOCUMENT_NODE:
-#endif
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INVALIDELEM,
-		    "Element \"%s\": node type of node unexpected here.\n",
-		    ctxt->cur->name, NULL);
-		return (ctxt->err);
+	    case XML_DOCB_DOCUMENT_NODE: 
+#endif		    		    		    
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL,
+		    /* XML_SCHEMAS_ERR_INVALIDELEM, */
+		    node, NULL,
+		    "Node of unexpected type found in simple type content",
+		    NULL);
+		return (XML_SCHEMAV_INTERNAL);
 	    }
-	    child = child->next;
+	    cur = cur->next;
+	} while (cur != NULL);
+    }
+
+    if (type->type == XML_SCHEMA_TYPE_COMPLEX) {
+	xmlSchemaTypePtr base, anyType;
+
+	anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+
+	base = type->baseType;
+	while ((base != NULL) && 
+	    (base->type != XML_SCHEMA_TYPE_SIMPLE) &&
+	    (base->type != XML_SCHEMA_TYPE_BASIC) &&
+	    (base != anyType)) {
+	    base = base->baseType;
 	}
-	ret = xmlSchemaValPredefTypeNode(type, value, &(ctxt->value),
-	    ctxt->cur);
-	if (ret > 0) {
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt, base, value, 1, 0, 1, 0);
+	if (ret < 0) {
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"validating complex type '%s'\n",
+		type->name, NULL);
+	} else if ((ret == 0) && (applyFacets) && (type->facetSet != NULL)) {
+	    /* 
+	    * Check facets.
+	    */	    
+	    /*
+	    * This is somehow not nice, since if an error occurs
+	    * the reported type will be the complex type; the spec
+	    * wants a simple type to be created on the complex type
+	    * if it has a simple content. For now we have to live with
+	    * it.
+	    */
+	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
+		value, 0, fireErrors);
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "validating facets of complex type '%s'\n",
+		    type->name, NULL);
+	    } else if (ret > 0) {
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
+		if (fireErrors) 
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
+	    }	
+	}	
+    } else if (type->type == XML_SCHEMA_TYPE_BASIC) {
+
+	if (ctxt->value != NULL) {
+	    xmlSchemaFreeValue(ctxt->value);
+	    ctxt->value = NULL;
+	}
+	/*
+	* STREAM-READ-CHILDREN.
+	*/	    		
+	ret = xmlSchemaValPredefTypeNodeNoNorm(type, value, &(ctxt->value), node);
+	if (ret > 0) {	    
 	    if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) 
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
 	    else
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;	    
-	    if (fireErrors) {
-		if (ctxt->cur->type == XML_ATTRIBUTE_NODE)
-		    xmlSchemaVErr(ctxt, ctxt->cur, 
-		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
-		    "The value of attribute \"%s\" is not valid.\n",
-		    ctxt->cur->name, NULL);
-		else 
-		    xmlSchemaVErr(ctxt, ctxt->cur, 
-		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
-		    "The value is not valid.\n",
-		    NULL, NULL);
-	    }	    
+	    if (fireErrors)
+		xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
 	} else if (ret < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
-		"validating built-in type \"%s\"\n",
-		type->name, NULL);
+		"validating built-in type '%s'\n", type->name, NULL);
 	}
     } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) {        
 	/* 1.2.1 if {variety} is ·atomic· then the string must ·match· 
 	* a literal in the ·lexical space· of {base type definition} 
 	*/	
-	ctxt->type = type->baseType;
-	ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 0, 0);
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt, type->baseType, value, 0, 0, 0, 0);
 	if (ret < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
-		"validating atomic simple type \"%s\"\n",
+		"validating atomic simple type '%s'\n",
 		type->name, NULL);
-	} else if (ret > 0) {
+	} else if (ret > 0) {	    
 	    ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
-	    if (fireErrors) {
-		xmlSchemaVErr(ctxt, ctxt->cur, 
-		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
-		    "The value is not valid.\n",
-		    NULL, NULL);
-	    }		
-	    
-	} else if ((applyFacets) &&  
-	    (type->facetSet != NULL)) {
-	    xmlSchemaTypePtr builtIn;
-
+	    if (fireErrors)
+		xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);	
+	} else if ((applyFacets) && (type->facetSet != NULL)) {
 	    /* 
-	    * Check facets. Be sure to pass the built-in type to
-	    * xmlSchemaValidateFacetsInternal.
+	    * Check facets.
 	    */	    	    	    
-	    builtIn = type->baseType;
-	    while (builtIn->type != XML_SCHEMA_TYPE_BASIC)
-		builtIn = builtIn->baseType;
-	    ret = xmlSchemaValidateFacetsInternal(ctxt, builtIn, 
-		type->facetSet, value, fireErrors);
+	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
+		value, 0, fireErrors);
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
-		    "validating facets of atomic simple type \"%s\"\n",
+		    "validating facets of atomic simple type '%s'\n",
 		    type->name, NULL);
 	    } else if (ret > 0) {
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
-		if (fireErrors) {
-		    xmlSchemaVErr(ctxt, ctxt->cur, 
-			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
-			"The value is not valid.\n",
-			NULL, NULL);
-		}
+		/*
+		 Disabled, since the facet validation already reports errors.
+		if (fireErrors) 
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);
+		*/
 	    }	
 	}
     } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
@@ -9758,14 +14641,14 @@
 	xmlSchemaTypePtr tmpType;
 	const xmlChar *cur, *end;
 	xmlChar *tmp;
-	int len = 0;
+	unsigned long len = 0;
 
 	/* 1.2.2 if {variety} is ·list· then the string must be a sequence 
 	* of white space separated tokens, each of which ·match·es a literal 
 	* in the ·lexical space· of {item type definition} 
 	*/
 	
-	tmpType = xmlSchemaGetListSimpleTypeItemType(type);		
+	tmpType = xmlSchemaGetListSimpleTypeItemType(type);	
 	cur = value;
 	do {
 	    while (IS_BLANK_CH(*cur))
@@ -9777,154 +14660,47 @@
 		break;
 	    tmp = xmlStrndup(cur, end - cur);
 	    len++;
-	    ctxt->type = tmpType;
-	    ret = xmlSchemaValidateSimpleTypeValue(ctxt, tmp, 0, 1);
+	    ret = xmlSchemaValidateSimpleTypeValue(ctxt, tmpType, tmp, 0, 1, 0, 0);
 	    xmlFree(tmp);
-	    if (ret > 0) {
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "validating an item of list simple type '%s'\n",
+		    type->name, NULL);	
+		break;
+	    } else if (ret > 0) {
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
-		if (fireErrors) {
-		    xmlSchemaVErr(ctxt, ctxt->cur, 
-			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2,
-			"The value is not valid.\n",
-			NULL, NULL);
-		}		
+		if (fireErrors)
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
 		break;
-	    } else if (ret < 0)
-		break;
+	    }	
 	    cur = end;
 	} while (*cur != 0);
 	/* 
 	* Check facets.
 	*/
 	if (ret < 0) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
-		"validating list simple type \"%s\"\n",
+		"validating list simple type '%s'\n",
 		type->name, NULL);
-	} else if ((ret == 0) && (applyFacets) && 
-	    (type->facetSet != NULL)) {
-	    int okFacet = 0, hasFacet = 0;
-	    unsigned long expLen;
-	    xmlSchemaFacetPtr facet;
-	    xmlSchemaFacetLinkPtr facetLink;
-	    xmlChar *collapsedValue = NULL;
-
-	    /*
-	    * The value of ·whiteSpace· is fixed to the value collapse. 
-	    */
-	    collapsedValue = xmlSchemaCollapseString((const xmlChar *) value);
-	    if (collapsedValue != NULL)		
-		value = (const xmlChar *) collapsedValue;		
-	    facetLink = type->facetSet;
-	    do {
-		facet = facetLink->facet;
-		/* 
-		* List types need a special facet treatment. 
-		* Skip whiteSpace, since it is fixed to "collapse".
-		*/
-		if ((facet->type != XML_SCHEMA_FACET_WHITESPACE) && 
-		    (facet->type != XML_SCHEMA_FACET_PATTERN)) {
-		    ret = xmlSchemaValidateListSimpleTypeFacet(facet, value, 
-			len, &expLen);
-		    if (facet->type == XML_SCHEMA_FACET_ENUMERATION) {
-			hasFacet = 1;
-			if (ret == 0)
-			    okFacet = 1;		    
-		    } else if ((ret > 0) && (fireErrors)) {			
-			char l[25], fl[25];			
-			/* FIXME: What is the max expected string length of the
-			* length value?
-			*/
-			snprintf(l, 24, "%d", len);
-			snprintf(fl, 24, "%lu", expLen);
-			if (ret == XML_SCHEMAV_CVC_LENGTH_VALID) {
-			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
-				"The value with length \"%s\" is not "
-				"facet-valid with respect to length = \"%s\".\n",
-				(const xmlChar *)l, (const xmlChar *)fl);
-			} else if (ret == XML_SCHEMAV_CVC_MINLENGTH_VALID) {
-			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
-				"The value with length \"%s\" is not "
-				"facet-valid with respect to minLength = \"%s\".\n",
-				(const xmlChar *)l, (const xmlChar *)fl);
-			} else if (ret == XML_SCHEMAV_CVC_MAXLENGTH_VALID) {
-			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
-				"The value with length \"%s\" is not "
-				"facet-valid with respect to maxLength = \"%s\".\n",
-				(const xmlChar *)l, (const xmlChar *)fl);
-			} else {
-			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
-				"The value is not valid with respect "
-				"to the facet \"%s\".\n",
-				(const xmlChar *)
-				xmlSchemaFacetTypeToString(facet->type), 
-				NULL);
-			}			
-		    } else if (ret < 0) {
-			xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
-			    "Internal error: xmlSchemaValidateSimpleTypeValue, "
-			    "validating facets of list simple type \"%s\"\n",
-			    type->name, NULL);	
-			break;
-		    }
-		}
-		facetLink = facetLink->next;		
-	    } while (facetLink != NULL);
-	    if (ret >= 0) {
-		if ((hasFacet) && (okFacet == 0)) {
-		    ret = XML_SCHEMAV_CVC_ENUMERATION_VALID;
-		    if (fireErrors) {
-		    /*
-		    * TODO: Try to create a report that outputs all the enumeration
-		    * values in use.
-			*/
-			xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_CVC_ENUMERATION_VALID,
-			    "The value is not valid with respect "
-			    "to the \"enumeration\" facet(s).\n",
-			    NULL, NULL);
-		    }
-		    
-		}
+	} else if ((ret == 0) && (applyFacets)) {
+	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
+		value, len, fireErrors);
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "validating facets of list simple type '%s'\n",
+		    type->name, NULL);
+	    } else if (ret > 0) {
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
 		/*
-		* Pattern facets are ORed at type level and ANDed
-		* if derived. Walk the base axis.
+		 Disabled, since the facet validation already reports errors.
+		if (fireErrors) 
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);
 		*/
-		hasFacet = 0;
-		tmpType = type;
-		do {		    
-		    okFacet = 0;
-		    for (facetLink = tmpType->facetSet; facetLink != NULL; 
-		    facetLink = facetLink->next) {		    
-			if (facetLink->facet->type != XML_SCHEMA_FACET_PATTERN)
-			    continue;			
-			okFacet = xmlSchemaValidateListSimpleTypeFacet(
-			    facetLink->facet, value, len, &expLen);		    
-			if (okFacet <= 0)
-			    break;
-		    }
-		    if (okFacet != 0)
-			break;		    
-		    tmpType = tmpType->baseType;
-		} while ((tmpType != NULL) && (tmpType->type != XML_SCHEMA_TYPE_BASIC));
-		if (okFacet < 0) {
-		    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
-			"Internal error: xmlSchemaValidateSimpleTypeValue, "
-			"validating \"pattern\" facets of type \"%s\"\n",
-			type->name, NULL);
-		} else if (okFacet > 0) {
-		    ret = XML_SCHEMAV_CVC_PATTERN_VALID;
-		    if (fireErrors) {
-			xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_CVC_ENUMERATION_VALID,
-			    "The value is not valid with respect "
-			    "to the \"pattern\" facet(s) of type "
-			    "\"%s\".\n",
-			    tmpType->name, NULL);
-		    }		    
-		}
-	    }
-
-	    if (collapsedValue != NULL) 
-		xmlFree(collapsedValue);
+	    }	 	   
+	   
 	}
     } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
 	xmlSchemaTypeLinkPtr memberLink;
@@ -9945,69 +14721,83 @@
 	* literal in the ·lexical space· of at least one member of 
 	* {member type definitions} 
 	*/
+#ifdef DEBUG_UNION_VALIDATION
+	printf("Union ST     : '%s'\n", (const char *) type->name);
+	printf("  fireErrors : %d\n", fireErrors);
+	printf("  applyFacets: %d\n", applyFacets);
+#endif
 	memberLink = xmlSchemaGetUnionSimpleTypeMemberTypes(type);
 	if (memberLink == NULL) {
-	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+	    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		"Internal error: xmlSchemaValidateSimpleTypeValue, "
-		"union simple type \"%s\" has no member types\n",
+		"union simple type '%s' has no member types\n",
 		type->name, NULL);
 	    ret = -1;
 	} 
 	if (ret == 0) {
 	    while (memberLink != NULL) {
-		ctxt->type = memberLink->type;
-		ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 0, 1);
+		ret = xmlSchemaValidateSimpleTypeValue(ctxt, memberLink->type, 
+		    value, 0, 1, 1, 0);
 		if ((ret <= 0) || (ret == 0))
 		    break;	    
 		memberLink = memberLink->next;
 	    }     
-	    if (ret > 0) {
-		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
-		if (fireErrors) {
-		    xmlSchemaVErr(ctxt, ctxt->cur, 
-			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3,
-			"The value is not valid.\n",
-			NULL, NULL);
-		}			    
-	    } else if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
-		    "validating members of union simple type \"%s\"\n",
+		    "validating members of union simple type '%s'\n",
 		    type->name, NULL);
+	    } else if (ret > 0) {
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
+		if (fireErrors)
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, node, value, type);
 	    }
 	}
 	/*
-	* Apply facets (pattern, enumeration).
+	* Apply facets (pattern, enumeration).	
 	*/
-	if ((ret == 0) && (applyFacets) && 
-	    (type->facetSet != NULL)) {
-	    xmlSchemaTypePtr anySimpleType;
-	    /* 
-	    * Check facets. Be sure to pass the built-in type (the
-	    * simple ur-type in this case) to xmlSchemaValidateFacetsInternal.
-	    */	    	    	    
-	    anySimpleType = type->baseType;
-	    while (anySimpleType->type != XML_SCHEMA_TYPE_BASIC)
-		anySimpleType = anySimpleType->baseType;
-	    ret = xmlSchemaValidateFacetsInternal(ctxt, anySimpleType, 
-		type->facetSet, value, fireErrors);
+	if ((ret == 0) && (applyFacets) && (type->facetSet != NULL)) {
+	    int mws;
+	    /*
+	    * The normalization behavior of ·union· types is controlled by 
+	    * the value of whiteSpace on that one of the ·memberTypes· 
+	    * against which the ·union· is successfully validated. 
+	    */		    
+	    if (normValue != NULL) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "the value was already normalized for the union simple "
+		    "type '%s'.\n", type->name, NULL);
+	    }
+	    mws = xmlSchemaGetWhiteSpaceFacetValue(memberLink->type);
+	    if (mws > ctxt->valueWS) {
+		if (mws == XML_SCHEMAS_VAL_WTSP_COLLAPSE)
+		    normValue = xmlSchemaCollapseString(value);
+		else
+		    normValue = xmlSchemaWhiteSpaceReplace(value);
+		if (normValue != NULL)
+		    value = (const xmlChar *) normValue;
+	    }
+
+	    ret = xmlSchemaValidateFacetsInternal(ctxt, type, 
+		value, 0, fireErrors);
 	    if (ret < 0) {
-		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
 		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
-		    "validating facets of union simple type \"%s\"\n",
+		    "validating facets of union simple type '%s'\n",
 		    type->name, NULL);
 	    } else if (ret > 0) {
 		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
-		if (fireErrors) {
-		    xmlSchemaVErr(ctxt, ctxt->cur, 
-			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
-			"The value is not valid.\n",
-			NULL, NULL);
-		}
+		/*
+		if (fireErrors)
+		    xmlSchemaVSimpleTypeErr(ctxt, ret, ctxt->cur, value, type);
+		*/
 	    }	
 	}
-    }    
-    ctxt->type = type;
+    }           
+    ctxt->valueWS = wtsp;
+    if (normValue != NULL)
+	xmlFree(normValue);
     return (ret);
 }
 
@@ -10022,46 +14812,57 @@
  * number otherwise and -1 in case of an internal or API error.
  */
 static int
-xmlSchemaValidateSimpleTypeElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementBySimpleType(xmlSchemaValidCtxtPtr ctxt, 
+				     xmlSchemaTypePtr type,
+				     int valSimpleContent)
 {
-    xmlNodePtr child;
-    xmlSchemaTypePtr type;
+    xmlSchemaTypePtr oldtype;
+    xmlNodePtr node;
     xmlAttrPtr attr;
-    int ret;
-    xmlChar *value;
-    
-
-    child = ctxt->node;
-    type = ctxt->type;
-
+    xmlNodePtr cur;
+    int ret = 0, retval = 0;
+        
     if ((ctxt == NULL) || (type == NULL)) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleTypeElement %s\n",
-		      node->name, NULL);
-        return (-1);
+        xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_INTERNAL, NULL, NULL,
+	    "Internal error: xmlSchemaValidateElementBySimpleType, "
+	    "bad arguments", NULL);
+        return (-1);    
     }
 
+    oldtype = ctxt->type;
+    node = ctxt->node;
+    /* 
+    * cvc-type: 3.1.2 The element information item must have no element 
+    * information item [children].
+    */   
     /*
-    * Only text and text based entities references shall be found there
+    * STREAM: Child nodes are processed.
     */
-    ret = xmlSchemaValidateCheckNodeList(child);
-    if (ret < 0) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleTypeElement %s content\n",
-		      node->name, NULL);
-        return (-1);
-    } else if (ret == 0) {
-	/* 3.1.2 The element information item must have no element 
-	* information item [children].
+    cur = node->children;
+    while (cur != NULL) {
+	/*
+	* TODO: Entities, will they produce elements as well?
 	*/
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_TYPE_3_1_2,
-		      "Element \"%s\" must have no element children.\n",
-		      node->name, NULL);
-        return (-1);
+	if (cur->type == XML_ELEMENT_NODE) {
+	    xmlSchemaVCustomErr(ctxt,
+		XML_SCHEMAV_CVC_TYPE_3_1_2,
+		node, type,		
+		"No element content allowed", NULL);
+	    ret = XML_SCHEMAV_CVC_TYPE_3_1_2;
+	}
+	cur = cur->next;
     }
+    
     /*
-     * Validation Rule: Element Locally Valid (Type): 3.1.1
-     */        
+    * cvc-type 3.1.1:
+    *
+    * The attributes of must be empty, excepting those whose namespace name 
+    * is identical to http://www.w3.org/2001/XMLSchema-instance and whose local 
+    * name is one of type, nil, schemaLocation or noNamespaceSchemaLocation.
+    */   
+    /*
+    * STREAM: Attribute nodes are processed.
+    */
     attr = node->properties;
     while (attr != NULL) {
         if ((attr->ns == NULL) ||
@@ -10071,252 +14872,812 @@
              (!xmlStrEqual(attr->name, BAD_CAST "schemaLocation")) &&
              (!xmlStrEqual
               (attr->name, BAD_CAST "noNamespaceSchemaLocation")))) {
-            xmlSchemaVErr(ctxt, node, 
-		XML_SCHEMAV_CVC_TYPE_3_1_1,
-		"The attributes of element \"%s\" must be empty, excepting "
-		"those whose namespace name is identical to "
-		"http://www.w3.org/2001/XMLSchema-instance and whose local "
-		"name is one of type, nil, schemaLocation or "
-		"noNamespaceSchemaLocation.\n",
-		node->name, attr->name);
-            return (ctxt->err);
+	    xmlSchemaVIllegalAttrErr(ctxt, 
+		XML_SCHEMAV_CVC_TYPE_3_1_1, attr);
+	    ret = XML_SCHEMAV_CVC_TYPE_3_1_1;
         }
 	attr = attr->next;
     }
-    value = xmlNodeGetContent(child);
-    ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1);
-    if (value != NULL)
-        xmlFree(value);
+    /*
+    * This will skip validation if the type is 'anySimpleType' and
+    * if the value was already validated (e.g. default values).
+    */
+    if ((valSimpleContent == 1) &&
+	((type->type != XML_SCHEMA_TYPE_BASIC) ||
+	 (type->builtInType != XML_SCHEMAS_ANYSIMPLETYPE))) {
+	xmlChar *value;	
 
-    ctxt->type = type;
+	value = xmlNodeGetContent(node);
+	/*
+	* NOTE: This call will not check the content nodes, since
+	* this should be checked here already.
+	*/
+	retval = xmlSchemaValidateSimpleTypeValue(ctxt, type, value, 
+	    1, 1, 1, 0);
+	if (value != NULL)
+	    xmlFree(value);
+	if (retval != 0)
+	    ret = retval;
+    }
+    ctxt->type = oldtype;
     return (ret);
 }
 
 /**
- * xmlSchemaValidateElementType:
+ * xmlSchemaValQNameAcquire:
+ * @value: the lexical represantation of the QName value
+ * @node: the node to search for the corresponding namespace declaration
+ * @nsName: the resulting namespace name if found
+ *
+ * Checks that a value conforms to the lexical space of the type QName;
+ * if valid, the corresponding namespace name is searched and retured 
+ * as a copy in @nsName. The local name is returned in @localName as
+ * a copy.
+ *
+ * Returns 0 if valid, 1 if not valid by type, 2 if no corresponding 
+ * namespace declaration was found in scope; -1 in case of an internal or 
+ * API error.
+ */
+static int
+xmlSchemaValQNameAcquire(const xmlChar *value, xmlNodePtr node,
+			xmlChar **nsName, xmlChar **localName)
+{
+    int ret;
+    xmlChar *local = NULL;
+
+    if ((nsName == NULL) || (localName == NULL) || (node == NULL))
+	return (-1);  
+    *nsName = NULL;   
+    *localName = NULL;
+    ret = xmlValidateQName(value, 1);
+    if (ret == 0) {
+	xmlChar *prefix;
+	xmlNsPtr ns;
+	
+	/*
+	* NOTE: xmlSplitQName2 will return a duplicated
+	* string.
+	*/
+	local = xmlSplitQName2(value, &prefix);
+	if (local == NULL)
+	    local = xmlStrdup(value);
+	ns = xmlSearchNs(node->doc, node, prefix);
+	/*
+        * A namespace need not to be found if the prefix is NULL.
+	*/
+	if (ns != NULL) {
+	    /*
+	    * TODO: Is it necessary to duplicate the URI here?
+	    */
+	    *nsName = xmlStrdup(ns->href);
+	} else if (prefix != NULL) {
+	    xmlFree(prefix); 
+	    if (local != NULL)
+		xmlFree(local);
+	    return (2);
+	}		
+	*localName = local;
+	if (prefix != NULL)
+	    xmlFree(prefix);    
+    } else
+	return (1);
+    return (ret);
+}
+
+/**
+ * xmlSchemaHasElemContent: 
+ * @node:  the node
+ *
+ * Scours the content of the given node for element
+ * nodes.
+ *
+ * Returns 1 if an element node is found,
+ * 0 otherwise.
+ */
+static int
+xmlSchemaHasElemContent(xmlNodePtr node)
+{
+    if (node == NULL)
+	return (0);
+    node = node->children;
+    while (node != NULL) {
+	if (node->type == XML_ELEMENT_NODE)
+	    return (1);
+	node = node->next;
+    }
+    return (0);
+}
+/**
+ * xmlSchemaHasElemOrCharContent: 
+ * @node:  the node
+ *
+ * Scours the content of the given node for element
+ * and character nodes.
+ *
+ * Returns 1 if an element or character node is found,
+ * 0 otherwise.
+ */
+static int
+xmlSchemaHasElemOrCharContent(xmlNodePtr node)
+{
+    if (node == NULL)
+	return (0);
+    node = node->children;
+    while (node != NULL) {
+	switch (node->type) {
+	    case XML_ELEMENT_NODE:	
+	    /* 
+	    * TODO: Ask Daniel if these are all character nodes.
+	    */
+	    case XML_TEXT_NODE:
+	    case XML_CDATA_SECTION_NODE:
+	    /*
+	    * TODO: How XML_ENTITY_NODEs evaluated?
+	    */
+	    case XML_ENTITY_REF_NODE:
+	    case XML_ENTITY_NODE:
+		return (1);
+		break;
+	    default:
+		break;
+	}
+	node = node->next;
+    }
+    return (0);
+}
+
+
+/**
+ * xmlSchemaValidateElementByDeclaration:
  * @ctxt:  a schema validation context
  * @node:  the top node.
  *
  * Validate the content of an element type.
- * Validation Rule: Element Locally Valid (Complex Type)
+ * Validation Rule: Element Locally Valid (Element)
  *
  * Returns 0 if the element is schemas valid, a positive error code
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
-xmlSchemaValidateElementType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementByDeclaration(xmlSchemaValidCtxtPtr ctxt,
+				      xmlSchemaElementPtr elemDecl)
 {
-    xmlNodePtr child;
-    xmlSchemaTypePtr type;
-    xmlRegExecCtxtPtr oldregexp;        /* cont model of the parent */
-    xmlSchemaElementPtr decl;
-    int ret;
-    xmlSchemaAttrStatePtr attrs = NULL, attrTop = NULL;
+    xmlNodePtr elem;
+    int ret = 0;
+    xmlSchemaTypePtr actualType = NULL;
+    xmlAttrPtr attr;
+    xmlChar *attrValue; 
+    int nilled = 0, elemHasContent = -1;
 
-    /* This one is called by xmlSchemaValidateContent only. */
     /* 
-     * TODO: Look into "xmlSchemaValidateElement" for missing parts, which should
-     * go in here as well.
-     */
+    * This one is called by xmlSchemaValidateElementByWildcardInternal, 
+    * xmlSchemaValidateElementByAnyType and xmlSchemaValidateElement.
+    * Note that @elemDecl will be the declaration and never the
+    * reference to a declaration.
+    */
 
-    /* TODO: Is this one called always with an element declaration as the 
-     * context's type?
-     */
+    if (ctxt == NULL) {
+        xmlSchemaVErr(ctxt, NULL, XML_SCHEMAV_INTERNAL,
+	    "Internal error: xmlSchemaValidateElementByDeclaration, "
+	    "bad arguments.\n",
+	    NULL, NULL);
+        return (-1);
+    }
 
-    oldregexp = ctxt->regexp;
+    elem = ctxt->node;   
 
-    child = ctxt->node;
-    type = ctxt->type;
+    /*
+    * cvc-elt (3.3.4) : 1
+    */
+    if (elemDecl == NULL) {
+	xmlSchemaVCustomErr(ctxt,
+	    XML_SCHEMAV_CVC_ELT_1, 
+	    elem, NULL,
+	    "No matching declaration available", NULL);
+        return (ctxt->err);
+    }
+    /*
+    * cvc-elt (3.3.4) : 2
+    */
+    if (elemDecl->flags & XML_SCHEMAS_ELEM_ABSTRACT) {
+	xmlSchemaVCustomErr(ctxt,
+	    XML_SCHEMAV_CVC_ELT_2,
+	    elem, NULL, 
+	    "The element declaration is abstract", NULL);
+        return (ctxt->err);
+    }
+     
+    /*
+    * cvc-elt (3.3.4) : 3
+    * Handle 'xsi:nil'.
+    */
+    
+    attr = xmlHasNsProp(elem, BAD_CAST "nil", xmlSchemaInstanceNs);
+    if (attr != NULL) {
+	attrValue = xmlNodeGetContent((xmlNodePtr) attr);	
+	ctxt->node = (xmlNodePtr) attr;
+	ctxt->cur = attr->children;	
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_BOOLEAN),
+	    BAD_CAST attrValue, 1, 1, 1, 1);
+	ctxt->node = elem;
+	ctxt->type = (xmlSchemaTypePtr) elemDecl;
+	if (ret < 0) {
+	    xmlSchemaVCustomErr(ctxt,
+		XML_SCHEMAV_INTERNAL, 
+		(xmlNodePtr) attr, (xmlSchemaTypePtr) elemDecl,
+		"Internal error: xmlSchemaValidateElementByDeclaration, "
+		"validating the attribute 'xsi:nil'", NULL);
+	    if (attrValue != NULL)
+		xmlFree(attrValue);
+	    return (-1);
+	} 
+	if ((elemDecl->flags & XML_SCHEMAS_ELEM_NILLABLE) == 0) {
+	/* 
+	* cvc-elt (3.3.4) : 3.1 
+	    */
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_CVC_ELT_3_1, 
+		elem, NULL,
+		"The element is not 'nillable'", NULL);	
+	} else {		    
+	    if (xmlStrEqual(BAD_CAST attrValue, BAD_CAST "true") ||
+		xmlStrEqual(BAD_CAST attrValue, BAD_CAST "1")) {		
+		ret = 0;
+		/* 
+		* cvc-elt (3.3.4) : 3.2.1 
+		*/
+		elemHasContent = xmlSchemaHasElemOrCharContent(elem);
+		if (elemHasContent == 1) {
+		    xmlSchemaVCustomErr(ctxt, 
+			XML_SCHEMAV_CVC_ELT_3_2_1, 
+			/* XML_SCHEMAS_ERR_NOTEMPTY, */
+			elem, (xmlSchemaTypePtr) elemDecl,
+			"The 'nilled' element must have no character or "
+			"element content", NULL);
+		    ret = XML_SCHEMAV_CVC_ELT_3_2_1;
+		}
+		/* 
+		* cvc-elt (3.3.4) : 3.2.2 
+		*/
+		if ((elemDecl->flags & XML_SCHEMAS_ELEM_FIXED) &&
+		    (elemDecl->value != NULL)) {
+		    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_CVC_ELT_3_2_2, 
+			/* XML_SCHEMAS_ERR_HAVEDEFAULT, */
+			elem, (xmlSchemaTypePtr) elemDecl,
+			"There is a fixed value constraint defined for "
+			"the 'nilled' element", NULL);		    
+		    ret = XML_SCHEMAV_CVC_ELT_3_2_2;
+		}
+		if (ret == 0)
+		    nilled = 1;		
+	    }
+	}
+	if (attrValue != NULL)
+	    xmlFree(attrValue);
+    }
+    
 
-    if ((ctxt == NULL) || (type == NULL)) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateElementType\n",
-		      node->name, NULL);
-        return (-1);
+    actualType = elemDecl->subtypes;
+    /* 
+    * cvc-elt (3.3.4) : 4 
+    * Handle 'xsi:type'.
+    */
+    
+    attr = xmlHasNsProp(elem, BAD_CAST "type",  xmlSchemaInstanceNs);
+    if (attr != NULL) {	
+	xmlChar *nsName = NULL, *local = NULL;
+	
+	/*
+	* TODO: We should report a *warning* that the type was overriden
+	* by the instance.
+	*/
+	
+	/* 
+	* cvc-elt (3.3.4) : 4.1 
+	*/
+	attrValue = xmlNodeGetContent((xmlNodePtr) attr);
+	ret = xmlSchemaValQNameAcquire(attrValue, attr->parent,	
+	    &nsName, &local);
+	if (ret < 0) {
+	    xmlSchemaVCustomErr(ctxt,
+		XML_SCHEMAV_INTERNAL, 
+		(xmlNodePtr) attr, (xmlSchemaTypePtr) elemDecl,
+		"Internal error: xmlSchemaValidateElementByDeclaration, "
+		"validating the attribute 'xsi:type'", NULL);;
+	    FREE_AND_NULL(attrValue)
+		FREE_AND_NULL(nsName)
+		FREE_AND_NULL(local)
+		return (-1);
+	} else if (ret == 1) {
+	    xmlSchemaVSimpleTypeErr(ctxt,
+		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		(xmlNodePtr) attr, attrValue, 
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME));
+	} else if (ret == 2) {
+	    xmlSchemaVCustomErr(ctxt,
+		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		(xmlNodePtr) attr, 
+		xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME),
+		"The QName value '%s' has no "
+		"corresponding namespace declaration in scope", 
+		attrValue);	    	    
+	} else {
+	    /*
+	    * cvc-elt (3.3.4) : 4.2 
+	    */
+	    actualType = xmlSchemaGetType(ctxt->schema, local, nsName);
+	    if (actualType == NULL) {	  
+		xmlChar *strA = NULL;
+		
+		xmlSchemaVCustomErr(ctxt,
+		    XML_SCHEMAV_CVC_ELT_4_2,
+		    (xmlNodePtr) attr, 
+		    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME),
+		    "The value %s does not resolve to a type "
+		    "definition", 
+		    xmlSchemaFormatNsUriLocal(&strA, nsName, local));
+		FREE_AND_NULL(strA);    
+	    } else {		
+		/*
+		* URGENT TODO: cvc-elt (3.3.4) : 4.3 (Type Derivation OK)
+		*/		
+	    }
+	}
+	FREE_AND_NULL(attrValue)
+	FREE_AND_NULL(nsName)
+	FREE_AND_NULL(local)
+    }		
+    /* TODO: Change the handling of missing types according to
+    * the spec.
+    */
+    if (actualType == NULL) {
+    	xmlSchemaVComplexTypeErr(ctxt, 
+    	    XML_SCHEMAV_CVC_TYPE_1,
+    	    elem, (xmlSchemaTypePtr) elemDecl, 
+    	    "The type definition is absent");
+    	return (XML_SCHEMAV_CVC_TYPE_1);
     }
+    
+    /*
+    * TODO: Since this should be already checked by the content model automaton,
+    * and we want to get rid of the XML_SCHEMAS_ERR... types, the error code
+    * has been changed to XML_SCHEMAV_INTERNAL.
+    */
+    /*
     if (child == NULL) {
-        if (type->minOccurs > 0) {
-            xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_MISSING,
-	    		  "Element %s: missing child %s\n",
-			  node->name, type->name);
+        if (decl->minOccurs > 0) {
+            xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		 XML_SCHEMAS_ERR_MISSING, 
+		"Element %s: missing child %s\n",
+		node->name, decl->name);
         }
         return (ctxt->err);
-    }
-
+    } 
+    */
     /*
      * Verify the element matches
-     */
-    if (!xmlStrEqual(child->name, type->name)) {
-        xmlSchemaVErr3(ctxt, node, XML_SCHEMAS_ERR_WRONGELEM,
-		       "Element %s: missing child %s found %s\n",
-		       node->name, type->name, child->name);
+     * TODO, FIXME: Can this still happen here? Isn't this already checked
+     * by the content model automaton?         
+    if (!xmlStrEqual(child->name, decl->name)) {
+        xmlSchemaVErr3(ctxt, node, XML_SCHEMAV_INTERNAL,
+	     XML_SCHEMAS_ERR_WRONGELEM, 
+	    "Element %s: missing child %s found %s\n",
+	    node->name, decl->name, child->name);
         return (ctxt->err);
     }
+    */    
+    if (elemHasContent == -1)
+	elemHasContent = xmlSchemaHasElemOrCharContent(elem);
     /*
-     * Verify the attributes
-     */
-    
-    attrs = ctxt->attr;    
-    attrTop = ctxt->attrTop;
-    
-    xmlSchemaRegisterAttributes(ctxt, child->properties);            
-
+    * cvc-elt (3.3.4) : 5 
+    * The appropriate case among the following must be true:
+    */
     /*
-     * Verify the element content recursively
-     */
-    decl = (xmlSchemaElementPtr) type;
-    oldregexp = ctxt->regexp;
-    if (decl->contModel != NULL) {
-        ctxt->regexp = xmlRegNewExecCtxt(decl->contModel,
-                                         (xmlRegExecCallbacks)
-                                         xmlSchemaValidateCallback, ctxt);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext, "====> %s\n", node->name);
-#endif
-    }
-    xmlSchemaValidateType(ctxt, child, (xmlSchemaElementPtr) type,
-                          type->subtypes);
+    * cvc-elt (3.3.4) : 5.1 
+    * If the declaration has a {value constraint}, 
+    * the item has neither element nor character [children] and 
+    * clause 3.2 has not applied, then all of the following must be true:
+    */
+    if ((elemHasContent == 0) && (nilled == 0) && (elemDecl->value != NULL)) {
+	/*
+	* cvc-elt (3.3.4) : 5.1.1 
+	* If the ·actual type definition· is a ·local type definition·
+	* then the canonical lexical representation of the {value constraint}
+	* value must be a valid default for the ·actual type definition· as 
+	* defined in Element Default Valid (Immediate) (§3.3.6). 
+	*/
+	/* 
+	* NOTE: 'local' above means types aquired by xsi:type.
+	*/
+	ret = 0;
+	if (actualType != elemDecl->subtypes) {
+	    xmlSchemaCreatePCtxtOnVCtxt(ctxt);
+	    ret = xmlSchemaCheckCOSValidDefault(ctxt->pctxt, ctxt, actualType, 
+		elemDecl->value, NULL);
+	    if (ret < 0) {
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL, 
+		    elem, actualType,
+		    "Internal error: xmlSchemaValidateElementByDeclaration, "
+		    "validating a default value", NULL);
+		return (-1);
+	    }
+	}
+	/*
+	* cvc-elt (3.3.4) : 5.1.2 
+	* The element information item with the canonical lexical 
+	* representation of the {value constraint} value used as its 
+	* ·normalized value· must be ·valid· with respect to the 
+	* ·actual type definition· as defined by Element Locally Valid (Type)
+	* (§3.3.4).
+	*/
+	/*
+        * Disable validation of the simple content, since it was already
+	* done above.
+	*/
+	if (ret == 0) {
+	    if (actualType != elemDecl->subtypes)
+		ret = xmlSchemaValidateElementByType(ctxt, actualType, 0);
+	    else
+		ret = xmlSchemaValidateElementByType(ctxt, actualType, 0);
+	    ctxt->node = elem;
+	    if (ret < 0) {
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_INTERNAL, 
+		    elem, actualType,
+		    "Internal error: xmlSchemaValidateElementByDeclaration, "
+		    "validating against the type", NULL);
+		return (-1);
+	    }
+	    /*
+	    * PSVI: Create a text node on the instance element.
+	    */
+	    if (ctxt->options & XML_SCHEMA_VAL_VC_I_CREATE) {
+		xmlNodePtr textChild;
+		
+		textChild = xmlNewText(elemDecl->value);
+		if (textChild == NULL) {
+		    xmlSchemaVCustomErr(ctxt, 
+			XML_SCHEMAV_INTERNAL, 
+			elem, actualType,
+			"Internal error: xmlSchemaValidateElementByDeclaration, "
+			"could not create a default text node for the instance", 
+			NULL);
+		} else
+		    xmlAddChild(elem, textChild);	    
+	    }
+	}
 
-    if (decl->contModel != NULL) {
-        ret = xmlRegExecPushString(ctxt->regexp, NULL, NULL);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext,
-                        "====> %s : %d\n", node->name, ret);
-#endif
-        if (ret == 0) {
-            xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ELEMCONT,
-	    		  "Element %s content check failed\n",
-			  node->name, NULL);
-        } else if (ret < 0) {
-            xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ELEMCONT,
-	    		  "Element %s content check failure\n",
-			  node->name, NULL);
-#ifdef DEBUG_CONTENT
-        } else {
-            xmlGenericError(xmlGenericErrorContext,
-                            "Element %s content check succeeded\n",
-                            node->name);
+    } else {	
+	/*
+	* 5.2.1 The element information item must be ·valid· with respect 
+	* to the ·actual type definition· as defined by Element Locally 
+	* Valid (Type) (§3.3.4).
+	*/
+	ret = xmlSchemaValidateElementByType(ctxt, actualType, 1);
+	ctxt->node = elem;
+	if (ret < 0) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL, 
+		elem, actualType,
+		"Internal error: xmlSchemaValidateElementByDeclaration, "
+		"validating a default value", NULL);
+	    return (-1);
+	}
+	/*
+	* 5.2.2 If there is a fixed {value constraint} and clause 3.2 has 
+	* not applied, all of the following must be true:
+	*/
 
-#endif
-        }
-        xmlRegFreeExecCtxt(ctxt->regexp);
+	if ((elemDecl->flags & XML_SCHEMAS_ELEM_FIXED) && (nilled == 0)) {
+	    /*
+	    * 5.2.2.1 The element information item must have no element 
+	    * information item [children].
+	    *
+	    * TODO REDUNDANT: If the actual type exists, the above call  to 
+	    * xmlSchemaValidateElementByType will already check for element 
+	    * nodes.
+	    */
+	    if (xmlSchemaHasElemContent(elem)) {
+		xmlSchemaVCustomErr(ctxt, 
+		    XML_SCHEMAV_CVC_ELT_5_2_2_1, 
+		    elem, (xmlSchemaTypePtr) elemDecl,
+		    "Elements in the content are not allowed if it is "
+		    "constrained by a fixed value", NULL);
+	    } else {
+		/*
+		* 5.2.2.2 The appropriate case among the following must 
+		* be true:
+		*/
+		
+		if (actualType->contentType == XML_SCHEMA_CONTENT_MIXED) {
+		    xmlChar *value;
+		    /*
+		    * 5.2.2.2.1 If the {content type} of the ·actual type 
+		    * definition· is mixed, then the *initial value* of the 
+		    * item must match the canonical lexical representation 
+		    * of the {value constraint} value.
+		    *
+		    * ... the *initial value* of an element information 
+		    * item is the string composed of, in order, the 
+		    * [character code] of each character information item in 
+		    * the [children] of that element information item.
+		    */
+		    value = xmlNodeListGetString(elem->doc, elem->children, 1);
+		    if (! xmlStrEqual(BAD_CAST value, elemDecl->value)) {
+			/* 
+			* TODO: Report invalid & expected values as well.
+			* TODO: Implement the cononical stuff.
+			*/
+			xmlSchemaVCustomErr(ctxt, 
+			    XML_SCHEMAV_CVC_ELT_5_2_2_2_1, 
+			    elem, (xmlSchemaTypePtr) elemDecl,
+			    "The value does not match the cononical "
+			    "lexical representation of the fixed constraint", 
+			    NULL);
+		    }
+		    if (value != NULL)
+			xmlFree(value);
+		} else if ((actualType->contentType == 
+		    XML_SCHEMA_CONTENT_SIMPLE) || 
+		    (actualType->contentType == XML_SCHEMA_CONTENT_BASIC)) {
+		    xmlChar *value;
+
+		    /*
+		    * 5.2.2.2.2 If the {content type} of the ·actual type 
+		    * definition· is a simple type definition, then the 
+		    * *actual value* of the item must match the canonical 
+		    * lexical representation of the {value constraint} value.
+		    */
+		    /*
+		    * TODO: *actual value* is the normalized value, impl. this.
+		    * TODO: Report invalid & expected values as well.
+		    * TODO: Implement the cononical stuff.
+		    * 
+		    */
+		    value = xmlNodeListGetString(elem->doc, elem->children, 1);
+		    if (! xmlStrEqual(BAD_CAST value, elemDecl->value)) {
+			xmlSchemaVCustomErr(ctxt, 
+			    XML_SCHEMAV_CVC_ELT_5_2_2_2_2, 
+			    elem, (xmlSchemaTypePtr) elemDecl,
+			    "The normalized value does not match the cononical "
+			    "lexical representation of the fixed constraint", 
+			    NULL);
+		    }
+		    if (value != NULL)
+			xmlFree(value);
+		    
+		}
+		/*
+		* TODO: What if the content type is not 'mixed' or simple?
+		*/
+
+	    }
+	    
+	}
     }
+
     /*
-     * Verify that all attributes were Schemas-validated
-     */
-    xmlSchemaCheckAttributes(ctxt, node);
-    if (ctxt->attr != NULL)
-	xmlSchemaFreeAttributeStates(ctxt->attr);
-    ctxt->attr = attrs;    
-    ctxt->attrTop = attrTop;
-    ctxt->regexp = oldregexp;
-    ctxt->node = child;
-    ctxt->type = type;
+    * TODO: 6 The element information item must be ·valid· with respect to each of 
+    * the {identity-constraint definitions} as per Identity-constraint 
+    * Satisfied (§3.11.4).
+    */
+
+    /*
+    * TODO: 7 If the element information item is the ·validation root·, it must be 
+    * ·valid· per Validation Root Valid (ID/IDREF) (§3.3.4).
+    */
+               
     return (ctxt->err);
 }
 
-#if 0 /* Not currently used. */
 /**
- * xmlSchemaValidateBasicType:
+ * xmlSchemaValidateElementByWildcardInternal:
  * @ctxt:  a schema validation context
  * @node:  the top node.
  *
- * Validate the content of an element expected to be a basic type type
+ * Represents the recursive portion of xmlSchemaValidateElementByWildcard. 
+ * Not intended to be used by other functions.
  *
- * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
+ * Returns 0 if the element is valid, a positive error code
+ * number otherwise and -1 in case of an internal error.
  */
 static int
-xmlSchemaValidateBasicType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
-{
-    int ret;
-    xmlNodePtr child, cur;
-    xmlSchemaTypePtr type;
-    xmlChar *value;             /* lexical representation */
+xmlSchemaValidateElementByWildcardInternal(xmlSchemaValidCtxtPtr ctxt,
+					   xmlSchemaWildcardPtr wild, 
+					   xmlNodePtr node)
+{        
+    const xmlChar *uri;
+    int ret = 0;
+    xmlNodePtr child;
 
-    child = ctxt->node;
-    type = ctxt->type;
+    if (ctxt->xsiAssemble) {	
+	ret = xmlSchemaAssembleByXSIElem(ctxt, ctxt->node);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL,
+		ctxt->node, NULL, 	
+		"Internal error: xmlSchemaValidateElement, "
+		"assembling schema by xsi", NULL);
+	    return (-1);
+	}
+	/*
+	* NOTE: We won't react on schema parser errors here.
+	* TODO: But a warning would be nice.
+	*/
+    }    
+    if (wild->processContents != XML_SCHEMAS_ANY_SKIP) {
+	xmlSchemaElementPtr decl = NULL;
 
-    if ((ctxt == NULL) || (type == NULL)) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateBasicType\n",
-		      node->name, NULL);
-        return (-1);
+	if (node->ns != NULL)
+	    decl = xmlHashLookup3(ctxt->schema->elemDecl,
+	    node->name, node->ns->href, NULL);
+	else 
+	    decl = xmlHashLookup3(ctxt->schema->elemDecl, node->name, NULL, NULL);
+	if (decl != NULL) {		    
+	    ctxt->node = node;	
+	    ret = xmlSchemaValidateElementByDeclaration(ctxt, decl);
+	    if (ret < 0) {		
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_INTERNAL,
+		    "Internal error: xmlSchemaValidateAnyInternal, "
+		    "validating an element in the context of a wildcard.",
+		    NULL, NULL);
+	    } else if (ret > 0)
+		return (ret);
+	} else if (wild->processContents == XML_SCHEMAS_ANY_STRICT) {
+	    /* TODO: Change to proper error code. */
+	    xmlSchemaVWildcardErr(ctxt, XML_SCHEMAV_CVC_ELT_1,
+		node, wild, "No matching global declaration available");
+	    return (ctxt->err);
+	}
     }
-    if (type->type != XML_SCHEMA_TYPE_BASIC) {
-	xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-	    "Internal error: xmlSchemaValidateBasicType, "
-	    "the given type is not a built-in type.\n",
-	    node->name, NULL);
-        return (-1);
+    if (node->children != NULL) {	   
+	child = node->children;
+	do {
+	    if (child->type == XML_ELEMENT_NODE) {
+		if (child->ns != NULL)
+		    uri = child->ns->href;
+		else
+		    uri = NULL;
+		if (xmlSchemaMatchesWildcardNs(wild, uri) == 0) {
+		    /* TODO: error code. */
+		    xmlSchemaVWildcardErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
+			child, wild, 
+			"The namespace of the element is not allowed");
+		    return (ctxt->err);  
+		}
+		ret = xmlSchemaValidateElementByWildcardInternal(ctxt, 
+		    wild, child);
+		if (ret != 0)
+		    return (ret);		
+	    }
+	    child = child->next;
+	} while  (child != NULL);
     }
+    return (0);
+}
+
+/**
+ * xmlSchemaValidateElementContByWildcard:
+ * @ctxt:  a schema validation context
+ *
+ * Returns 0 if the element is valid, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaValidateElementByWildcard(xmlSchemaValidCtxtPtr ctxt, 
+				   xmlSchemaTypePtr type)
+{       
+    if ((type == NULL) || (type->type != XML_SCHEMA_TYPE_ANY) ||
+	(ctxt->node == NULL)) {
+	xmlSchemaVCustomErr(ctxt,
+	    XML_SCHEMAV_INTERNAL, ctxt->node, NULL,
+	    "Internal error: xmlSchemaValidateElementByWildcard, "
+	    "bad arguments", NULL);
+	return (-1);
+    }
+    return(xmlSchemaValidateElementByWildcardInternal(ctxt, 
+	    type->attributeWildcard, ctxt->node));
+}
+
+/**
+ * xmlSchemaValidateAnyTypeContent:
+ * @ctxt:  a schema validation context
+ * @node: the current element
+ *
+ * This one validates the content of an element of the type
+ * 'anyType'. The process contents of the wildcard of 'anyType' is "lax", 
+ * thus elements in the subtree will be validated, if a corresponding
+ * declaration in the schema exists.
+ *
+ * Returns 0 if the element and its subtree is valid, a positive error code
+ * otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaValidateElementByAnyType(xmlSchemaValidCtxtPtr ctxt, 
+				  xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr oldtype;
+    xmlNodePtr top, cur;
+    xmlSchemaElementPtr decl;
+    int skipContent, ret;
+
+    if ((type == NULL) || (ctxt->node == NULL))
+	return (-1);
+
+    if (ctxt->node->children == NULL) 
+	return (0);
+
+    oldtype = ctxt->type;
+    top = ctxt->node;        
     /*
-     * First check the content model of the node.
-     */
-    cur = child;
+    * STREAM: Child nodes are processed.
+    */
+    cur = ctxt->node->children;
     while (cur != NULL) {
-        switch (cur->type) {
-            case XML_TEXT_NODE:
-            case XML_CDATA_SECTION_NODE:
-            case XML_PI_NODE:
-            case XML_COMMENT_NODE:
-            case XML_XINCLUDE_START:
-            case XML_XINCLUDE_END:
-                break;
-            case XML_ENTITY_REF_NODE:
-            case XML_ENTITY_NODE:
-                TODO break;
-            case XML_ELEMENT_NODE:
-                xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INVALIDELEM,
-			      "Element %s: child %s should not be present\n",
-			      node->name, cur->name);
-                return (ctxt->err);
-            case XML_ATTRIBUTE_NODE:
-            case XML_DOCUMENT_NODE:
-            case XML_DOCUMENT_TYPE_NODE:
-            case XML_DOCUMENT_FRAG_NODE:
-            case XML_NOTATION_NODE:
-            case XML_HTML_DOCUMENT_NODE:
-            case XML_DTD_NODE:
-            case XML_ELEMENT_DECL:
-            case XML_ATTRIBUTE_DECL:
-            case XML_ENTITY_DECL:
-            case XML_NAMESPACE_DECL:
-#ifdef LIBXML_DOCB_ENABLED
-            case XML_DOCB_DOCUMENT_NODE:
-#endif
-                xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INVALIDELEM,
-			      "Element %s: node type of node unexpected here\n",
-			      node->name, NULL);
-                return (ctxt->err);
-        }
-        cur = cur->next;
+	skipContent = 0;
+	if (cur->type == XML_ELEMENT_NODE) {
+	    /*
+	    * The process contents of the wildcard is "lax", thus
+	    * we need to validate the element if a declaration
+	    * exists.
+	    */		
+	    if (cur->ns != NULL)
+		decl = xmlHashLookup3(ctxt->schema->elemDecl,
+		    cur->name, cur->ns->href, NULL);
+	    else 
+		decl = xmlHashLookup3(ctxt->schema->elemDecl, cur->name, NULL, NULL);	    
+	    if (decl != NULL) {		    
+		ctxt->node = cur;
+		ret = xmlSchemaValidateElementByDeclaration(ctxt, decl);
+		ctxt->node = top;
+		if (ret < 0) {		
+		    xmlSchemaVErr(ctxt, cur, XML_SCHEMAV_INTERNAL,
+			"Internal error: xmlSchemaValidateAnyTypeContent, "
+			"validating an element in the context of a wildcard.",
+			NULL, NULL);
+		    return (ret);
+		} else if (ret > 0)
+		    return (ret);
+		skipContent = 1;
+	    }
+	}   
+	/*
+	* Browse the full subtree, deep first.
+	*/
+        if ((skipContent == 0) && (cur->children != NULL)) {
+	    /* deep first */
+	    cur = cur->children;
+	} else if ((cur != top) && (cur->next != NULL)) {
+	    /* then siblings */
+	    cur = cur->next;
+	} else if (cur != top) {
+	    /* go up to parents->next if needed */
+	    while (cur != top) {
+	        if (cur->parent != NULL)
+		    cur = cur->parent;
+		if ((cur != top) && (cur->next != NULL)) {
+		    cur = cur->next;
+		    break;
+		}
+		if (cur->parent == NULL) {
+		    cur = NULL;
+		    break;
+		}
+	    }
+	    /* exit condition */
+	    if (cur == top) 
+	        cur = NULL;
+	} else
+	    break;
     }
-    if (child == NULL)
-        value = NULL;
-    else
-        value = xmlNodeGetContent(child->parent);
-
-    if (ctxt->value != NULL) {
-        xmlSchemaFreeValue(ctxt->value);
-        ctxt->value = NULL;
-    }
-   
-    ret = xmlSchemaValidatePredefinedType(type, value, &(ctxt->value));
-    
-    if (value != NULL)
-        xmlFree(value);    
-    if (ret != 0) {
-        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_VALUE,
-		      "Element %s: failed to validate basic type %s\n",
-		      node->name, type->name);
-    }
-    return (ret);
+    ctxt->type = oldtype;
+    return (0);
 }
-#endif
 
 /**
- * xmlSchemaValidateComplexType:
+ * xmlSchemaValidateElementByComplexType:
  * @ctxt:  a schema validation context
  * @node:  the top node.
  *
@@ -10336,56 +15697,124 @@
  * the report of any additional information by the user.
  */
 static int
-xmlSchemaValidateComplexType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementByComplexType(xmlSchemaValidCtxtPtr ctxt, 
+				      xmlSchemaTypePtr type,
+				      int valSimpleContent)
 {
-    xmlNodePtr child;
-    xmlSchemaTypePtr type;
+    xmlSchemaTypePtr oldtype;    
+    xmlNodePtr elem, child;
     int ret = 0;
+    const xmlChar *nsUri;    
+    xmlSchemaAttrStatePtr attrs = NULL, attrTop = NULL;
 
-    child = ctxt->node;
-    type = ctxt->type;
-    ctxt->cur = node;
+    if ((ctxt == NULL) || (type->type != XML_SCHEMA_TYPE_COMPLEX))
+	return (-1);
 
+    oldtype = ctxt->type;
+    ctxt->type = type;
+    elem = ctxt->node;
+
+    /*
+    * Verify the attributes
+    */
+    /*
+    * TODO: This "attrTop" thing is not needed any more.
+    */  
+    /* NOTE: removed, since a check for abstract is
+    * done in the cvc-type constraint.
+    *
+    *
+    * if (type->flags & XML_SCHEMAS_TYPE_ABSTRACT) {
+    *	xmlSchemaVComplexTypeErr(ctxt, 
+    *	    XML_SCHEMAV_CVC_COMPLEX_TYPE_1,
+    *	    elem, type, 
+    *	    "The type definition is abstract");
+    *	return (XML_SCHEMAV_CVC_COMPLEX_TYPE_1);
+    *}
+    */
+    
+    attrs = ctxt->attr;    
+    attrTop = ctxt->attrTop;   
+    /*
+    * STREAM: Attribute nodes are processed.
+    */
+    xmlSchemaRegisterAttributes(ctxt, elem->properties);     
+    xmlSchemaValidateAttributes(ctxt, elem, type);
+    if (ctxt->attr != NULL)
+	xmlSchemaFreeAttributeStates(ctxt->attr);
+    ctxt->attr = attrs;    
+    ctxt->attrTop = attrTop;    
+
+    /*
+    * TODO: This one creates a regexp even if no content
+    * model was defined. Somehow ->contModel is always not NULL
+    * for complex types, even if they are empty.
+    * TODO: Check if the obove still occurs.
+    */              
     switch (type->contentType) {
 	case XML_SCHEMA_CONTENT_EMPTY: {
 	    /*
 	    * 1 If the {content type} is empty, then the element information 
 	    * item has no character or element information item [children].
 	    */
-	    /* TODO: Hmm, Xerces reports nodes like Comment to be invalid 
-	    * content, but XSV does not.
-	    */	 
 	    /*
 	    * TODO: Is the entity stuff correct?
 	    */
-	    while (child != NULL) {
-		if ((child->type == XML_ELEMENT_NODE) ||
-		     /* 
-		    * TODO: Ask Daniel if this are all character nodes.
-		    */
-		    (child->type == XML_TEXT_NODE) ||		    
-		    (child->type == XML_CDATA_SECTION_NODE) ||
-		    (child->type == XML_ENTITY_REF_NODE) ||
-		    (child->type == XML_ENTITY_NODE)) {
-		    break;
-		}
-		child = child->next;
-	    }
-	    if (child != NULL) {
-		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1,
-		    "Character or element children are not allowed, "
-		    "because the content type is empty.\n",
-		    NULL, NULL);
+	    if (xmlSchemaHasElemOrCharContent(elem) == 1) {	    	    
+		xmlSchemaVComplexTypeErr(ctxt, 
+		    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1,
+		    elem, type, 
+		    "Character or element content is not allowed, "
+		    "because the content type is empty");
             }	 
             break;
 	}
+	case XML_SCHEMA_CONTENT_MIXED:
+	    if ((type->subtypes == NULL) && 
+		(type->baseType->builtInType == XML_SCHEMAS_ANYTYPE)) {
+		/*
+		* The type has 'anyType' as its base and no content model
+		* is defined -> use 'anyType' as the type to validate
+		* against.
+		*/
+		ret = xmlSchemaValidateElementByAnyType(ctxt, type->baseType);
+		/* TODO: Handle -1. */
+		break;
+	    }
+	    /* No break on purpose. */
         case XML_SCHEMA_CONTENT_ELEMENTS:
-        case XML_SCHEMA_CONTENT_MIXED:              
+        {
+	    xmlRegExecCtxtPtr oldregexp = NULL;
+	    
+	    /*
+	    * Content model check initialization.
+	    */
+	    if (type->contModel != NULL) {					
+		oldregexp = ctxt->regexp;
+		ctxt->regexp = xmlRegNewExecCtxt(type->contModel,
+		    (xmlRegExecCallbacks)
+		    xmlSchemaValidateCallback, ctxt);
+#ifdef DEBUG_AUTOMATA
+		xmlGenericError(xmlGenericErrorContext, "====> %s\n", elem->name);
+#endif
+	    }
+	    /*
+	    * STREAM: Children are processed.
+	    */
+	    child = elem->children;
 	    while (child != NULL) {		
 		if (child->type == XML_ELEMENT_NODE) {
-		    ret = xmlRegExecPushString(ctxt->regexp,
-			child->name, child);
-#ifdef DEBUG_AUTOMATA
+		    if (child->ns != NULL)
+			nsUri = child->ns->href;
+		    else
+			nsUri = NULL;
+		    ret = xmlRegExecPushString2(ctxt->regexp,
+			child->name, nsUri, child);
+		    /*
+		    * URGENT TODO: Could we anchor an error report
+		    * here to notify of invalid elements?
+		    */
+#ifdef DEBUG_AUTOMATA		    
 		    if (ret < 0)
 			xmlGenericError(xmlGenericErrorContext,
 			"  --> %s Error\n", child->name);
@@ -10408,47 +15837,56 @@
 		    * code] is defined as a white space in [XML 1.0 (Second 
 		    * Edition)].
 		    */			
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3,
-			"Character children are not allowed, "
-			"because the content type is element-only.\n",
-			NULL, NULL);		    
+		    xmlSchemaVComplexTypeErr(ctxt, 
+			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3,
+			elem, type, 
+			"Character content is not allowed, "
+			"because the content type is element-only");		    
 		    break;
 		}
 		child = child->next;		    
-	    }            	    
+	    }    
+	    /*
+	    * Content model check finalization.
+	    */
+       	    if (type->contModel != NULL) {
+		ret = xmlRegExecPushString(ctxt->regexp, NULL, NULL);
+#ifdef DEBUG_AUTOMATA
+		xmlGenericError(xmlGenericErrorContext,
+		    "====> %s : %d\n", elem->name, ret);
+#endif
+		if (ret == 0) {
+		    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
+			elem, type, "The element content is not valid", NULL);
+		} else if (ret < 0) {
+		    xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_ELEMENT_CONTENT,
+			elem, type, "The element content is not valid", NULL);
+#ifdef DEBUG_CONTENT
+		} else {
+		    xmlGenericError(xmlGenericErrorContext,
+			"Element %s content check succeeded\n",
+			elem->name);
+		    
+#endif
+		}
+		xmlRegFreeExecCtxt(ctxt->regexp);
+		ctxt->regexp = oldregexp;
+	    }
+	}
             break;
 	case XML_SCHEMA_CONTENT_SIMPLE:
-        case XML_SCHEMA_CONTENT_BASIC:{
-	    xmlSchemaTypePtr base, anyType;
+        case XML_SCHEMA_CONTENT_BASIC:
+	    /*
+	    * If the simple content was already validated 
+	    * (e.g. a default value), the content need not
+	    * to be validated again.
+	    */
+	if (valSimpleContent == 1) {
 	    xmlChar *value = NULL;
 	    /*
 	    * We hit a complexType with a simpleContent resolving
 	    * to a user derived or built-in simple type.
-	    */	
-	    anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
-	    /*
-	    * Internal check for integrity of the base type.
-	    */	 
-	    base = type->baseType;
-	    while ((base != NULL) && 
-		   (base->type != XML_SCHEMA_TYPE_SIMPLE) &&
-		    (base->type != XML_SCHEMA_TYPE_BASIC) &&
-		    (base != anyType)) {
-		base = base->baseType;
-	    }
-	    if ((base == NULL) ||
-		(((type->contentType == XML_SCHEMA_CONTENT_SIMPLE) &&
-		  (base->type != XML_SCHEMA_TYPE_SIMPLE)) ||
-		 ((type->contentType == XML_SCHEMA_CONTENT_BASIC) &&
-		  (base->type != XML_SCHEMA_TYPE_BASIC)))) {
-		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		    "Internal error: xmlSchemaValidateComplexType, "
-		    "Element \"%s\": the base type of the corresponding "
-		    "complex type \"%s\" is not a user derived or a "
-		    "built-in simple type.\n",
-		    node->name, type->name);
-		return (-1);
-	    } 
+	    */
 	    /* 
 	    * 2.2 If the {content type} is a simple type definition, 
 	    * then the element information item has no element 
@@ -10456,319 +15894,263 @@
 	    * of the element information item is ·valid· with respect 
 	    * to that simple type definition as defined by String 
 	    * Valid (§3.14.4).
-	    */	    
-	    child = node->children;
+	    */	  
+	    /*
+	    * STREAM: Children are processed.
+	    */
+	    child = elem->children;
 	    while (child != NULL) {
+		/*
+		* TODO: Could the entity stuff produce elements
+		* as well?
+		*/
                 if (child->type == XML_ELEMENT_NODE) {
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
-			    "Element children are not allowed, because "
-			    "the content type is a simple type.\n",			    
-			    NULL, NULL);
+		    xmlSchemaVComplexTypeErr(ctxt,
+			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
+			elem, type, 
+			"Element content is not allowed, because "
+			"the content type is a simple type");
 		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
 		    break;
 		}
 		child = child->next;		    
-	    }	    
+	    }	
+	    ctxt->node = elem;
+	    ctxt->cur = elem->children;
 	    if (ret == 0) {
 		/*
 		* Validate the character content against a simple type.
 		*/
-		if (ctxt->node == NULL)
+		/*
+		* STREAM: Children are processed.
+		*/
+		if (elem->children == NULL)
 		    value = NULL;
 		else
-		    value = xmlNodeGetContent(node); 
-		ctxt->type = base;
-		ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1);
-		ctxt->type = type;	    
-		if (ret > 0) {
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
-			"The character value "
-			"is not valid with respect to the simple type.\n",
-			NULL, NULL);
+		    value = xmlNodeGetContent(elem); 
+		/*
+		* URGENT TODO: Should facets for the simple type validation be 
+		* disabled, if the derivation of facets for complex types 
+		* is implemented?
+		*/
+		/*
+		* NOTE: This call won't check the correct types of the
+		* content nodes, since this should be done here.
+		*/
+		ret = xmlSchemaValidateSimpleTypeValue(ctxt, type, value, 1, 1, 1, 0);
+		if (ret > 0) {	
+		    /*
+		    * NOTE: Although an error will be reported by 
+		    * xmlSchemaValidateSimpleTypeValue, the spec wants
+		    * a specific complex type error to be reported 
+		    * additionally.
+		    */
+		    xmlSchemaVComplexTypeErr(ctxt, 
+			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
+			elem, type,  
+			"The character content is not valid");
 		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
 		} else if (ret < 0) {
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+		    xmlSchemaVErr(ctxt, elem, XML_SCHEMAV_INTERNAL,
 			"Internal error: xmlSchemaValidateComplexType, "
-			"Element \"%s\": error while validating character "
-			"content against complex type \"%s\".\n",
-			node->name, type->name);
+			"Element '%s': Error while validating character "
+			"content against complex type '%s'.\n",
+			elem->name, type->name);
+		    if (value != NULL)
+			xmlFree(value); 
+		    ctxt->type = oldtype;
 		    return (-1);
 		}
-	    }
+	    }	    
 	    if (ret == 0) {
 		/* 
 		* Apply facets of the complexType. Be sure to pass the 
 		* built-in type to xmlSchemaValidateFacetsInternal.
 		*/	    
-		/* TODO: I don't know yet if the facets of the simple type
+		/* URGENT TODO: I don't know yet if the facets of the simple type
 		* are used, or if the facets, defined by this complex type,
 		* are to be used only. This here applies both facet sets.
 		*/	    
-		while (base->type != XML_SCHEMA_TYPE_BASIC)
-		    base = base->baseType;
-		if (base == NULL) {
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-			"Internal error: xmlSchemaValidateComplexType, "
-			"Element \"%s\": error while validating character "
-			"content against complex type \"%s\"; failed to "
-			"compute the built-in simple type for facet "
-			"validation.\n",
-			node->name, type->name);
-		    return (-1);
-		}
-		ret = xmlSchemaValidateFacetsInternal(ctxt, base, 
-		    type->facetSet, value, 1);
+
+		ret = xmlSchemaValidateFacetsInternal(ctxt, 
+		    type, value, 0, 1);
 		if (ret > 0) {
-		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
-			"The character value "
-			"is not valid with respect to the simple type.\n",
-			NULL, NULL);
+		    xmlSchemaVComplexTypeErr(ctxt, 
+			XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
+			elem, type, 
+			"The character content is not valid");
 		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
 		} else if (ret < 0) {
-		    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		    xmlSchemaVErr(ctxt, elem, XML_SCHEMAV_INTERNAL,
 			"Internal error: xmlSchemaValidateComplexType, "
-			"Element \"%s\": error while validating character "
-			"content against complex type \"%s\"; failed to "
+			"Element '%s': Error while validating character "
+			"content against complex type '%s'; failed to "
 			"apply facets.\n",
 			type->name, NULL);
+		    if (value != NULL)
+			xmlFree(value); 
+		    ctxt->type = oldtype;
+		    return (-1);
 		}
 	    }
 	    if (value != NULL)
 		xmlFree(value);    
-	    /* TODO: facets */
+	    
+	}
 	    break;
-	}
-	/*
-        case XML_SCHEMA_CONTENT_SIMPLE:{		 
-                if (type->subtypes != NULL) {
-                    ctxt->type = type->subtypes;
-                    xmlSchemaValidateComplexType(ctxt, node);
-                }
-                if (type->baseType != NULL) {
-                    ctxt->type = type->baseType;
-                    xmlSchemaValidateComplexType(ctxt, node);
-                }
-		* Removed due to changes of attribute validation:
-                if (type->attributes != NULL) {
-                    xmlSchemaValidateAttributes(ctxt, node,
-                                                type->attributes);
-                }
-		*
-                ctxt->type = type;
-                break;
-	}
-	*/
         default:
             TODO xmlGenericError(xmlGenericErrorContext,
                                  "unimplemented content type %d\n",
                                  type->contentType);
     }
-    if (type->type == XML_SCHEMA_TYPE_COMPLEX) {
-	xmlSchemaValidateAttributes(ctxt, node, type);
-    }
-    ctxt->cur = node;
+    ctxt->type = oldtype;
     return (ctxt->err);
 }
 
 /**
- * xmlSchemaValidateContent:
+ * xmlSchemaValidateElementByType:
  * @ctxt:  a schema validation context
  * @elem:  an element
- * @type:  the type declaration
+ * @type:  the list of type declarations
  *
- * Validate the content of an element against the type.
+ * Validation Rule: Element Locally Valid (Type).
  *
  * Returns 0 if the element is schemas valid, a positive error code
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
-xmlSchemaValidateContent(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+xmlSchemaValidateElementByType(xmlSchemaValidCtxtPtr ctxt,
+			       xmlSchemaTypePtr type,
+			       int valSimpleContent)
 {
-    xmlNodePtr child;
-    xmlSchemaTypePtr type;
+    int ret;
 
-    child = ctxt->node;
-    type = ctxt->type;
-    ctxt->cur = node;
+   
+    if ((ctxt == NULL) || (type == NULL)) {
+        xmlSchemaVCustomErr(ctxt, XML_SCHEMAV_INTERNAL, NULL, NULL,
+	    "Internal error: xmlSchemaValidateElementByType, "
+	    "bad arguments", NULL);
+        return (-1);    
+    }    	
+    /* 
+    * This one is called by "xmlSchemaValidateElementByDeclaration".
+    * It will forward to the proper validation 
+    * procedures for the given type.
+    */        
+    if (type == NULL) {
+    	xmlSchemaVComplexTypeErr(ctxt, 
+    	    XML_SCHEMAV_CVC_TYPE_1,
+    	    ctxt->node, NULL, 
+    	    "The type definition is absent");
+    	return (XML_SCHEMAV_CVC_TYPE_1);
+    }
+    
+    if (type->flags & XML_SCHEMAS_TYPE_ABSTRACT) {
+    	xmlSchemaVComplexTypeErr(ctxt, 
+    	    XML_SCHEMAV_CVC_TYPE_2,
+    	    ctxt->node, type, 
+    	    "The type definition is abstract");
+    	return (XML_SCHEMAV_CVC_TYPE_2);
+    }
 
-    ctxt->cur = node;
-
     switch (type->type) {
-        case XML_SCHEMA_TYPE_ANY:
-            /* Any type will do it, fine */
-            TODO                /* handle recursivity */
-                break;
-        case XML_SCHEMA_TYPE_COMPLEX:
-            xmlSchemaValidateComplexType(ctxt, node);
+	case XML_SCHEMA_TYPE_COMPLEX:
+            ret = xmlSchemaValidateElementByComplexType(ctxt, type,
+		valSimpleContent);
             break;
-        case XML_SCHEMA_TYPE_ELEMENT:{
-                xmlSchemaElementPtr decl = (xmlSchemaElementPtr) type;
-
-                /*
-                 * Handle element reference here
-                 */
-                if (decl->ref != NULL) {
-                    if (decl->refDecl == NULL) {
-                        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-				      "Internal error: element reference %s "
-				      "not resolved\n", decl->ref, NULL);
-                        return (-1);
-                    }
-                    ctxt->type = (xmlSchemaTypePtr) decl->refDecl;
-                    decl = decl->refDecl;
-                }
-		/* TODO: Should "xmlSchemaValidateElement" be called instead? */
-                xmlSchemaValidateElementType(ctxt, node);
-                ctxt->type = type;
-                break;
-            }
-        case XML_SCHEMA_TYPE_BASIC:
 	case XML_SCHEMA_TYPE_SIMPLE:
-            xmlSchemaValidateSimpleTypeElement(ctxt, node);
+            ret = xmlSchemaValidateElementBySimpleType(ctxt, type,
+		valSimpleContent);
             break;
-        case XML_SCHEMA_TYPE_FACET:
-            TODO break;        
-        case XML_SCHEMA_TYPE_SEQUENCE:
-            TODO break;
-        case XML_SCHEMA_TYPE_CHOICE:
-            TODO break;
-        case XML_SCHEMA_TYPE_ALL:
-            TODO break;
-        case XML_SCHEMA_TYPE_SIMPLE_CONTENT:
-            TODO break;
-        case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
-            TODO break;
-        case XML_SCHEMA_TYPE_UR:
-            TODO break;
-        case XML_SCHEMA_TYPE_RESTRICTION:
-            /*xmlSchemaValidateRestrictionType(ctxt, node); */
-            TODO break;
-        case XML_SCHEMA_TYPE_EXTENSION:
-            TODO break;
-        case XML_SCHEMA_TYPE_ATTRIBUTE:
-            TODO break;
-        case XML_SCHEMA_TYPE_GROUP:
-            TODO break;
-        case XML_SCHEMA_TYPE_NOTATION:
-            TODO break;
-        case XML_SCHEMA_TYPE_LIST:
-            TODO break;
-        case XML_SCHEMA_TYPE_UNION:
-            TODO break;
-        case XML_SCHEMA_FACET_MININCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_MINEXCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_MAXINCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_MAXEXCLUSIVE:
-            TODO break;
-        case XML_SCHEMA_FACET_TOTALDIGITS:
-            TODO break;
-        case XML_SCHEMA_FACET_FRACTIONDIGITS:
-            TODO break;
-        case XML_SCHEMA_FACET_PATTERN:
-            TODO break;
-        case XML_SCHEMA_FACET_ENUMERATION:
-            TODO break;
-        case XML_SCHEMA_FACET_WHITESPACE:
-            TODO break;
-        case XML_SCHEMA_FACET_LENGTH:
-            TODO break;
-        case XML_SCHEMA_FACET_MAXLENGTH:
-            TODO break;
-        case XML_SCHEMA_FACET_MINLENGTH:
-            TODO break;
-        case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
-            TODO break;
-        case XML_SCHEMA_TYPE_ANY_ATTRIBUTE:
-            TODO break;
-    }
-
-    if (ctxt->node == NULL)
-        return (ctxt->err);
-    ctxt->node = ctxt->node->next;
-    ctxt->type = type->next;
-    return (ctxt->err);
+	case XML_SCHEMA_TYPE_BASIC:
+	    if (type->builtInType == XML_SCHEMAS_ANYTYPE)
+		ret = xmlSchemaValidateElementByAnyType(ctxt, type);
+	    else
+		ret = xmlSchemaValidateElementBySimpleType(ctxt, type,
+		    valSimpleContent);
+	    break;
+	default:
+	    ret = -1;
+	    break;
+    }	
+    if (ret == -1)
+	return (-1);
+    else
+	return (ret);
 }
 
-/**
- * xmlSchemaValidateType:
- * @ctxt:  a schema validation context
- * @elem:  an element
- * @type:  the list of type declarations
- *
- * Validate the content of an element against the types.
- *
- * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
- */
+
 static int
-xmlSchemaValidateType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem,
-                      xmlSchemaElementPtr elemDecl, xmlSchemaTypePtr type)
+xmlSchemaCheckAttrLocallyValid(xmlSchemaValidCtxtPtr ctxt,
+			       xmlSchemaAttributePtr decl,
+			       xmlSchemaAttrStatePtr state,
+			       xmlAttrPtr attr)
 {
-    xmlChar *nil;
+    xmlChar *value;
+    const xmlChar *defValue;
+    xmlSchemaValPtr defVal;
+    int fixed;
+    int ret;
 
-    if ((elem == NULL) || (type == NULL) || (elemDecl == NULL))
-        return (0);
-
-    /* This one is called by "xmlSchemaValidateElementType" and
-     * "xmlSchemaValidateElement".
-     */
-
-    /*
-     * 3.3.4 : 2
-     */
-    if (elemDecl->flags & XML_SCHEMAS_ELEM_ABSTRACT) {
-        xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_ISABSTRACT,
-		      "Element declaration %s is abstract\n",
-		      elemDecl->name, NULL);
-	/* Changed, since the element declaration is abstract and not
-	 * the element itself. */
-	/* xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_ISABSTRACT,
-			 "Element %s is abstract\n", elem->name, NULL); */
-        return (ctxt->err);
+    if (decl->subtypes == NULL) {
+	state->state = XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED;
+	return (XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED);
     }
+    value = xmlNodeListGetString(attr->doc, attr->children, 1);
+    ctxt->node = (xmlNodePtr) attr;
+    ctxt->cur = attr->children;
     /*
-     * 3.3.4: 3
-     */
-    nil = xmlGetNsProp(elem, BAD_CAST "nil", xmlSchemaInstanceNs);
-    if (elemDecl->flags & XML_SCHEMAS_ELEM_NILLABLE) {
-        /* 3.3.4: 3.2 */
-        if (xmlStrEqual(nil, BAD_CAST "true")) {
-            if (elem->children != NULL) {
-                xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_NOTEMPTY,
-			      "Element %s is not empty\n", elem->name, NULL);
-                return (ctxt->err);
-            }
-            if ((elemDecl->flags & XML_SCHEMAS_ELEM_FIXED) &&
-                (elemDecl->value != NULL)) {
-                xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_HAVEDEFAULT,
-			      "Empty element %s cannot get a fixed value\n",
-			      elem->name, NULL);
-                return (ctxt->err);
-            }
-        }
-    } else {
-        /* 3.3.4: 3.1 */
-        if (nil != NULL) {
-            xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_NOTNILLABLE,
-	    		  "Element %s with xs:nil but not nillable\n",
-			  elem->name, NULL);
-            xmlFree(nil);
-            return (ctxt->err);
-        }
+    * NOTE: This call also checks the content nodes for correct type.
+    */
+    ret = xmlSchemaValidateSimpleTypeValue(ctxt, decl->subtypes,
+	value, 1, 1, 1, 1);
+    	    
+    /*
+    * Handle 'fixed' attributes.
+    */
+    if (ret > 0) {
+	state->state = XML_SCHEMAS_ATTR_INVALID_VALUE;
+	/*
+	* NOTE: Fixed value constraints will be not
+	* applied if the value was invalid, because: 
+	* 1. The validation process does not return a precomputed 
+	*    value.
+	* 2. An invalid value implies a violation of a fixed 
+	*    value constraint.
+	*/
+    } else if (ret == 0) {
+	state->state = XML_SCHEMAS_ATTR_CHECKED;
+	if (xmlSchemaGetEffectiveValueConstraint(decl, 
+	    &fixed, &defValue, &defVal) && (fixed == 1)) {
+	    /*
+	    * cvc-au : Attribute Locally Valid (Use)
+	    * For an attribute information item to be·valid· 
+	    * with respect to an attribute use its ·normalized 
+	    * value· must match the canonical lexical representation
+	    * of the attribute use's {value constraint} value, if it 
+	    * is present and fixed.
+	    */
+	    /* 
+	    * NOTE: the validation context holds in ctxt->value the
+	    * precomputed value of the attribute; well for some types,
+	    * fallback to string comparison if no computed value 
+	    * exists.
+	    */
+	    if (((ctxt->value != NULL) && 
+		(xmlSchemaCompareValues(ctxt->value, defVal) != 0)) ||
+		((ctxt->value == NULL) &&
+		(! xmlStrEqual(defValue, BAD_CAST value)))) {
+		state->state = 
+		    XML_SCHEMAS_ATTR_INVALID_FIXED_VALUE;			
+	    }
+	}
+    }  
+    if (value != NULL) {
+	xmlFree(value);
     }
-
-    /* TODO 3.3.4: 4 if the element carries xs:type */
-
-    ctxt->type = elemDecl->subtypes;
-    ctxt->node = elem->children;
-    xmlSchemaValidateContent(ctxt, elem);   
-    return (ctxt->err);
+    return (ret);
 }
 
-
 /**
  * xmlSchemaValidateAttributes:
  * @ctxt:  a schema validation context
@@ -10777,41 +16159,52 @@
  *
  * Validate the attributes of an element.
  *
+ * 1. Existent, invalid attributes are reported in the form 
+ *    "prefix:localName". 
+ *    Reason: readability - it is easier to find the actual XML 
+ *    representation of the attributes QName.
+ * 2. Missing attributes are reported in the form 
+ *    {"URI", "localName"}.
+ *    This is necessary, since the the prefix need not to be declared
+ *    at all, and thus is not computable.
+ *
  * Returns 0 if the element is schemas valid, a positive error code
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
 xmlSchemaValidateAttributes(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem, xmlSchemaTypePtr type)
 {
+    const xmlChar *nsURI;
     int ret;
     xmlAttrPtr attr; /* An attribute on the element. */
-    xmlChar *value;
-    const xmlChar *nsURI;
-    xmlSchemaAttributeLinkPtr attrUse;
+    const xmlChar *defValue;
+    xmlSchemaValPtr defVal;
+    int fixed;
+    xmlSchemaAttributeLinkPtr attrUse = NULL;
     xmlSchemaAttributePtr attrDecl;
     int found;
     xmlSchemaAttrStatePtr curState, reqAttrStates = NULL, reqAttrStatesTop = NULL;
+    xmlSchemaAttrStatePtr defAttrStates = NULL, defAttrStatesTop = NULL;
+    xmlNodePtr oldnode;
 #ifdef DEBUG_ATTR_VALIDATION
     int redundant = 0;
 #endif
-    if (type->type != XML_SCHEMA_TYPE_COMPLEX) {
-	xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_INTERNAL,
-			      "Internal error: xmlSchemaValidateAttributes: "
-			      "given type \"%s\"is not a complexType\n",
-			      type->name, NULL);
-	return(-1);
-    }    
 
-    if ((type->attributeUses == NULL) && (type->attributeWildcard == NULL))
-        return (0);
+      
+    /*
+    * Allow all attributes if the type is anyType.
+    */
+    if (type == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE))
+	return (0);
 
-    attrUse = type->attributeUses;
-
+    oldnode = ctxt->node;
+    if (type != NULL)
+	attrUse = type->attributeUses;
     while (attrUse != NULL) {
         found = 0;    
 	attrDecl = attrUse->attr;
 #ifdef DEBUG_ATTR_VALIDATION
-	printf("attr use - name: %s\n", xmlSchemaGetOnymousAttrName(attrDecl));
+	printf("attr use - name: %s\n", xmlSchemaGetAttrName(attrDecl));
 	printf("attr use - use: %d\n", attrDecl->occurs);
 #endif
         for (curState = ctxt->attr; curState != NULL; curState = curState->next) {		    
@@ -10820,7 +16213,7 @@
 #ifdef DEBUG_ATTR_VALIDATION
 		redundant = 1;
 #endif
-        }
+	    }
 	    attr = curState->attr;
 #ifdef DEBUG_ATTR_VALIDATION
 	    printf("attr - name: %s\n", attr->name);
@@ -10872,63 +16265,67 @@
 #ifdef DEBUG_ATTR_VALIDATION
 	    printf("found\n");
 #endif
-            found = 1;
-            ctxt->cur = (xmlNodePtr) attr;
-	    ctxt->node = attr->children;
-
-            if (attrDecl->subtypes == NULL) {
-		curState->state = XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED;
-		curState->decl = attrDecl;
-		/* 
-		 * This could be put into "xmlSchemaCheckAttributes" as well, but
-		 * since it reports an internal error, it better stays here to ease
-		 * debugging.
-		 */
-                xmlSchemaVErr(ctxt, (xmlNodePtr) attr, XML_SCHEMAS_ERR_INTERNAL,
-			      "Internal error: attribute %s type not resolved\n",
-			      attr->name, NULL);
-                continue;
-            }
-            value = xmlNodeListGetString(elem->doc, attr->children, 1);
-	    ctxt->type = attrDecl->subtypes;
-            ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 0, 1);
-	    ctxt->type = type;
-            if (ret != 0) 
-		curState->state = XML_SCHEMAS_ATTR_INVALID_VALUE;   				
-            else
-                curState->state = XML_SCHEMAS_ATTR_CHECKED;
+            found = 1;	    
 	    curState->decl = attrDecl;
-            if (value != NULL) {
-                xmlFree(value);
-            }	    
+	    ret = xmlSchemaCheckAttrLocallyValid(ctxt, attrDecl, curState, attr);
         }
-        if ((!found) && (attrDecl->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED)) {
-	    xmlSchemaAttrStatePtr tmp;
-
+        if (!found) {
+	    if (attrDecl->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED) {
+		xmlSchemaAttrStatePtr tmp;
+		
 #ifdef DEBUG_ATTR_VALIDATION
-	    printf("required attr not found\n");
+		printf("required attr not found\n");
 #endif
-	    /*
-	     * Add a new dummy attribute state.
-	     */	
-	    tmp = (xmlSchemaAttrStatePtr) xmlMalloc(sizeof(xmlSchemaAttrState));
-	    if (tmp == NULL) {
-		xmlSchemaVErrMemory(ctxt, "registering required attributes", NULL);
-		return (-1);
-            }            
-	    tmp->attr = NULL;
-	    tmp->state = XML_SCHEMAS_ATTR_MISSING;
-	    tmp->decl = attrDecl;
-	    tmp->next = NULL;
-         
-	    if (reqAttrStates == NULL) {
-		reqAttrStates = tmp;
-		reqAttrStatesTop = tmp;
-            } else {
-		reqAttrStatesTop->next = tmp;
-		reqAttrStatesTop = tmp;
-            }
-	
+		/*
+		* Add a new dummy attribute state.
+		*/	
+		tmp = (xmlSchemaAttrStatePtr) xmlMalloc(sizeof(xmlSchemaAttrState));
+		if (tmp == NULL) {
+		    xmlSchemaVErrMemory(ctxt, "registering required attributes", NULL);
+		    ctxt->node = oldnode;
+		    return (-1);
+		}            
+		tmp->attr = NULL;
+		tmp->state = XML_SCHEMAS_ATTR_MISSING;
+		tmp->decl = attrDecl;
+		tmp->next = NULL;
+		
+		if (reqAttrStates == NULL) {
+		    reqAttrStates = tmp;
+		    reqAttrStatesTop = tmp;
+		} else {
+		    reqAttrStatesTop->next = tmp;
+		    reqAttrStatesTop = tmp;
+		}
+	    } else if ((attrDecl->occurs == XML_SCHEMAS_ATTR_USE_OPTIONAL) &&
+		    (xmlSchemaGetEffectiveValueConstraint(attrDecl, 
+			&fixed, &defValue, &defVal))) {
+		xmlSchemaAttrStatePtr tmp;
+		/*
+		* Handle non existent default/fixed attributes.
+		*/	
+		tmp = (xmlSchemaAttrStatePtr) 
+		    xmlMalloc(sizeof(xmlSchemaAttrState));
+		if (tmp == NULL) {
+		    xmlSchemaVErrMemory(ctxt, 
+			"registering schema specified attributes", NULL);
+		    ctxt->node = oldnode;
+		    return (-1);
+		}            
+		tmp->attr = NULL;
+		tmp->state = XML_SCHEMAS_ATTR_DEFAULT;
+		tmp->decl = attrDecl;
+		tmp->value = defValue;
+		tmp->next = NULL;
+		
+		if (defAttrStates == NULL) {
+		    defAttrStates = tmp;
+		    defAttrStates = tmp;
+		} else {
+		    defAttrStates->next = tmp;
+		    defAttrStatesTop = tmp;
+		}				
+	    }			
 	}
         attrUse = attrUse->next;
     }
@@ -10942,11 +16339,12 @@
 	    ctxt->attrTop->next = reqAttrStates;
 	}
 	ctxt->attrTop = reqAttrStatesTop;
-            }
+    }
     /*
     * Process wildcards.
     */
-    if (type->attributeWildcard != NULL) {	
+    
+    if ((type != NULL) && (type->attributeWildcard != NULL)) {	
 #ifdef DEBUG_ATTR_VALIDATION
 	xmlSchemaWildcardNsPtr ns;	
 	printf("matching wildcard: [%d] of complexType: %s\n", type->attributeWildcard, type->name);
@@ -11000,21 +16398,11 @@
 			
 			attr = curState->attr;						
 			attrDecl = xmlSchemaGetAttribute(ctxt->schema, 
-			    attr->name, nsURI);		
+			    attr->name, nsURI);
+			curState->decl = attrDecl;
 			if (attrDecl != NULL) {
-			    value = xmlNodeListGetString(elem->doc, attr->children, 1);
-			    ctxt->type = attrDecl->subtypes;
-			    ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1);
-			    ctxt->type = type;
-			    if (ret != 0) 
-				curState->state = XML_SCHEMAS_ATTR_INVALID_VALUE;   				
-			    else
-				curState->state = XML_SCHEMAS_ATTR_CHECKED;
 			    curState->decl = attrDecl;
-			    if (value != NULL) {
-				xmlFree(value);
-			    }	    
-			    
+			    ret = xmlSchemaCheckAttrLocallyValid(ctxt, attrDecl, curState, attr);			    
 			} else if (type->attributeWildcard->processContents == 
 			    XML_SCHEMAS_ANY_LAX) {
 			    curState->state = XML_SCHEMAS_ATTR_CHECKED;
@@ -11026,12 +16414,134 @@
 	    curState = curState->next;
         }
     }
+
+    /*
+    * Report missing and illegal attributes.
+    */
+    if (ctxt->attr != NULL) {
+	curState = ctxt->attr;
+	while ((curState != NULL) && (curState != ctxt->attrTop->next)) {    
+	    if (curState->state != XML_SCHEMAS_ATTR_CHECKED) {
+		attr = curState->attr;
+		if (curState->decl != NULL) {
+		    if (curState->decl->ref != NULL)
+			attrDecl = curState->decl->refDecl;
+		    else 
+			attrDecl = curState->decl;
+		} else
+		    attrDecl = NULL;
+		if (curState->state == XML_SCHEMAS_ATTR_MISSING) {
+		    xmlSchemaVMissingAttrErr(ctxt, elem, attrDecl);
+		} else if (curState->state == 
+		    XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED) {
+		    xmlSchemaVCustomErr(ctxt,
+			XML_SCHEMAV_CVC_ATTRIBUTE_2,
+			(xmlNodePtr) attr,
+			(xmlSchemaTypePtr) attrDecl,
+			"The type definition is absent",
+			NULL);
+		} else if (curState->state == 
+		    XML_SCHEMAS_ATTR_INVALID_FIXED_VALUE) {			
+			xmlSchemaVCustomErr(ctxt,
+			    XML_SCHEMAV_CVC_AU, 
+			    (xmlNodePtr) attr, (xmlSchemaTypePtr) attrDecl,
+			    "The value does not match the fixed value "
+			    "constraint", NULL);
+		} else if (curState->state == XML_SCHEMAS_ATTR_UNKNOWN) {
+		    /* TODO: "prohibited" won't ever be touched here!. 
+		      (curState->state == XML_SCHEMAS_ATTR_PROHIBITED))
+		    */
+		    /*
+		    * TODO: One might report different error messages 
+		    * for the following errors.
+		    */
+		    if ((type == NULL) || (type->attributeWildcard == NULL)) {
+			xmlSchemaVIllegalAttrErr(ctxt, 
+			    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, attr);
+		    } else {
+			xmlSchemaVIllegalAttrErr(ctxt, 
+			    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, attr);
+		    }
+		}
+	    }	
+	    curState = curState->next;
+	}  
+    }    
+    
+    /*
+    * Add missing default/fixed attributes.
+    */
+    if (ctxt->options & XML_SCHEMA_VAL_VC_I_CREATE) {
+	curState = defAttrStates;
+	while (curState != NULL) { 
+	    attrDecl = curState->decl;
+	    if (attrDecl->ref != NULL)
+		attrDecl = attrDecl->refDecl;
+	    /*
+	    * PSVI: Add a new attribute node to the current element.
+	    */
+	    if (attrDecl->targetNamespace == NULL) {
+		xmlNewProp(elem, attrDecl->name, curState->value);
+	    } else {
+		xmlNsPtr ns;
+		
+		ns = xmlSearchNsByHref(elem->doc, elem, 
+		    attrDecl->targetNamespace);
+		if (ns == NULL) {
+		    xmlChar prefix[12];
+		    int counter = 1;
+
+		    attr = curState->attr;
+		    /*
+		    * Create a namespace declaration on the validation 
+		    * root node if no namespace declaration is in scope.
+		    */		    
+		    snprintf((char *) prefix, sizeof(prefix), "p");
+		    /*
+		    * This is somehow not performant, since the ancestor 
+		    * axis beyond @elem will be searched as well.
+		    */
+		    ns = xmlSearchNs(elem->doc, elem, BAD_CAST prefix);
+		    while (ns != NULL) {
+			if (counter > 1000) {
+			    xmlSchemaVErr(ctxt, (xmlNodePtr) attr, 
+				XML_SCHEMAV_INTERNAL,
+				"Internal error: xmlSchemaValidateAttributes, "
+				"could not compute a ns prefix for "
+				"default/fixed attribute '%s'.\n",
+				attrDecl->name, NULL);
+			    
+			    break;
+			}
+			snprintf((char *) prefix, 
+			    sizeof(prefix), "p%d", counter++);
+			ns = xmlSearchNs(elem->doc, elem, 
+			    BAD_CAST prefix);
+		    }
+		    if (ns == NULL) {
+			ns = xmlNewNs(ctxt->validationRoot, 
+			    attrDecl->targetNamespace, BAD_CAST prefix);
+			xmlNewNsProp(elem, ns, attrDecl->name, 
+			    curState->value);
+		    }
+		} else {
+		    xmlNewNsProp(elem, ns, attrDecl->name, 
+			curState->value);
+		}
+	    }
+	    curState = curState->next;
+	}
+    }
+    if (defAttrStates != NULL) 
+	xmlSchemaFreeAttributeStates(defAttrStates);
+		
 #ifdef DEBUG_ATTR_VALIDATION
     if (redundant)
 	xmlGenericError(xmlGenericErrorContext,
 	                "xmlSchemaValidateAttributes: redundant call by type: %s\n",
 	                type->name);
 #endif
+    ctxt->node = oldnode;
     return (ctxt->err);
 }
 
@@ -11046,92 +16556,125 @@
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
-xmlSchemaValidateElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem)
+xmlSchemaValidateElement(xmlSchemaValidCtxtPtr ctxt)
 {
-    xmlSchemaElementPtr elemDecl;
-    int ret;
-    xmlSchemaAttrStatePtr attrs, attrTop;
+    xmlSchemaElementPtr elemDecl;    
+    int ret = 0;
 
-    if (elem->ns != NULL) {
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  elem->name, elem->ns->href, NULL);
-    } else {
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  elem->name, NULL, NULL);
-    }
-    /* This one is called by xmlSchemaValidateDocument only. */
-
+    /* 
+    * This one is called by xmlSchemaValidateDocument and
+    * xmlSchemaValidateOneElement.
+    */  
+    if (ctxt->schema == NULL) {
+	/*
+	* No schema was specified at time of creation of the validation
+	* context. Use xsi:schemaLocation and xsi:noNamespaceSchemaLocation
+	* of the instance to build a schema.
+	*/
+	if (ctxt->pctxt == NULL) 
+	    ctxt->pctxt = xmlSchemaNewParserCtxt("*");
+	if (ctxt->pctxt == NULL)
+	    return (-1);
+	ctxt->schema = xmlSchemaNewSchema(ctxt->pctxt);
+	if (ctxt->schema == NULL)
+	    return (-1);
+	/* TODO: assign user data. */
+	ctxt->pctxt->error = ctxt->error;
+	ctxt->pctxt->warning = ctxt->warning;	
+	ctxt->xsiAssemble = 1;
+    } else
+	ctxt->xsiAssemble = 0;
+    /* ctxt->options |= XML_SCHEMA_VAL_VC_I_CREATE;
+    * ctxt->xsiAssemble = 1;
+    */
     /*
-     * 3.3.4 : 1
-     */
-    if (elemDecl == NULL) {
-        xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_UNDECLAREDELEM,
-		      "Element %s not declared\n", elem->name, NULL);
-        return (ctxt->err);
+    * Assemble new schemata using xsi.
+    */
+    if (ctxt->xsiAssemble) {	
+	ret = xmlSchemaAssembleByXSIElem(ctxt, ctxt->node);
+	if (ret == -1) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_INTERNAL,
+		ctxt->node, NULL, 	
+		"Internal error: xmlSchemaValidateElement, "
+		"assembling schema by xsi", NULL);	    
+	}
+	/*
+	* NOTE: We won't react on schema parser errors here.
+	* TODO: But a warning would be nice.
+	*/
     }
-    if (elemDecl->subtypes == NULL) {
-        xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_NOTYPE,
-		      "Element %s has no type\n", elem->name, NULL);
-        return (ctxt->err);
+    if (ret != -1) {	    
+	if (ctxt->node->ns != NULL)
+	    elemDecl = xmlSchemaGetElem(ctxt->schema, ctxt->node->name, 
+		ctxt->node->ns->href);
+	else
+	    elemDecl = xmlSchemaGetElem(ctxt->schema, ctxt->node->name, NULL);
+	
+	if (elemDecl == NULL) {
+	    xmlSchemaVCustomErr(ctxt, 
+		XML_SCHEMAV_CVC_ELT_1,
+		ctxt->node, NULL, 	  
+		"No matching global declaration available", NULL);
+	    ret = XML_SCHEMAV_CVC_ELT_1;
+	} else { 
+	    ret = xmlSchemaValidateElementByDeclaration(ctxt, elemDecl);    
+	    if (ret < 0) {
+		xmlSchemaVCustomErr(ctxt,
+		    XML_SCHEMAV_INTERNAL, ctxt->node, NULL,
+		    "Internal error: xmlSchemaValidateElement, "
+		    "calling validation by declaration", NULL);
+	    }
+	}
     }
-    /*
-     * Verify the attributes
-     */
-    attrs = ctxt->attr;
-    attrTop = ctxt->attrTop;
-    xmlSchemaRegisterAttributes(ctxt, elem->properties);
-    /*
-     * Verify the element content recursively
-     */
-    if (elemDecl->contModel != NULL) {
-        ctxt->regexp = xmlRegNewExecCtxt(elemDecl->contModel,
-                                         (xmlRegExecCallbacks)
-                                         xmlSchemaValidateCallback, ctxt);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext, "====> %s\n", elem->name);
-#endif
+    /* ctxt->xsiAssemble = 0; */
+    if (ctxt->xsiAssemble) {
+	if (ctxt->schema != NULL) {
+	    xmlSchemaFree(ctxt->schema);
+	    ctxt->schema = NULL;
+	}
     }
-    xmlSchemaValidateType(ctxt, elem, elemDecl, elemDecl->subtypes);
-    if (elemDecl->contModel != NULL) {
-        ret = xmlRegExecPushString(ctxt->regexp, NULL, NULL);
-#ifdef DEBUG_AUTOMATA
-        xmlGenericError(xmlGenericErrorContext,
-                        "====> %s : %d\n", elem->name, ret);
-#endif
-        if (ret == 0) {
-            xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_ELEMCONT,
-	    		  "Element %s content check failed\n",
-			  elem->name, NULL);
-        } else if (ret < 0) {
-            xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_ELEMCONT,
-	    		  "Element %s content check failed\n",
-			  elem->name, NULL);
-#ifdef DEBUG_CONTENT
-        } else {
-            xmlGenericError(xmlGenericErrorContext,
-                            "Element %s content check succeeded\n",
-                            elem->name);
+    return (ret);   
+}
 
-#endif
-        }
-        xmlRegFreeExecCtxt(ctxt->regexp);
+
+/**
+ * xmlSchemaValidateOneElement:
+ * @ctxt:  a schema validation context
+ * @elem:  an element node
+ *
+ * Validate a branch of a tree, starting with the given @elem.
+ *
+ * Returns 0 if the element and its subtree is valid, a positive error 
+ * code number otherwise and -1 in case of an internal or API error.
+ */
+int
+xmlSchemaValidateOneElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem)
+{
+    if ((ctxt == NULL) || (elem == NULL) || (elem->type != XML_ELEMENT_NODE))
+	return (-1);
+
+     if (ctxt->schema == NULL) {
+	xmlSchemaVErr(ctxt, NULL,
+	    XML_SCHEMAV_INTERNAL,
+	    "API error: xmlSchemaValidateOneElement, "
+	    "no schema specified.\n", NULL, NULL);
+	return (-1);
     }
-    /*
-     * Verify that all attributes were Schemas-validated
-     */
-    xmlSchemaCheckAttributes(ctxt, elem);
-    if (ctxt->attr != NULL)
-	xmlSchemaFreeAttributeStates(ctxt->attr);
-    ctxt->attr = attrs;
-    ctxt->attrTop = attrTop;
 
-    return (ctxt->err);
+    ctxt->doc = elem->doc;
+    ctxt->err = 0;
+    ctxt->nberrors = 0;
+    ctxt->node = elem;
+    ctxt->validationRoot = elem;
+    return (xmlSchemaValidateElement(ctxt));
 }
 
 /**
  * xmlSchemaValidateDocument:
  * @ctxt:  a schema validation context
  * @doc:  a parsed document tree
+ * @xsiAssemble: should schemata be added if requested by the instance?
  *
  * Validate a document tree in memory.
  *
@@ -11142,47 +16685,22 @@
 xmlSchemaValidateDocument(xmlSchemaValidCtxtPtr ctxt, xmlDocPtr doc)
 {
     xmlNodePtr root;
-    xmlSchemaElementPtr elemDecl;
      
     root = xmlDocGetRootElement(doc);
     if (root == NULL) {
-        xmlSchemaVErr(ctxt, (xmlNodePtr) doc, XML_SCHEMAS_ERR_NOROOT,
-		      "document has no root\n", NULL, NULL);
+        xmlSchemaVCustomErr(ctxt, 
+	    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING,
+	    (xmlNodePtr) doc, NULL,
+	    "The document has no document element", NULL);
         return (ctxt->err);
-    }
-    
-    if (root->ns != NULL)
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  root->name, root->ns->href, NULL);
-    else
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  root->name, NULL, NULL);
-
+    }    
+    /* ctxt->options |= XML_SCHEMA_VAL_XSI_ASSEMBLE; */
     /*
-     * special case whe elementFormDefault is unqualified for top-level elem.
-     */
-    /* Removed, since elementFormDefault does not apply to top level 
-    * elements */
-    /*
-    if ((elemDecl == NULL) && (root->ns != NULL) &&
-        (xmlStrEqual(ctxt->schema->targetNamespace, root->ns->href)) &&
-	((ctxt->schema->flags & XML_SCHEMAS_QUALIF_ELEM) == 0)) {
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  root->name, NULL, NULL);
-    }
-    */
-
-    if (elemDecl == NULL) {
-        xmlSchemaVErr(ctxt, root, XML_SCHEMAS_ERR_UNDECLAREDELEM,
-		      "Element %s not declared\n", root->name, NULL);
-    } else if ((elemDecl->flags & XML_SCHEMAS_ELEM_GLOBAL) == 0) {
-        xmlSchemaVErr(ctxt, root, XML_SCHEMAS_ERR_NOTTOPLEVEL,
-		      "Root element %s not global\n", root->name, NULL);
-    }
-    /*
      * Okay, start the recursive validation
      */
-    xmlSchemaValidateElement(ctxt, root);
+    ctxt->node = root;
+    ctxt->validationRoot = root;
+    xmlSchemaValidateElement(ctxt);
 
     return (ctxt->err);
 }
@@ -11218,29 +16736,9 @@
         return (NULL);
     }
     memset(ret, 0, sizeof(xmlSchemaValidCtxt));
-    ret->schema = schema;
-    /* 
-     * Removed due to changes of the attribute state list.
-    */
-    /* ret->attrNr = 0; */
-    /* ret->attrMax = 10; */
-    /* ret->attrBase = NULL; */
+    ret->schema = schema;    
     ret->attrTop = NULL;
     ret->attr = NULL;
-    /* 
-     * Removed due to changes of the attribute state list.
-     *
-    ret->attr = (xmlSchemaAttrStatePtr) xmlMalloc(ret->attrMax *
-                                                  sizeof
-                                                  (xmlSchemaAttrState));
-    if (ret->attr == NULL) {
-        xmlSchemaVErrMemory(NULL, "allocating validation context", NULL);
-        free(ret);
-        return (NULL);
-    }
-    memset(ret->attr, 0, ret->attrMax * sizeof(xmlSchemaAttrState));
-    */
-
     return (ret);
 }
 
@@ -11259,6 +16757,9 @@
         xmlSchemaFreeAttributeStates(ctxt->attr);
     if (ctxt->value != NULL)
         xmlSchemaFreeValue(ctxt->value);
+    if (ctxt->pctxt != NULL) {
+	xmlSchemaFreeParserCtxt(ctxt->pctxt);
+    }
     xmlFree(ctxt);
 }
 
@@ -11281,9 +16782,94 @@
     ctxt->error = err;
     ctxt->warning = warn;
     ctxt->userData = ctx;
+    if (ctxt->pctxt != NULL)
+	xmlSchemaSetParserErrors(ctxt->pctxt, err, warn, ctx);
 }
 
 /**
+ * xmlSchemaGetValidErrors:
+ * @ctxt:	a XML-Schema validation context
+ * @err: the error function result
+ * @warn: the warning function result
+ * @ctx: the functions context result
+ *
+ * Get the error and warning callback informations
+ *
+ * Returns -1 in case of error and 0 otherwise
+ */
+int
+xmlSchemaGetValidErrors(xmlSchemaValidCtxtPtr ctxt,
+						xmlSchemaValidityErrorFunc * err,
+						xmlSchemaValidityWarningFunc * warn, void **ctx)
+{
+	if (ctxt == NULL)
+		return (-1);
+	if (err != NULL)
+		*err = ctxt->error;
+	if (warn != NULL)
+		*warn = ctxt->warning;
+	if (ctx != NULL)
+		*ctx = ctxt->userData;
+	return (0);
+}
+
+
+/**
+ * xmlSchemaSetValidOptions:
+ * @ctxt:	a schema validation context
+ * @options: a combination of xmlSchemaValidOption
+ *
+ * Sets the options to be used during the validation.
+ *
+ * Returns 0 in case of success, -1 in case of an
+ * API error.
+ */
+int
+xmlSchemaSetValidOptions(xmlSchemaValidCtxtPtr ctxt,
+			 int options)
+					
+{
+    int i;
+
+    if (ctxt == NULL)
+	return (-1);
+    /*
+    * WARNING: Change the start value if adding to the
+    * xmlSchemaValidOption.
+    * TODO: Is there an other, more easy to maintain,
+    * way?
+    */
+    for (i = 1; i < (int) sizeof(int) * 8; i++) {
+        if (options & 1<<i) {
+	    xmlSchemaVErr(ctxt, NULL,
+		XML_SCHEMAV_INTERNAL,
+		"Internal error: xmlSchemaSetValidOptions, "
+		"invalid option argument.\n", NULL, NULL);
+	    return (-1);   
+        }	
+    }
+    ctxt->options = options;
+    return (0);      
+}
+
+/**
+ * xmlSchemaValidCtxtGetOptions:
+ * @ctxt:	a schema validation context 
+ *
+ * Returns the option combination of the validation context.
+ */
+int
+xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt)
+					
+{    
+    if (ctxt == NULL)
+	return (-1);
+    else 
+	return (ctxt->options);    
+}
+
+
+/**
  * xmlSchemaValidateDoc:
  * @ctxt:  a schema validation context
  * @doc:  a parsed document tree
@@ -11302,6 +16888,20 @@
         return (-1);
 
     ctxt->doc = doc;
+    ctxt->err = 0; 
+    ctxt->nberrors = 0;
+    
+    /*
+    if (ctxt->schema == NULL) {
+	xmlSchemaVErr(ctxt, NULL,
+	    XML_SCHEMAV_INTERNAL,
+	    "API error: xmlSchemaValidateDoc, "
+	    "no schema specified and assembling of schemata "
+	    "using xsi:schemaLocation and xsi:noNamespaceSchemaLocation "
+	    "is not enabled.\n", NULL, NULL);
+	return (-1);
+    }
+    */
     ret = xmlSchemaValidateDocument(ctxt, doc);
     return (ret);
 }

Modified: packages/libxml2/branches/unstable/xmlschemastypes.c
===================================================================
--- packages/libxml2/branches/unstable/xmlschemastypes.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlschemastypes.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -31,6 +31,12 @@
 
 #define DEBUG
 
+#ifndef LIBXML_XPATH_ENABLED
+extern double xmlXPathNAN;
+extern double xmlXPathPINF;
+extern double xmlXPathNINF;
+#endif
+
 #define TODO 								\
     xmlGenericError(xmlGenericErrorContext,				\
 	    "Unimplemented block at %s:%d\n",				\
@@ -226,7 +232,8 @@
 	(type == XML_SCHEMAS_NMTOKENS) ||
 	(type == XML_SCHEMAS_ENTITIES)) 
 	ret->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
-    else if (type != XML_SCHEMAS_UNKNOWN)
+    else if ((type != XML_SCHEMAS_ANYTYPE) &&
+	(type != XML_SCHEMAS_ANYSIMPLETYPE))
 	ret->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
     ret->contentType = XML_SCHEMA_CONTENT_BASIC;
     switch (type) {
@@ -277,7 +284,7 @@
     * 3.4.7 Built-in Complex Type Definition
     */
     xmlSchemaTypeAnyTypeDef = xmlSchemaInitBasicType("anyType",
-                                                     XML_SCHEMAS_UNKNOWN, 
+                                                     XML_SCHEMAS_ANYTYPE, 
 						     NULL);
     xmlSchemaTypeAnyTypeDef->baseType = xmlSchemaTypeAnyTypeDef;
     xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
@@ -286,7 +293,7 @@
 
 	wild = (xmlSchemaWildcardPtr) xmlMalloc(sizeof(xmlSchemaWildcard));
 	if (wild == NULL) {
-	    xmlSchemaTypeErrMemory(NULL, "could not create a wildcard on anyType");
+	    xmlSchemaTypeErrMemory(NULL, "could not create an attribute wildcard on anyType");
 	    return;
 	}
 	memset(wild, 0, sizeof(xmlSchemaWildcard));
@@ -297,7 +304,7 @@
 	xmlSchemaTypeAnyTypeDef->attributeWildcard = wild;
     }
     xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType", 
-                                                           XML_SCHEMAS_UNKNOWN,
+                                                           XML_SCHEMAS_ANYSIMPLETYPE,
 							   xmlSchemaTypeAnyTypeDef);
     /*
     * primitive datatypes
@@ -456,7 +463,7 @@
 }
 
 /**
- * xmlSchemaGetBuiltInType:
+ * xmlSchemaIsBuiltInTypeFacet:
  * @type: the built-in type
  * @facetType:  the facet type
  *
@@ -469,6 +476,8 @@
 int
 xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
 {
+    if (type == NULL)
+	return (-1);
     if (type->type != XML_SCHEMA_TYPE_BASIC)
 	return (-1);
     switch (type->builtInType) {
@@ -528,7 +537,7 @@
 	    else
 		return (0);	    				 
 	default:
-	    return (0);
+	    break;
     }
     return (0);
 }
@@ -738,13 +747,15 @@
  * xmlSchemaGetBuiltInListSimpleTypeItemType:
  * @type: the built-in simple type.
  *
+ * Lookup function
+ *
  * Returns the item type of @type as defined by the built-in datatype
  * hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.
  */
 xmlSchemaTypePtr
 xmlSchemaGetBuiltInListSimpleTypeItemType(xmlSchemaTypePtr type)
 {
-    if (type->type != XML_SCHEMA_TYPE_BASIC)
+    if ((type == NULL) || (type->type != XML_SCHEMA_TYPE_BASIC))
 	return (NULL);
     switch (type->builtInType) {
 	case XML_SCHEMAS_NMTOKENS: 
@@ -1732,6 +1743,13 @@
     if (type == NULL)
         return (-1);
 
+    /*
+     * validating a non existant text node is similar to validating
+     * an empty one.
+     */
+    if (value == NULL)
+        value = BAD_CAST "";
+
     if (val != NULL)
         *val = NULL;
     if ((flags == 0) && (value != NULL)) {
@@ -1744,10 +1762,11 @@
     }
 
     switch (type->builtInType) {
-        case XML_SCHEMAS_UNKNOWN:
-            if (type == xmlSchemaTypeAnySimpleTypeDef)
-                goto return0;
+        case XML_SCHEMAS_UNKNOWN:            
             goto error;
+	case XML_SCHEMAS_ANYTYPE:
+	case XML_SCHEMAS_ANYSIMPLETYPE:
+	    goto return0;
         case XML_SCHEMAS_STRING:
             goto return0;
         case XML_SCHEMAS_NORMSTRING:{
@@ -2697,6 +2716,26 @@
 }
 
 /**
+ * xmlSchemaValPredefTypeNodeNoNorm:
+ * @type: the predefined type
+ * @value: the value to check
+ * @val:  the return computed value
+ * @node:  the node containing the value
+ *
+ * Check that a value conforms to the lexical space of the predefined type.
+ * if true a value is computed and returned in @val.
+ * This one does apply any normalization to the value.
+ *
+ * Returns 0 if this validates, a positive error code number otherwise
+ *         and -1 in case of internal or API error.
+ */
+int
+xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type, const xmlChar *value,
+				 xmlSchemaValPtr *val, xmlNodePtr node) {
+    return(xmlSchemaValAtomicType(type, value, val, node, 1));
+}
+
+/**
  * xmlSchemaValidatePredefinedType:
  * @type: the predefined type
  * @value: the value to check
@@ -3099,17 +3138,21 @@
 _xmlSchemaDateCastYMToDays (const xmlSchemaValPtr dt)
 {
     long ret;
+    int mon;
 
-    if (dt->value.date.year < 0)
+    mon = dt->value.date.mon;
+    if (mon <= 0) mon = 1; /* normalization */
+
+    if (dt->value.date.year <= 0)
         ret = (dt->value.date.year * 365) +
               (((dt->value.date.year+1)/4)-((dt->value.date.year+1)/100)+
                ((dt->value.date.year+1)/400)) +
-              DAY_IN_YEAR(0, dt->value.date.mon, dt->value.date.year);
+              DAY_IN_YEAR(0, mon, dt->value.date.year);
     else
         ret = ((dt->value.date.year-1) * 365) +
               (((dt->value.date.year-1)/4)-((dt->value.date.year-1)/100)+
                ((dt->value.date.year-1)/400)) +
-              DAY_IN_YEAR(0, dt->value.date.mon, dt->value.date.year);
+              DAY_IN_YEAR(0, mon, dt->value.date.year);
 
     return ret;
 }
@@ -3527,6 +3570,8 @@
 
     switch (x->type) {
 	case XML_SCHEMAS_UNKNOWN:
+	case XML_SCHEMAS_ANYTYPE:
+	case XML_SCHEMAS_ANYSIMPLETYPE:
 	    return(-2);
         case XML_SCHEMAS_INTEGER:
         case XML_SCHEMAS_NPINTEGER:
@@ -3667,9 +3712,6 @@
         case XML_SCHEMAS_NMTOKENS:
 	    TODO
 	    break;
-	case XML_SCHEMAS_ANYTYPE:
-	case XML_SCHEMAS_ANYSIMPLETYPE:
-	    break;
     }
     return -2;
 }
@@ -3721,6 +3763,23 @@
 }
 
 /**
+ * xmlSchemaGetFacetValueAsULong:
+ * @facet: an schemas type facet
+ *
+ * Extract the value of a facet
+ *
+ * Returns the value as a long
+ */
+unsigned long
+xmlSchemaGetFacetValueAsULong(xmlSchemaFacetPtr facet)
+{
+    /*
+    * TODO: Check if this is a decimal.
+    */
+    return ((unsigned long) facet->val->value.decimal.lo);
+}
+
+/**
  * xmlSchemaValidateListSimpleTypeFacet:
  * @facet:  the facet to check
  * @value:  the lexical repr of the value to validate
@@ -3738,23 +3797,28 @@
 				     unsigned long actualLen,
 				     unsigned long *expectedLen)
 {
+    if (facet == NULL)
+        return(-1);
     /*
     * TODO: Check if this will work with large numbers.
     * (compare value.decimal.mi and value.decimal.hi as well?).
     */
     if (facet->type == XML_SCHEMA_FACET_LENGTH) {
 	if (actualLen != facet->val->value.decimal.lo) {
-	    *expectedLen = facet->val->value.decimal.lo;
+	    if (expectedLen != 0)
+		*expectedLen = facet->val->value.decimal.lo;
 	    return (XML_SCHEMAV_CVC_LENGTH_VALID);
 	}	
     } else if (facet->type == XML_SCHEMA_FACET_MINLENGTH) {
 	if (actualLen < facet->val->value.decimal.lo) {
-	     *expectedLen = facet->val->value.decimal.lo;
+	    if (expectedLen != 0)
+		*expectedLen = facet->val->value.decimal.lo;
 	    return (XML_SCHEMAV_CVC_MINLENGTH_VALID);
 	}
     } else if (facet->type == XML_SCHEMA_FACET_MAXLENGTH) {
 	if (actualLen > facet->val->value.decimal.lo) {
-	     *expectedLen = facet->val->value.decimal.lo;
+	    if (expectedLen != 0)
+		*expectedLen = facet->val->value.decimal.lo;
 	    return (XML_SCHEMAV_CVC_MAXLENGTH_VALID);
 	}
     } else
@@ -3768,6 +3832,86 @@
 }
 
 /**
+ * xmlSchemaValidateLengthFacet:
+ * @type:  the built-in type
+ * @facet:  the facet to check
+ * @value:  the lexical repr. of the value to be validated
+ * @val:  the precomputed value
+ * @length: the actual length of the value
+ *
+ * Checka a value against a "length", "minLength" and "maxLength" 
+ * facet; sets @length to the computed length of @value.
+ *
+ * Returns 0 if the value is valid, a positive error code
+ * otherwise and -1 in case of an internal or API error.
+ */
+int
+xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type, 
+			     xmlSchemaFacetPtr facet,
+			     const xmlChar *value,
+			     xmlSchemaValPtr val,
+			     unsigned long *length)  
+{
+    unsigned int len = 0;
+
+    if ((length == NULL) || (facet == NULL) || (type == NULL))
+        return (-1);
+    *length = 0;
+    if ((facet->type != XML_SCHEMA_FACET_LENGTH) &&
+	(facet->type != XML_SCHEMA_FACET_MAXLENGTH) &&
+	(facet->type != XML_SCHEMA_FACET_MINLENGTH))
+	return (-1);
+	
+    if ((facet->val == NULL) ||
+	((facet->val->type != XML_SCHEMAS_DECIMAL) &&
+	 (facet->val->type != XML_SCHEMAS_NNINTEGER)) ||
+	(facet->val->value.decimal.frac != 0)) {
+	return(-1);
+    }
+    if ((val != NULL) && (val->type == XML_SCHEMAS_HEXBINARY))
+	len = val->value.hex.total;
+    else if ((val != NULL) && (val->type == XML_SCHEMAS_BASE64BINARY))
+	len = val->value.base64.total;
+    else {
+	switch (type->builtInType) {
+	    case XML_SCHEMAS_IDREF:
+	    case XML_SCHEMAS_NORMSTRING:
+	    case XML_SCHEMAS_TOKEN:
+	    case XML_SCHEMAS_LANGUAGE:
+	    case XML_SCHEMAS_NMTOKEN:
+	    case XML_SCHEMAS_NAME:
+	    case XML_SCHEMAS_NCNAME:
+	    case XML_SCHEMAS_ID:
+		len = xmlSchemaNormLen(value);
+		break;
+	    case XML_SCHEMAS_STRING:
+	    /*
+	    * FIXME: What exactly to do with anyURI?
+	    */
+	    case XML_SCHEMAS_ANYURI:
+		if (value != NULL)
+		    len = xmlUTF8Strlen(value);
+		break;
+	    default:
+		TODO
+	}
+    }
+    *length = (unsigned long) len;
+    if (facet->type == XML_SCHEMA_FACET_LENGTH) {
+	if (len != facet->val->value.decimal.lo)
+	    return(XML_SCHEMAV_CVC_LENGTH_VALID);
+    } else if (facet->type == XML_SCHEMA_FACET_MINLENGTH) {
+	if (len < facet->val->value.decimal.lo)
+	    return(XML_SCHEMAV_CVC_MINLENGTH_VALID);
+    } else {
+	if (len > facet->val->value.decimal.lo)
+	    return(XML_SCHEMAV_CVC_MAXLENGTH_VALID);
+    }
+    
+    return (0);
+}
+
+/**
  * xmlSchemaValidateFacet:
  * @base:  the base type
  * @facet:  the facet to check
@@ -3786,6 +3930,8 @@
 {
     int ret;
 
+    if ((facet == NULL) || (value == NULL))
+        return(-1);
     switch (facet->type) {
 	case XML_SCHEMA_FACET_PATTERN:
 	    ret = xmlRegexpExec(facet->regexp, value);

Modified: packages/libxml2/branches/unstable/xmlstring.c
===================================================================
--- packages/libxml2/branches/unstable/xmlstring.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlstring.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -92,8 +92,10 @@
         xmlErrMemory(NULL, NULL);
         return(NULL);
     }
-    for (i = 0;i < len;i++)
+    for (i = 0;i < len;i++) {
         ret[i] = (xmlChar) cur[i];
+        if (ret[i] == 0) return(ret);
+    }
     ret[len] = 0;
     return(ret);
 }
@@ -209,7 +211,7 @@
     if (str1 == NULL) return(-1);
     if (str2 == NULL) return(1);
 #ifdef __GNUC__
-    tmp = strncmp(str1, str2, len);
+    tmp = strncmp((const char *)str1, (const char *)str2, len);
     return tmp;
 #else
     do {
@@ -478,6 +480,8 @@
     int size;
     xmlChar *ret;
 
+    if (len < 0)
+        len = xmlStrlen(str2);
     if ((str2 == NULL) || (len == 0))
         return(xmlStrdup(str1));
     if (str1 == NULL)
@@ -681,12 +685,14 @@
 /**
  * xmlGetUTF8Char:
  * @utf:  a sequence of UTF-8 encoded bytes
- * @len:  a pointer to @bytes len
+ * @len:  a pointer to the minimum number of bytes present in
+ *        the sequence.  This is used to assure the next character
+ *        is completely contained within the sequence.
  *
- * Read one UTF8 Char from @utf
+ * Read the first UTF8 character from @utf
  *
- * Returns the char value or -1 in case of error, and updates *len with the
- *        number of bytes consumed
+ * Returns the char value or -1 in case of error, and sets *len to
+ *        the actual number of bytes consumed (0 in case of error)
  */
 int
 xmlGetUTF8Char(const unsigned char *utf, int *len) {
@@ -741,7 +747,8 @@
     return(c);
 
 error:
-    *len = 0;
+    if (len != NULL)
+	*len = 0;
     return(-1);
 }
 
@@ -764,27 +771,36 @@
     int ix;
     unsigned char c;
 
-    for (ix = 0; (c = utf[ix]);) {
-        if (c & 0x80) {
-            if ((utf[ix + 1] & 0xc0) != 0x80)
-                return(0);
-            if ((c & 0xe0) == 0xe0) {
-                if ((utf[ix + 2] & 0xc0) != 0x80)
-                    return(0);
-                if ((c & 0xf0) == 0xf0) {
-                    if ((c & 0xf8) != 0xf0 || (utf[ix + 3] & 0xc0) != 0x80)
-                        return(0);
-                    ix += 4;
-                    /* 4-byte code */
-                } else
-                    /* 3-byte code */
-                    ix += 3;
-            } else
-                /* 2-byte code */
-                ix += 2;
-        } else
-            /* 1-byte code */
+    if (utf == NULL)
+        return(0);
+    /*
+     * utf is a string of 1, 2, 3 or 4 bytes.  The valid strings
+     * are as follows (in "bit format"):
+     *    0xxxxxxx                                      valid 1-byte
+     *    110xxxxx 10xxxxxx                             valid 2-byte
+     *    1110xxxx 10xxxxxx 10xxxxxx                    valid 3-byte
+     *    11110xxx 10xxxxxx 10xxxxxx 10xxxxxx           valid 4-byte
+     */
+    for (ix = 0; (c = utf[ix]);) {      /* string is 0-terminated */
+        if ((c & 0x80) == 0x00) {	/* 1-byte code, starts with 10 */
             ix++;
+	} else if ((c & 0xe0) == 0xc0) {/* 2-byte code, starts with 110 */
+	    if ((utf[ix+1] & 0xc0 ) != 0x80)
+	        return 0;
+	    ix += 2;
+	} else if ((c & 0xf0) == 0xe0) {/* 3-byte code, starts with 1110 */
+	    if (((utf[ix+1] & 0xc0) != 0x80) ||
+	        ((utf[ix+2] & 0xc0) != 0x80))
+		    return 0;
+	    ix += 3;
+	} else if ((c & 0xf8) == 0xf0) {/* 4-byte code, starts with 11110 */
+	    if (((utf[ix+1] & 0xc0) != 0x80) ||
+	        ((utf[ix+2] & 0xc0) != 0x80) ||
+		((utf[ix+3] & 0xc0) != 0x80))
+		    return 0;
+	    ix += 4;
+	} else				/* unknown encoding */
+	    return 0;
       }
       return(1);
 }
@@ -795,10 +811,10 @@
  * @len:  the number of characters in the array
  *
  * storage size of an UTF8 string
+ * the behaviour is not garanteed if the input string is not UTF-8
  *
  * Returns the storage size of
  * the first 'len' characters of ARRAY
- *
  */
 
 int
@@ -806,6 +822,9 @@
     const xmlChar   *ptr=utf;
     xmlChar         ch;
 
+    if (utf == NULL)
+        return(0);
+
     if (len <= 0)
         return(0);
 
@@ -813,8 +832,10 @@
         if ( !*ptr )
             break;
         if ( (ch = *ptr++) & 0x80)
-            while ( (ch<<=1) & 0x80 )
+            while ((ch<<=1) & 0x80 ) {
                 ptr++;
+		if (*ptr == 0) break;
+	    }
     }
     return (ptr - utf);
 }
@@ -858,7 +879,7 @@
  *
  * Returns a pointer to the UTF8 character or NULL
  */
-xmlChar *
+const xmlChar *
 xmlUTF8Strpos(const xmlChar *utf, int pos) {
     xmlChar ch;
 

Modified: packages/libxml2/branches/unstable/xmlunicode.c
===================================================================
--- packages/libxml2/branches/unstable/xmlunicode.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlunicode.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -943,6 +943,8 @@
     int low, high, mid, cmp;
     xmlUnicodeRange *sptr;
 
+    if ((tptr == NULL) || (tname == NULL)) return(NULL);
+
     low = 0;
     high = tptr->numentries - 1;
     sptr = tptr->table;

Modified: packages/libxml2/branches/unstable/xmlwriter.c
===================================================================
--- packages/libxml2/branches/unstable/xmlwriter.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xmlwriter.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -71,6 +71,7 @@
     xmlChar *ichar;             /* indent character */
     char qchar;                 /* character used for quoting attribute values */
     xmlParserCtxtPtr ctxt;
+    int no_doc_free;
 };
 
 static void xmlFreeTextWriterStackEntry(xmlLinkPtr lk);
@@ -96,10 +97,57 @@
                                        xmlTextWriterStackEntry * p);
 
 /**
+ * xmlWriterErrMsg:
+ * @ctxt:  a writer context
+ * @error:  the error number
+ * @msg:  the error message
+ *
+ * Handle a writer error
+ */
+static void
+xmlWriterErrMsg(xmlTextWriterPtr ctxt, xmlParserErrors error,
+               const char *msg)
+{
+    if (ctxt != NULL) {
+	__xmlRaiseError(NULL, NULL, NULL, ctxt->ctxt,
+	            NULL, XML_FROM_WRITER, error, XML_ERR_FATAL,
+		    NULL, 0, NULL, NULL, NULL, 0, 0, msg);
+    } else {
+	__xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_WRITER, error,
+                    XML_ERR_FATAL, NULL, 0, NULL, NULL, NULL, 0, 0, msg);
+    }
+}
+
+/**
+ * xmlWriterErrMsgInt:
+ * @ctxt:  a writer context
+ * @error:  the error number
+ * @msg:  the error message
+ * @val:  an int
+ *
+ * Handle a writer error
+ */
+static void
+xmlWriterErrMsgInt(xmlTextWriterPtr ctxt, xmlParserErrors error,
+               const char *msg, int val)
+{
+    if (ctxt != NULL) {
+	__xmlRaiseError(NULL, NULL, NULL, ctxt->ctxt,
+	            NULL, XML_FROM_WRITER, error, XML_ERR_FATAL,
+		    NULL, 0, NULL, NULL, NULL, val, 0, msg, val);
+    } else {
+	__xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_WRITER, error,
+                    XML_ERR_FATAL, NULL, 0, NULL, NULL, NULL, val, 0, msg, val);
+    }
+}
+
+/**
  * xmlNewTextWriter:
  * @out:  an xmlOutputBufferPtr
  *
  * Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr
+ * NOTE: the @out parameter will be deallocated when the writer is closed
+ *       (if the call succeed.)
  *
  * Returns the new xmlTextWriterPtr or NULL in case of error
  */
@@ -110,7 +158,7 @@
 
     ret = (xmlTextWriterPtr) xmlMalloc(sizeof(xmlTextWriter));
     if (ret == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriter : out of memory!\n");
         return NULL;
     }
@@ -121,7 +169,7 @@
                                (xmlListDataCompare)
                                xmlCmpTextWriterStackEntry);
     if (ret->nodes == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriter : out of memory!\n");
         xmlFree(ret);
         return NULL;
@@ -132,7 +180,7 @@
                                  (xmlListDataCompare)
                                  xmlCmpTextWriterNsStackEntry);
     if (ret->nsstack == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriter : out of memory!\n");
         xmlListDelete(ret->nodes);
         xmlFree(ret);
@@ -147,10 +195,11 @@
         xmlListDelete(ret->nodes);
         xmlListDelete(ret->nsstack);
         xmlFree(ret);
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriter : out of memory!\n");
         return NULL;
     }
+    ret->no_doc_free = 0;
 
     return ret;
 }
@@ -172,14 +221,14 @@
 
     out = xmlOutputBufferCreateFilename(uri, NULL, compression);
     if (out == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriterFilename : out of memory!\n");
         return NULL;
     }
 
     ret = xmlNewTextWriter(out);
     if (ret == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriterFilename : out of memory!\n");
         xmlOutputBufferClose(out);
         return NULL;
@@ -213,14 +262,14 @@
                                   xmlTextWriterCloseMemCallback,
                                   (void *) buf, NULL);
     if (out == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriterMemory : out of memory!\n");
         return NULL;
     }
 
     ret = xmlNewTextWriter(out);
     if (ret == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlNewTextWriterMemory : out of memory!\n");
         xmlOutputBufferClose(out);
         return NULL;
@@ -235,6 +284,8 @@
  * @compression:  compress the output?
  *
  * Create a new xmlNewTextWriter structure with @ctxt as output
+ * NOTE: the @ctxt context will be freed with the resulting writer
+ *       (if the call succeeds).
  * TODO: handle compression
  *
  * Returns the new xmlTextWriterPtr or NULL in case of error
@@ -247,7 +298,7 @@
     xmlOutputBufferPtr out;
 
     if (ctxt == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterPushParser : invalid context!\n");
         return NULL;
     }
@@ -258,14 +309,14 @@
                                   xmlTextWriterCloseDocCallback,
                                   (void *) ctxt, NULL);
     if (out == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterPushParser : error at xmlOutputBufferCreateIO!\n");
         return NULL;
     }
 
     ret = xmlNewTextWriter(out);
     if (ret == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterPushParser : error at xmlNewTextWriter!\n");
         xmlOutputBufferClose(out);
         return NULL;
@@ -300,30 +351,37 @@
 
     ctxt = xmlCreatePushParserCtxt(&saxHandler, NULL, NULL, 0, NULL);
     if (ctxt == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterDoc : error at xmlCreatePushParserCtxt!\n");
         return NULL;
     }
+    /*
+     * For some reason this seems to completely break if node names
+     * are interned.
+     */
+    ctxt->dictNames = 0;
 
     ctxt->myDoc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION);
     if (ctxt->myDoc == NULL) {
         xmlFreeParserCtxt(ctxt);
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterDoc : error at xmlNewDoc!\n");
         return NULL;
     }
 
     ret = xmlNewTextWriterPushParser(ctxt, compression);
     if (ret == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterDoc : error at xmlNewTextWriterPushParser!\n");
         return NULL;
     }
 
     xmlSetDocCompressMode(ctxt->myDoc, compression);
 
-    if (doc != NULL)
+    if (doc != NULL) {
         *doc = ctxt->myDoc;
+	ret->no_doc_free = 1;
+    }
 
     return ret;
 }
@@ -347,7 +405,7 @@
     xmlParserCtxtPtr ctxt;
 
     if (doc == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterTree : invalid document tree!\n");
         return NULL;
     }
@@ -360,21 +418,27 @@
 
     ctxt = xmlCreatePushParserCtxt(&saxHandler, NULL, NULL, 0, NULL);
     if (ctxt == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterDoc : error at xmlCreatePushParserCtxt!\n");
         return NULL;
     }
+    /*
+     * For some reason this seems to completely break if node names
+     * are interned.
+     */
+    ctxt->dictNames = 0;
 
     ret = xmlNewTextWriterPushParser(ctxt, compression);
     if (ret == NULL) {
         xmlFreeParserCtxt(ctxt);
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlNewTextWriterDoc : error at xmlNewTextWriterPushParser!\n");
         return NULL;
     }
 
     ctxt->myDoc = doc;
     ctxt->node = node;
+    ret->no_doc_free = 1;
 
     xmlSetDocCompressMode(doc, compression);
 
@@ -402,8 +466,13 @@
     if (writer->nsstack != NULL)
         xmlListDelete(writer->nsstack);
 
-    if (writer->ctxt != NULL)
+    if (writer->ctxt != NULL) {
+        if ((writer->ctxt->myDoc != NULL) && (writer->no_doc_free == 0)) {
+	    xmlFreeDoc(writer->ctxt->myDoc);
+	    writer->ctxt->myDoc = NULL;
+	}
         xmlFreeParserCtxt(writer->ctxt);
+    }
 
     if (writer->ichar != NULL)
         xmlFree(writer->ichar);
@@ -431,14 +500,14 @@
     xmlCharEncodingHandlerPtr encoder;
 
     if ((writer == NULL) || (writer->out == NULL)) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterStartDocument : invalid writer!\n");
         return -1;
     }
 
     lk = xmlListFront(writer->nodes);
     if ((lk != NULL) && (xmlLinkGetData(lk) != NULL)) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterStartDocument : not allowed in this context!\n");
         return -1;
     }
@@ -447,7 +516,7 @@
     if (encoding != NULL) {
         encoder = xmlFindCharEncodingHandler(encoding);
         if (encoder == NULL) {
-            xmlGenericError(xmlGenericErrorContext,
+            xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                             "xmlTextWriterStartDocument : out of memory!\n");
             return -1;
         }
@@ -545,7 +614,7 @@
     xmlTextWriterStackEntry *p;
 
     if (writer == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterEndDocument : invalid writer!\n");
         return -1;
     }
@@ -628,7 +697,7 @@
     xmlTextWriterStackEntry *p;
 
     if (writer == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterStartComment : invalid writer!\n");
         return -1;
     }
@@ -665,7 +734,7 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartElement : out of memory!\n");
         return -1;
     }
@@ -707,14 +776,14 @@
     xmlTextWriterStackEntry *p;
 
     if (writer == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterEndComment : invalid writer!\n");
         return -1;
     }
 
     lk = xmlListFront(writer->nodes);
     if (lk == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterEndComment : not allowed in this context!\n");
         return -1;
     }
@@ -789,7 +858,7 @@
     xmlChar *buf;
 
     if (writer == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteVFormatComment : invalid writer!\n");
         return -1;
     }
@@ -886,14 +955,14 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartElement : out of memory!\n");
         return -1;
     }
 
     p->name = xmlStrdup(name);
     if (p->name == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartElement : out of memory!\n");
         xmlFree(p);
         return -1;
@@ -1191,13 +1260,13 @@
     xmlTextWriterStackEntry *p;
 
     if (writer == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteRawLen : invalid writer!\n");
         return -1;
     }
 
-    if ((content == NULL) && (len > 0)) {
-        xmlGenericError(xmlGenericErrorContext,
+    if ((content == NULL) || (len < 0)) {
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteRawLen : invalid content!\n");
         return -1;
     }
@@ -1258,6 +1327,9 @@
     int rc;
     va_list ap;
 
+    if ((writer == NULL) || (format == NULL))
+        return -1;
+
     va_start(ap, format);
 
     rc = xmlTextWriterWriteVFormatString(writer, format, ap);
@@ -1283,7 +1355,7 @@
     int rc;
     xmlChar *buf;
 
-    if (writer == NULL)
+    if ((writer == NULL) || (format == NULL))
         return -1;
 
     buf = xmlTextWriterVSprintf(format, argptr);
@@ -1314,7 +1386,7 @@
     xmlTextWriterStackEntry *p;
     xmlChar *buf;
 
-    if (writer == NULL)
+    if ((writer == NULL) || (content == NULL))
         return -1;
 
     sum = 0;
@@ -1372,12 +1444,20 @@
                            const unsigned char *data)
 {
     static unsigned char dtable[64] =
-        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+            {'A','B','C','D','E','F','G','H','I','J','K','L','M',
+	     'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
+	     'a','b','c','d','e','f','g','h','i','j','k','l','m',
+	     'n','o','p','q','r','s','t','u','v','w','x','y','z',
+	     '0','1','2','3','4','5','6','7','8','9','+','/'};
+
     int i;
     int linelen;
     int count;
     int sum;
 
+    if ((out == NULL) || (len < 0) || (data == NULL))
+        return(-1);
+
     linelen = 0;
     sum = 0;
 
@@ -1450,7 +1530,7 @@
     xmlLinkPtr lk;
     xmlTextWriterStackEntry *p;
 
-    if (writer == NULL)
+    if ((writer == NULL) || (data == NULL) || (start < 0) || (len < 0))
         return -1;
 
     sum = 0;
@@ -1487,7 +1567,8 @@
  * Write hqx encoded data to an xmlOutputBuffer.
  * ::todo
  *
- * Returns the bytes written (may be 0 because of buffering) or -1 in case of error
+ * Returns the bytes written (may be 0 because of buffering) 
+ * or -1 in case of error
  */
 static int
 xmlOutputBufferWriteBinHex(xmlOutputBufferPtr out,
@@ -1495,10 +1576,11 @@
 {
     int count;
     int sum;
-    static char hex[] = "0123456789ABCDEF";
+    static char hex[16] = 
+    	{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
     int i;
 
-    if ((out == NULL) || ((data == 0) && (len != 0))) {
+    if ((out == NULL) || (data == NULL) || (len < 0)) {
         return -1;
     }
 
@@ -1541,7 +1623,7 @@
     xmlLinkPtr lk;
     xmlTextWriterStackEntry *p;
 
-    if (writer == NULL)
+    if ((writer == NULL) || (data == NULL) || (start < 0) || (len < 0))
         return -1;
 
     sum = 0;
@@ -1681,7 +1763,7 @@
         p = (xmlTextWriterNsStackEntry *)
             xmlMalloc(sizeof(xmlTextWriterNsStackEntry));
         if (p == 0) {
-            xmlGenericError(xmlGenericErrorContext,
+            xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                             "xmlTextWriterStartAttributeNS : out of memory!\n");
             return -1;
         }
@@ -1689,7 +1771,7 @@
         p->prefix = buf;
         p->uri = xmlStrdup(namespaceURI);
         if (p->uri == 0) {
-            xmlGenericError(xmlGenericErrorContext,
+            xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                             "xmlTextWriterStartAttributeNS : out of memory!\n");
             xmlFree(p);
             return -1;
@@ -1725,12 +1807,14 @@
     lk = xmlListFront(writer->nodes);
     if (lk == 0) {
         xmlListDelete(writer->nsstack);
+	writer->nsstack = NULL;
         return -1;
     }
 
     p = (xmlTextWriterStackEntry *) xmlLinkGetData(lk);
     if (p == 0) {
         xmlListDelete(writer->nsstack);
+	writer->nsstack = NULL;
         return -1;
     }
 
@@ -1742,6 +1826,7 @@
             count = xmlOutputBufferWrite(writer->out, 1, &writer->qchar);
             if (count < 0) {
                 xmlListDelete(writer->nsstack);
+		writer->nsstack = NULL;
                 return -1;
             }
             sum += count;
@@ -1755,6 +1840,7 @@
                                                     np->uri);
                     if (count < 0) {
                         xmlListDelete(writer->nsstack);
+			writer->nsstack = NULL;
                         return -1;
                     }
                     sum += count;
@@ -2214,7 +2300,7 @@
         return -1;
 
     if (xmlStrcasecmp(target, (const xmlChar *) "xml") == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterStartPI : target name [Xx][Mm][Ll] is reserved for xml standardization!\n");
         return -1;
     }
@@ -2244,7 +2330,7 @@
                     break;
                 case XML_TEXTWRITER_PI:
                 case XML_TEXTWRITER_PI_TEXT:
-                    xmlGenericError(xmlGenericErrorContext,
+                    xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                                     "xmlTextWriterStartPI : nested PI!\n");
                     return -1;
                 default:
@@ -2256,14 +2342,14 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartPI : out of memory!\n");
         return -1;
     }
 
     p->name = xmlStrdup(target);
     if (p->name == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartPI : out of memory!\n");
         xmlFree(p);
         return -1;
@@ -2466,7 +2552,7 @@
                     p->state = XML_TEXTWRITER_TEXT;
                     break;
                 case XML_TEXTWRITER_CDATA:
-                    xmlGenericError(xmlGenericErrorContext,
+                    xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                                     "xmlTextWriterStartCDATA : CDATA not allowed in this context!\n");
                     return -1;
                 default:
@@ -2478,7 +2564,7 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartCDATA : out of memory!\n");
         return -1;
     }
@@ -2655,7 +2741,7 @@
     sum = 0;
     lk = xmlListFront(writer->nodes);
     if ((lk != NULL) && (xmlLinkGetData(lk) != NULL)) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterStartDTD : DTD allowed only in prolog!\n");
         return -1;
     }
@@ -2663,14 +2749,14 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTD : out of memory!\n");
         return -1;
     }
 
     p->name = xmlStrdup(name);
     if (p->name == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTD : out of memory!\n");
         xmlFree(p);
         return -1;
@@ -2690,7 +2776,7 @@
 
     if (pubid != 0) {
         if (sysid == 0) {
-            xmlGenericError(xmlGenericErrorContext,
+            xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                             "xmlTextWriterStartDTD : system identifier needed!\n");
             return -1;
         }
@@ -3002,14 +3088,14 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTDElement : out of memory!\n");
         return -1;
     }
 
     p->name = xmlStrdup(name);
     if (p->name == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTDElement : out of memory!\n");
         xmlFree(p);
         return -1;
@@ -3239,14 +3325,14 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTDAttlist : out of memory!\n");
         return -1;
     }
 
     p->name = xmlStrdup(name);
     if (p->name == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTDAttlist : out of memory!\n");
         xmlFree(p);
         return -1;
@@ -3478,14 +3564,14 @@
     p = (xmlTextWriterStackEntry *)
         xmlMalloc(sizeof(xmlTextWriterStackEntry));
     if (p == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTDElement : out of memory!\n");
         return -1;
     }
 
     p->name = xmlStrdup(name);
     if (p->name == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_NO_MEMORY,
                         "xmlTextWriterStartDTDElement : out of memory!\n");
         xmlFree(p);
         return -1;
@@ -3797,7 +3883,7 @@
     xmlTextWriterStackEntry *p;
 
     if (writer == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteDTDExternalEntityContents: xmlTextWriterPtr invalid!\n");
         return -1;
     }
@@ -3805,7 +3891,7 @@
     sum = 0;
     lk = xmlListFront(writer->nodes);
     if (lk == 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteDTDExternalEntityContents: you must call xmlTextWriterStartDTDEntity before the call to this function!\n");
         return -1;
     }
@@ -3819,20 +3905,20 @@
             break;
         case XML_TEXTWRITER_DTD_PENT:
             if (ndataid != NULL) {
-                xmlGenericError(xmlGenericErrorContext,
+                xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                                 "xmlTextWriterWriteDTDExternalEntityContents: notation not allowed with parameter entities!\n");
                 return -1;
             }
             break;
         default:
-            xmlGenericError(xmlGenericErrorContext,
+            xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                             "xmlTextWriterWriteDTDExternalEntityContents: you must call xmlTextWriterStartDTDEntity before the call to this function!\n");
             return -1;
     }
 
     if (pubid != 0) {
         if (sysid == 0) {
-            xmlGenericError(xmlGenericErrorContext,
+            xmlWriterErrMsg(writer, XML_ERR_INTERNAL_ERROR,
                             "xmlTextWriterWriteDTDExternalEntityContents: system identifier needed!\n");
             return -1;
         }
@@ -4221,7 +4307,7 @@
     int rc;
 
     if ((rc = xmlParseChunk(ctxt, (const char *) str, len, 0)) != 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsgInt(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteDocCallback : XML error %d !\n",
                         rc);
         return -1;
@@ -4245,7 +4331,7 @@
     int rc;
 
     if ((rc = xmlParseChunk(ctxt, NULL, 0, 1)) != 0) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsgInt(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteDocCallback : XML error %d !\n",
                         rc);
         return -1;
@@ -4273,7 +4359,7 @@
     size = BUFSIZ;
     buf = (xmlChar *) xmlMalloc(size);
     if (buf == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                         "xmlTextWriterVSprintf : out of memory!\n");
         return NULL;
     }
@@ -4284,7 +4370,7 @@
         size += BUFSIZ;
         buf = (xmlChar *) xmlMalloc(size);
         if (buf == NULL) {
-            xmlGenericError(xmlGenericErrorContext,
+            xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
                             "xmlTextWriterVSprintf : out of memory!\n");
             return NULL;
         }
@@ -4305,9 +4391,6 @@
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
     xmlDocPtr doc;
 
-#ifdef DEBUG_SAX
-    xmlGenericError(xmlGenericErrorContext, "SAX.startDocument()\n");
-#endif
     if (ctxt->html) {
 #ifdef LIBXML_HTML_ENABLED
         if (ctxt->myDoc == NULL)
@@ -4322,7 +4405,7 @@
             return;
         }
 #else
-        xmlGenericError(xmlGenericErrorContext,
+        xmlWriterErrMsg(NULL, XML_ERR_INTERNAL_ERROR,
                         "libxml2 built without HTML support\n");
         ctxt->errNo = XML_ERR_INTERNAL_ERROR;
         ctxt->instate = XML_PARSER_EOF;
@@ -4373,7 +4456,7 @@
 int
 xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent)
 {
-    if (indent < 0)
+    if ((writer == NULL) || (indent < 0))
         return -1;
 
     writer->indent = indent;
@@ -4394,7 +4477,7 @@
 int
 xmlTextWriterSetIndentString(xmlTextWriterPtr writer, const xmlChar * str)
 {
-    if (!str)
+    if ((writer == NULL) || (!str))
         return -1;
 
     if (writer->ichar != NULL)

Modified: packages/libxml2/branches/unstable/xpath.c
===================================================================
--- packages/libxml2/branches/unstable/xpath.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xpath.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -57,6 +57,13 @@
 	    "Unimplemented block at %s:%d\n",				\
             __FILE__, __LINE__);
 
+/*
+ * TODO:
+ * There are a few spots where some tests are done which depend upon ascii
+ * data.  These should be enhanced for full UTF8 support (see particularly
+ * any use of the macros IS_ASCII_CHARACTER and IS_ASCII_DIGIT)
+ */
+ 
 #if defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XPATH_ENABLED)
 /************************************************************************
  * 									*
@@ -200,7 +207,8 @@
     "Sub resource error\n",
     "Undefined namespace prefix\n",
     "Encoding error\n",
-    "Char out of XML range\n"
+    "Char out of XML range\n",
+    "Invalid or inclomplete context\n"
 };
 
 
@@ -247,7 +255,7 @@
 }
 
 /**
- * xmlXPathErrMemory:
+ * xmlXPathPErrMemory:
  * @ctxt:  an XPath parser context
  * @extra:  extra informations
  *
@@ -767,6 +775,8 @@
     int i;
     char shift[100];
 
+    if (output == NULL) return;
+
     for (i = 0;((i < depth) && (i < 25));i++)
         shift[2 * i] = shift[2 * i + 1] = ' ';
     shift[2 * i] = shift[2 * i + 1] = 0;
@@ -1055,6 +1065,8 @@
     int i;
     char shift[100];
 
+    if ((output == NULL) || (comp == NULL)) return;
+
     for (i = 0;((i < depth) && (i < 25));i++)
         shift[2 * i] = shift[2 * i + 1] = ' ';
     shift[2 * i] = shift[2 * i + 1] = 0;
@@ -1091,7 +1103,7 @@
 {
     xmlXPathObjectPtr ret;
 
-    if (ctxt->valueNr <= 0)
+    if ((ctxt == NULL) || (ctxt->valueNr <= 0))
         return (0);
     ctxt->valueNr--;
     if (ctxt->valueNr > 0)
@@ -1114,16 +1126,19 @@
 extern int
 valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
 {
+    if ((ctxt == NULL) || (value == NULL)) return(-1);
     if (ctxt->valueNr >= ctxt->valueMax) {
-        ctxt->valueMax *= 2;
-        ctxt->valueTab =
-            (xmlXPathObjectPtr *) xmlRealloc(ctxt->valueTab,
-                                             ctxt->valueMax *
+        xmlXPathObjectPtr *tmp;
+
+        tmp = (xmlXPathObjectPtr *) xmlRealloc(ctxt->valueTab,
+                                             2 * ctxt->valueMax *
                                              sizeof(ctxt->valueTab[0]));
-        if (ctxt->valueTab == NULL) {
+        if (tmp == NULL) {
             xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
             return (0);
         }
+        ctxt->valueMax *= 2;
+	ctxt->valueTab = tmp;
     }
     ctxt->valueTab[ctxt->valueNr] = value;
     ctxt->value = value;
@@ -1225,6 +1240,7 @@
     xmlXPathObjectPtr obj;
     xmlNodeSetPtr ret;
 
+    if (ctxt == NULL) return(NULL);
     if (ctxt->value == NULL) {
 	xmlXPathSetError(ctxt, XPATH_INVALID_OPERAND);
 	return(NULL);
@@ -1235,9 +1251,11 @@
     }
     obj = valuePop(ctxt);
     ret = obj->nodesetval;
+#if 0
     /* to fix memory leak of not clearing obj->user */
     if (obj->boolval && obj->user != NULL)
         xmlFreeNodeList((xmlNodePtr) obj->user);
+#endif
     xmlXPathFreeNodeSetList(obj);
     return(ret);
 }
@@ -1256,7 +1274,7 @@
     xmlXPathObjectPtr obj;
     void * ret;
 
-    if (ctxt->value == NULL) {
+    if ((ctxt == NULL) || (ctxt->value == NULL)) {
 	xmlXPathSetError(ctxt, XPATH_INVALID_OPERAND);
 	return(NULL);
     }
@@ -1791,6 +1809,7 @@
 xmlXPathNodeSetContains (xmlNodeSetPtr cur, xmlNodePtr val) {
     int i;
 
+    if ((cur == NULL) || (val == NULL)) return(0);
     if (val->type == XML_NAMESPACE_DECL) {
 	for (i = 0; i < cur->nodeNr; i++) {
 	    if (cur->nodeTab[i]->type == XML_NAMESPACE_DECL) {
@@ -1826,7 +1845,9 @@
 xmlXPathNodeSetAddNs(xmlNodeSetPtr cur, xmlNodePtr node, xmlNsPtr ns) {
     int i;
 
-    if ((ns == NULL) || (node == NULL) || (ns->type != XML_NAMESPACE_DECL) ||
+    
+    if ((cur == NULL) || (ns == NULL) || (node == NULL) ||
+        (ns->type != XML_NAMESPACE_DECL) ||
 	(node->type != XML_ELEMENT_NODE))
 	return;
 
@@ -1881,7 +1902,7 @@
 xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) {
     int i;
 
-    if (val == NULL) return;
+    if ((cur == NULL) || (val == NULL)) return;
 
 #if 0
     if ((val->type == XML_ELEMENT_NODE) && (val->name[0] == ' '))
@@ -1939,7 +1960,7 @@
  */
 void
 xmlXPathNodeSetAddUnique(xmlNodeSetPtr cur, xmlNodePtr val) {
-    if (val == NULL) return;
+    if ((cur == NULL) || (val == NULL)) return;
 
 #if 0
     if ((val->type == XML_ELEMENT_NODE) && (val->name[0] == ' '))
@@ -2809,7 +2830,7 @@
 			    void *funcCtxt) {
     if (ctxt == NULL)
 	return;
-    ctxt->funcLookupFunc = (void *) f;
+    ctxt->funcLookupFunc = f;
     ctxt->funcLookupData = funcCtxt;
 }
 
@@ -2832,7 +2853,7 @@
 	xmlXPathFunction ret;
 	xmlXPathFuncLookupFunc f;
 
-	f = (xmlXPathFuncLookupFunc) ctxt->funcLookupFunc;
+	f = ctxt->funcLookupFunc;
 	ret = f(ctxt->funcLookupData, name, NULL);
 	if (ret != NULL)
 	    return(ret);
@@ -2863,7 +2884,7 @@
 	xmlXPathFunction ret;
 	xmlXPathFuncLookupFunc f;
 
-	f = (xmlXPathFuncLookupFunc) ctxt->funcLookupFunc;
+	f = ctxt->funcLookupFunc;
 	ret = f(ctxt->funcLookupData, name, ns_uri);
 	if (ret != NULL)
 	    return(ret);
@@ -2959,7 +2980,7 @@
 	 xmlXPathVariableLookupFunc f, void *data) {
     if (ctxt == NULL)
 	return;
-    ctxt->varLookupFunc = (void *) f;
+    ctxt->varLookupFunc = f;
     ctxt->varLookupData = data;
 }
 
@@ -3310,6 +3331,12 @@
 	    ret->stringval = xmlStrdup(val->stringval);
 	    break;
 	case XPATH_XSLT_TREE:
+#if 0
+/*
+  Removed 11 July 2004 - the current handling of xslt tmpRVT nodes means that
+  this previous handling is no longer correct, and can cause some serious
+  problems (ref. bug 145547)
+*/
 	    if ((val->nodesetval != NULL) &&
 		(val->nodesetval->nodeTab != NULL)) {
 		xmlNodePtr cur, tmp;
@@ -3329,11 +3356,13 @@
 			cur = cur->next;
 		    }
 		}
+
 		ret->nodesetval = xmlXPathNodeSetCreate((xmlNodePtr) top);
 	    } else
 		ret->nodesetval = xmlXPathNodeSetCreate(NULL);
 	    /* Deallocate the copied tree value */
 	    break;
+#endif
 	case XPATH_NODESET:
 	    ret->nodesetval = xmlXPathNodeSetMerge(NULL, val->nodesetval);
 	    /* Do not deallocate the copied tree value */
@@ -3370,10 +3399,13 @@
     if (obj == NULL) return;
     if ((obj->type == XPATH_NODESET) || (obj->type == XPATH_XSLT_TREE)) {
 	if (obj->boolval) {
+#if 0
 	    if (obj->user != NULL) {
                 xmlXPathFreeNodeSet(obj->nodesetval);
 		xmlFreeNodeList((xmlNodePtr) obj->user);
-	    } else if (obj->nodesetval != NULL)
+	    } else
+#endif
+	    if (obj->nodesetval != NULL)
 		xmlXPathFreeValueTree(obj->nodesetval);
 	} else {
 	    if (obj->nodesetval != NULL)
@@ -3906,21 +3938,11 @@
 
 
 #define CHECK_CONTEXT(ctxt)						\
-    if (ctxt == NULL) { 						\
-        xmlGenericError(xmlGenericErrorContext,				\
-		"%s:%d Internal error: no context\n",			\
-	        __FILE__, __LINE__);					\
-    }									\
-    else if (ctxt->doc == NULL) { 					\
-        xmlGenericError(xmlGenericErrorContext,				\
-		"%s:%d Internal error: no document\n",			\
-	        __FILE__, __LINE__);					\
-    }									\
-    else if (ctxt->doc->children == NULL) { 				\
-        xmlGenericError(xmlGenericErrorContext,				\
-	        "%s:%d Internal error: document without root\n",	\
-	        __FILE__, __LINE__);					\
-    }									\
+    if ((ctxt == NULL) || (ctxt->doc == NULL) ||			\
+        (ctxt->doc->children == NULL)) { 				\
+	xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_INVALID_CTXT);	\
+	return(NULL);							\
+    }
 
 
 /**
@@ -4846,6 +4868,7 @@
     xmlXPathObjectPtr arg1, arg2, argtmp;
     int ret = 0;
 
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(0);
     arg2 = valuePop(ctxt); 
     arg1 = valuePop(ctxt);
     if ((arg1 == NULL) || (arg2 == NULL)) {
@@ -4929,6 +4952,7 @@
     xmlXPathObjectPtr arg1, arg2, argtmp;
     int ret = 0;
 
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(0);
     arg2 = valuePop(ctxt); 
     arg1 = valuePop(ctxt);
     if ((arg1 == NULL) || (arg2 == NULL)) {
@@ -5028,6 +5052,7 @@
     int ret = 0, arg1i = 0, arg2i = 0;
     xmlXPathObjectPtr arg1, arg2;
 
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(0);
     arg2 = valuePop(ctxt); 
     arg1 = valuePop(ctxt);
     if ((arg1 == NULL) || (arg2 == NULL)) {
@@ -5139,6 +5164,7 @@
  */
 void
 xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return;
     CAST_TO_NUMBER;
     CHECK_TYPE(XPATH_NUMBER);
     if (xmlXPathIsNaN(ctxt->value->floatval))
@@ -5326,6 +5352,7 @@
  */
 xmlNodePtr
 xmlXPathNextSelf(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL)
         return(ctxt->context->node);
     return(NULL);
@@ -5343,6 +5370,7 @@
  */
 xmlNodePtr
 xmlXPathNextChild(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL) {
 	if (ctxt->context->node == NULL) return(NULL);
 	switch (ctxt->context->node->type) {
@@ -5394,6 +5422,7 @@
  */
 xmlNodePtr
 xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL) {
 	if (ctxt->context->node == NULL)
 	    return(NULL);
@@ -5456,6 +5485,7 @@
  */
 xmlNodePtr
 xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL) {
 	if (ctxt->context->node == NULL)
 	    return(NULL);
@@ -5480,6 +5510,7 @@
  */
 xmlNodePtr
 xmlXPathNextParent(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     /*
      * the parent of an attribute or namespace node is the element
      * to which the attribute or namespace node is attached
@@ -5552,6 +5583,7 @@
  */
 xmlNodePtr
 xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     /*
      * the parent of an attribute or namespace node is the element
      * to which the attribute or namespace node is attached
@@ -5675,6 +5707,7 @@
  */
 xmlNodePtr
 xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL)
         return(ctxt->context->node);
     return(xmlXPathNextAncestor(ctxt, cur));
@@ -5693,6 +5726,7 @@
  */
 xmlNodePtr
 xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
 	(ctxt->context->node->type == XML_NAMESPACE_DECL))
 	return(NULL);
@@ -5717,6 +5751,7 @@
  */
 xmlNodePtr
 xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if ((ctxt->context->node->type == XML_ATTRIBUTE_NODE) ||
 	(ctxt->context->node->type == XML_NAMESPACE_DECL))
 	return(NULL);
@@ -5747,6 +5782,7 @@
  */
 xmlNodePtr
 xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur != NULL && cur->children != NULL)
         return cur->children ;
     if (cur == NULL) cur = ctxt->context->node;
@@ -5802,6 +5838,7 @@
 xmlNodePtr
 xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur)
 {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL)
         cur = ctxt->context->node;
     if (cur == NULL)
@@ -5842,6 +5879,7 @@
 xmlXPathNextPrecedingInternal(xmlXPathParserContextPtr ctxt,
                               xmlNodePtr cur)
 {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL) {
         cur = ctxt->context->node;
         if (cur == NULL)
@@ -5884,6 +5922,7 @@
  */
 xmlNodePtr
 xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (ctxt->context->node->type != XML_ELEMENT_NODE) return(NULL);
     if (ctxt->context->tmpNsList == NULL && cur != (xmlNodePtr) xmlXPathXMLNamespace) {
         if (ctxt->context->tmpNsList != NULL)
@@ -5920,6 +5959,7 @@
  */
 xmlNodePtr
 xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (ctxt->context->node == NULL)
 	return(NULL);
     if (ctxt->context->node->type != XML_ELEMENT_NODE)
@@ -5955,6 +5995,7 @@
  */
 void
 xmlXPathRoot(xmlXPathParserContextPtr ctxt) {
+    if ((ctxt == NULL) || (ctxt->context == NULL)) return;
     ctxt->context->node = (xmlNodePtr) ctxt->context->doc;
     valuePush(ctxt, xmlXPathNewNodeSet(ctxt->context->node));
 }
@@ -6191,6 +6232,8 @@
 xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs) {
     xmlXPathObjectPtr cur;
 
+    if (ctxt == NULL) return;
+
     if (nargs == 0) {
 	valuePush(ctxt, xmlXPathNewNodeSet(ctxt->context->node));
 	nargs = 1;
@@ -6246,6 +6289,8 @@
 xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs) {
     xmlXPathObjectPtr cur;
 
+    if (ctxt == NULL) return;
+
     if (nargs == 0) {
         valuePush(ctxt, xmlXPathNewNodeSet(ctxt->context->node));
 	nargs = 1;
@@ -6395,6 +6440,7 @@
 xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs) {
     xmlXPathObjectPtr cur;
 
+    if (ctxt == NULL) return;
     if (nargs == 0) {
 	valuePush(ctxt,
 		  xmlXPathWrapString(
@@ -6426,6 +6472,8 @@
     xmlXPathObjectPtr cur;
 
     if (nargs == 0) {
+        if ((ctxt == NULL) || (ctxt->context == NULL))
+	    return;
 	if (ctxt->context->node == NULL) {
 	    valuePush(ctxt, xmlXPathNewFloat(0));
 	} else {
@@ -6459,6 +6507,7 @@
     xmlXPathObjectPtr cur, newobj;
     xmlChar *tmp;
 
+    if (ctxt == NULL) return;
     if (nargs < 2) {
 	CHECK_ARITY(2);
     }
@@ -6790,6 +6839,7 @@
   xmlBufferPtr target;
   xmlChar blank;
   
+  if (ctxt == NULL) return;
   if (nargs == 0) {
     /* Use current context node */
     valuePush(ctxt,
@@ -6861,7 +6911,7 @@
     xmlBufferPtr target;
     int offset, max;
     xmlChar ch;
-    xmlChar *point;
+    const xmlChar *point;
     xmlChar *cptr;
 
     CHECK_ARITY(3);
@@ -7045,6 +7095,7 @@
     xmlXPathObjectPtr cur;
     double res;
 
+    if (ctxt == NULL) return;
     if (nargs == 0) {
 	if (ctxt->context->node == NULL) {
 	    valuePush(ctxt, xmlXPathNewFloat(0.0));
@@ -7322,6 +7373,7 @@
     xmlChar *ret;
     int count = 0;
 
+    if ((ctxt == NULL) || (ctxt->cur == NULL)) return(NULL);
     /*
      * Accelerator for simple ASCII names
      */
@@ -7402,6 +7454,7 @@
     xmlChar *ret;
     int count = 0;
 
+    if ((ctxt == NULL) || (ctxt->cur == NULL)) return(NULL);
     /*
      * Accelerator for simple ASCII names
      */
@@ -7932,7 +7985,7 @@
 	}
 	NEXT;
 	SKIP_BLANKS;
-    } else if (IS_DIGIT_CH(CUR) || (CUR == '.' && IS_DIGIT_CH(NXT(1)))) {
+    } else if (IS_ASCII_DIGIT(CUR) || (CUR == '.' && IS_ASCII_DIGIT(NXT(1)))) {
 	xmlXPathCompNumber(ctxt);
     } else if ((CUR == '\'') || (CUR == '"')) {
 	xmlXPathCompLiteral(ctxt);
@@ -7990,35 +8043,33 @@
 
 static xmlChar *
 xmlXPathScanName(xmlXPathParserContextPtr ctxt) {
-    xmlChar buf[XML_MAX_NAMELEN];
-    int len = 0;
+    int len = 0, l;
+    int c;
+    const xmlChar *cur;
+    xmlChar *ret;
 
-    SKIP_BLANKS;
-    if (!IS_LETTER_CH(CUR) && (CUR != '_') &&
-        (CUR != ':')) {
+    cur = ctxt->cur;
+
+    c = CUR_CHAR(l);
+    if ((c == ' ') || (c == '>') || (c == '/') || /* accelerators */
+	(!IS_LETTER(c) && (c != '_') &&
+         (c != ':'))) {
 	return(NULL);
     }
 
-    while ((IS_LETTER_CH(NXT(len))) || (IS_DIGIT_CH(NXT(len))) ||
-           (NXT(len) == '.') || (NXT(len) == '-') ||
-	   (NXT(len) == '_') || (NXT(len) == ':') || 
-	   (IS_COMBINING_CH(NXT(len))) ||
-	   (IS_EXTENDER_CH(NXT(len)))) {
-	buf[len] = NXT(len);
-	len++;
-	if (len >= XML_MAX_NAMELEN) {
-	    xmlGenericError(xmlGenericErrorContext, 
-	       "xmlScanName: reached XML_MAX_NAMELEN limit\n");
-	    while ((IS_LETTER_CH(NXT(len))) || (IS_DIGIT_CH(NXT(len))) ||
-		   (NXT(len) == '.') || (NXT(len) == '-') ||
-		   (NXT(len) == '_') || (NXT(len) == ':') || 
-		   (IS_COMBINING_CH(NXT(len))) ||
-		   (IS_EXTENDER_CH(NXT(len))))
-		 len++;
-	    break;
-	}
+    while ((c != ' ') && (c != '>') && (c != '/') && /* test bigname.xml */
+	   ((IS_LETTER(c)) || (IS_DIGIT(c)) ||
+            (c == '.') || (c == '-') ||
+	    (c == '_') || (c == ':') || 
+	    (IS_COMBINING(c)) ||
+	    (IS_EXTENDER(c)))) {
+	len += l;
+	NEXTL(l);
+	c = CUR_CHAR(l);
     }
-    return(xmlStrndup(buf, len));
+    ret = xmlStrndup(cur, ctxt->cur - cur);
+    ctxt->cur = cur;
+    return(ret);
 }
 
 /**
@@ -8045,8 +8096,10 @@
     xmlChar *name = NULL; /* we may have to preparse a name to find out */
 
     SKIP_BLANKS;
-    if ((CUR == '$') || (CUR == '(') || (IS_DIGIT_CH(CUR)) ||
-        (CUR == '\'') || (CUR == '"') || (CUR == '.' && IS_DIGIT_CH(NXT(1)))) {
+    if ((CUR == '$') || (CUR == '(') || 
+    	(IS_ASCII_DIGIT(CUR)) ||
+        (CUR == '\'') || (CUR == '"') ||
+	(CUR == '.' && IS_ASCII_DIGIT(NXT(1)))) {
 	lc = 0;
     } else if (CUR == '*') {
 	/* relative or absolute location path */
@@ -8942,7 +8995,7 @@
 		NEXT;
 		SKIP_BLANKS;
 		if ((CUR != 0 ) &&
-		    ((IS_LETTER_CH(CUR)) || (CUR == '_') || (CUR == '.') ||
+		    ((IS_ASCII_LETTER(CUR)) || (CUR == '_') || (CUR == '.') ||
 		     (CUR == '@') || (CUR == '*')))
 		    xmlXPathCompRelativeLocationPath(ctxt);
 	    }
@@ -10384,10 +10437,14 @@
         case XPATH_OP_ARG:
 	    bakd = ctxt->context->doc;
 	    bak = ctxt->context->node;
+	    pp = ctxt->context->proximityPosition;
+	    cs = ctxt->context->contextSize;
             if (op->ch1 != -1)
                 total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
+	    ctxt->context->contextSize = cs;
+	    ctxt->context->proximityPosition = pp;
+	    ctxt->context->node = bak;
 	    ctxt->context->doc = bakd;
-	    ctxt->context->node = bak;
 	    CHECK_ERROR0;
             if (op->ch2 != -1) {
                 total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]);
@@ -10403,6 +10460,7 @@
                 xmlNodeSetPtr newset = NULL;
                 xmlNodeSetPtr oldset;
                 xmlNodePtr oldnode;
+		xmlDocPtr oldDoc;
                 int i;
 
                 /*
@@ -10587,6 +10645,7 @@
                 oldset = obj->nodesetval;
 
                 oldnode = ctxt->context->node;
+		oldDoc = ctxt->context->doc;
                 ctxt->context->node = NULL;
 
                 if ((oldset == NULL) || (oldset->nodeNr == 0)) {
@@ -10608,6 +10667,8 @@
                 } else {
                     /*
                      * Initialize the new set.
+		     * Also set the xpath document in case things like
+		     * key() evaluation are attempted on the predicate
                      */
                     newset = xmlXPathNodeSetCreate(NULL);
 
@@ -10617,6 +10678,9 @@
                          * a single item in the nodeset.
                          */
                         ctxt->context->node = oldset->nodeTab[i];
+			if ((oldset->nodeTab[i]->type != XML_NAMESPACE_DECL) &&
+			    (oldset->nodeTab[i]->doc != NULL))
+		            ctxt->context->doc = oldset->nodeTab[i]->doc;
                         tmp = xmlXPathNewNodeSet(ctxt->context->node);
                         valuePush(ctxt, tmp);
                         ctxt->context->contextSize = oldset->nodeNr;
@@ -10657,6 +10721,8 @@
                     ctxt->context->node = NULL;
                     ctxt->context->contextSize = -1;
                     ctxt->context->proximityPosition = -1;
+		    /* may want to move this past the '}' later */
+		    ctxt->context->doc = oldDoc;
                     valuePush(ctxt, xmlXPathWrapNodeSet(newset));
                 }
                 ctxt->context->node = oldnode;
@@ -10884,7 +10950,7 @@
  */
 int
 xmlXPathEvalPredicate(xmlXPathContextPtr ctxt, xmlXPathObjectPtr res) {
-    if (res == NULL) return(0);
+    if ((ctxt == NULL) || (res == NULL)) return(0);
     switch (res->type) {
         case XPATH_BOOLEAN:
 	    return(res->boolval);
@@ -10923,7 +10989,7 @@
 int
 xmlXPathEvaluatePredicateResult(xmlXPathParserContextPtr ctxt, 
                                 xmlXPathObjectPtr res) {
-    if (res == NULL) return(0);
+    if ((ctxt == NULL) || (res == NULL)) return(0);
     switch (res->type) {
         case XPATH_BOOLEAN:
 	    return(res->boolval);
@@ -11106,6 +11172,7 @@
  */
 void
 xmlXPathEvalExpr(xmlXPathParserContextPtr ctxt) {
+    if (ctxt == NULL) return;
     xmlXPathCompileExpr(ctxt);
     CHECK_ERROR;
     xmlXPathRunEval(ctxt);

Modified: packages/libxml2/branches/unstable/xpointer.c
===================================================================
--- packages/libxml2/branches/unstable/xpointer.c	2005-02-09 17:21:54 UTC (rev 351)
+++ packages/libxml2/branches/unstable/xpointer.c	2005-02-16 19:06:11 UTC (rev 352)
@@ -559,7 +559,7 @@
 		return(NULL);
 	    break;
 	default:
-	    TODO
+	    /* TODO */
 	    return(NULL);
     }
 
@@ -642,7 +642,7 @@
 xmlXPtrLocationSetAdd(xmlLocationSetPtr cur, xmlXPathObjectPtr val) {
     int i;
 
-    if (val == NULL) return;
+    if ((cur == NULL) || (val == NULL)) return;
 
     /*
      * check against doublons
@@ -2227,6 +2227,7 @@
     xmlNodeSetPtr oldset;
     int i;
 
+    if (ctxt == NULL) return;
     CHECK_ARITY(1);
     /*
      * Save the expression pointer since we will have to evaluate
@@ -2904,6 +2905,8 @@
     xmlLocationSetPtr oldset;
     int i;
 
+    if (ctxt == NULL) return;
+
     SKIP_BLANKS;
     if (CUR != '[') {
 	XP_ERROR(XPATH_INVALID_PREDICATE_ERROR);

Copied: packages/libxml2/branches/unstable/xstc (from rev 351, packages/libxml2/tags/2.6.16-2/xstc)




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