[xml/sgml-commit] r189 - in packages/libxml2/trunk: . debian doc doc/examples doc/html doc/tutorial example include/libxml python python/tests result result/XInclude result/errors result/noent result/schemas result/valid test test/errors test/schemas test/valid win32

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


Author: glandium-guest
Date: 2004-07-06 07:30:31 -0600 (Tue, 06 Jul 2004)
New Revision: 189

Added:
   packages/libxml2/trunk/doc/APIchunk27.html
   packages/libxml2/trunk/doc/elfgcchack.xsl
   packages/libxml2/trunk/elfgcchack.h
   packages/libxml2/trunk/python/tests/sync.py
   packages/libxml2/trunk/regressions.py
   packages/libxml2/trunk/regressions.xml
   packages/libxml2/trunk/result/att1.rde
   packages/libxml2/trunk/result/att2.rde
   packages/libxml2/trunk/result/att3.rde
   packages/libxml2/trunk/result/att4.rde
   packages/libxml2/trunk/result/att5.rde
   packages/libxml2/trunk/result/att6.rde
   packages/libxml2/trunk/result/att7.rde
   packages/libxml2/trunk/result/att8.rde
   packages/libxml2/trunk/result/attrib.xml.rde
   packages/libxml2/trunk/result/bigentname.xml.rde
   packages/libxml2/trunk/result/bigname.xml.rde
   packages/libxml2/trunk/result/bigname2.xml.rde
   packages/libxml2/trunk/result/cdata.rde
   packages/libxml2/trunk/result/cdata2.rde
   packages/libxml2/trunk/result/comment.xml.rde
   packages/libxml2/trunk/result/comment2.xml.rde
   packages/libxml2/trunk/result/dav1.rde
   packages/libxml2/trunk/result/dav10.rde
   packages/libxml2/trunk/result/dav11.rde
   packages/libxml2/trunk/result/dav12.rde
   packages/libxml2/trunk/result/dav13.rde
   packages/libxml2/trunk/result/dav15.rde
   packages/libxml2/trunk/result/dav16.rde
   packages/libxml2/trunk/result/dav17.rde
   packages/libxml2/trunk/result/dav18.rde
   packages/libxml2/trunk/result/dav19.rde
   packages/libxml2/trunk/result/dav2.rde
   packages/libxml2/trunk/result/dav3.rde
   packages/libxml2/trunk/result/dav4.rde
   packages/libxml2/trunk/result/dav5.rde
   packages/libxml2/trunk/result/dav6.rde
   packages/libxml2/trunk/result/dav7.rde
   packages/libxml2/trunk/result/dav8.rde
   packages/libxml2/trunk/result/dav9.rde
   packages/libxml2/trunk/result/defattr.xml.rde
   packages/libxml2/trunk/result/defattr2.xml.rde
   packages/libxml2/trunk/result/dia1.rde
   packages/libxml2/trunk/result/dia2.rde
   packages/libxml2/trunk/result/dtd1.rde
   packages/libxml2/trunk/result/dtd10.rde
   packages/libxml2/trunk/result/dtd11.rde
   packages/libxml2/trunk/result/dtd12.rde
   packages/libxml2/trunk/result/dtd13.rde
   packages/libxml2/trunk/result/dtd2.rde
   packages/libxml2/trunk/result/dtd3.rde
   packages/libxml2/trunk/result/dtd4.rde
   packages/libxml2/trunk/result/dtd5.rde
   packages/libxml2/trunk/result/dtd6.rde
   packages/libxml2/trunk/result/dtd7.rde
   packages/libxml2/trunk/result/dtd8.rde
   packages/libxml2/trunk/result/dtd9.rde
   packages/libxml2/trunk/result/ent1.rde
   packages/libxml2/trunk/result/ent2.rde
   packages/libxml2/trunk/result/ent3.rde
   packages/libxml2/trunk/result/ent4.rde
   packages/libxml2/trunk/result/ent5.rde
   packages/libxml2/trunk/result/ent6.rde
   packages/libxml2/trunk/result/ent7.rde
   packages/libxml2/trunk/result/ent8.rde
   packages/libxml2/trunk/result/ent9
   packages/libxml2/trunk/result/ent9.rde
   packages/libxml2/trunk/result/ent9.rdr
   packages/libxml2/trunk/result/ent9.sax
   packages/libxml2/trunk/result/errors/charref1.xml
   packages/libxml2/trunk/result/errors/charref1.xml.err
   packages/libxml2/trunk/result/errors/charref1.xml.str
   packages/libxml2/trunk/result/eve.xml.rde
   packages/libxml2/trunk/result/intsubset.xml.rde
   packages/libxml2/trunk/result/isolat1.rde
   packages/libxml2/trunk/result/isolat2.rde
   packages/libxml2/trunk/result/isolat3.rde
   packages/libxml2/trunk/result/noent/ent9
   packages/libxml2/trunk/result/ns.rde
   packages/libxml2/trunk/result/ns2.rde
   packages/libxml2/trunk/result/ns3.rde
   packages/libxml2/trunk/result/ns4.rde
   packages/libxml2/trunk/result/p3p.rde
   packages/libxml2/trunk/result/pi.xml.rde
   packages/libxml2/trunk/result/pi2.xml.rde
   packages/libxml2/trunk/result/rdf1.rde
   packages/libxml2/trunk/result/rdf2.rde
   packages/libxml2/trunk/result/schemas/anyAttr-derive-errors1_0_0
   packages/libxml2/trunk/result/schemas/anyAttr-derive-errors1_0_0.err
   packages/libxml2/trunk/result/schemas/anyAttr-derive1_0_0
   packages/libxml2/trunk/result/schemas/anyAttr-derive1_0_0.err
   packages/libxml2/trunk/result/schemas/anyAttr-derive2_0_0
   packages/libxml2/trunk/result/schemas/anyAttr-derive2_0_0.err
   packages/libxml2/trunk/result/schemas/anyAttr-processContents-err1_0_0
   packages/libxml2/trunk/result/schemas/anyAttr-processContents-err1_0_0.err
   packages/libxml2/trunk/result/schemas/anyAttr-processContents1_0_0
   packages/libxml2/trunk/result/schemas/anyAttr-processContents1_0_0.err
   packages/libxml2/trunk/result/schemas/anyAttr1_0_0
   packages/libxml2/trunk/result/schemas/anyAttr1_0_0.err
   packages/libxml2/trunk/result/schemas/bug141312_0_0
   packages/libxml2/trunk/result/schemas/bug141312_0_0.err
   packages/libxml2/trunk/result/schemas/bug143951_0_0
   packages/libxml2/trunk/result/schemas/bug143951_0_0.err
   packages/libxml2/trunk/result/schemas/cos-ct-extends-1-3_0_0
   packages/libxml2/trunk/result/schemas/cos-ct-extends-1-3_0_0.err
   packages/libxml2/trunk/result/schemas/cos-st-restricts-1-2-err_0_0
   packages/libxml2/trunk/result/schemas/cos-st-restricts-1-2-err_0_0.err
   packages/libxml2/trunk/result/schemas/derivation-ok-extension-err_0_0
   packages/libxml2/trunk/result/schemas/derivation-ok-extension-err_0_0.err
   packages/libxml2/trunk/result/schemas/derivation-ok-extension_0_0
   packages/libxml2/trunk/result/schemas/derivation-ok-extension_0_0.err
   packages/libxml2/trunk/result/schemas/derivation-ok-restriction-2-1-1_0_0
   packages/libxml2/trunk/result/schemas/derivation-ok-restriction-2-1-1_0_0.err
   packages/libxml2/trunk/result/schemas/derivation-ok-restriction-4-1-err_0_0
   packages/libxml2/trunk/result/schemas/derivation-ok-restriction-4-1-err_0_0.err
   packages/libxml2/trunk/result/schemas/derivation-restriction-anyAttr_0_0
   packages/libxml2/trunk/result/schemas/derivation-restriction-anyAttr_0_0.err
   packages/libxml2/trunk/result/schemas/facet-unionST-err1_0_0
   packages/libxml2/trunk/result/schemas/facet-unionST-err1_0_0.err
   packages/libxml2/trunk/result/schemas/scc-no-xmlns_0_0
   packages/libxml2/trunk/result/schemas/scc-no-xmlns_0_0.err
   packages/libxml2/trunk/result/schemas/scc-no-xsi_0_0
   packages/libxml2/trunk/result/schemas/scc-no-xsi_0_0.err
   packages/libxml2/trunk/result/schemas/src-attribute1_0_0
   packages/libxml2/trunk/result/schemas/src-attribute1_0_0.err
   packages/libxml2/trunk/result/schemas/src-attribute2_0_0
   packages/libxml2/trunk/result/schemas/src-attribute2_0_0.err
   packages/libxml2/trunk/result/schemas/src-attribute3-1_0_0
   packages/libxml2/trunk/result/schemas/src-attribute3-1_0_0.err
   packages/libxml2/trunk/result/schemas/src-attribute3-2-form_0_0
   packages/libxml2/trunk/result/schemas/src-attribute3-2-form_0_0.err
   packages/libxml2/trunk/result/schemas/src-attribute3-2-st_0_0
   packages/libxml2/trunk/result/schemas/src-attribute3-2-st_0_0.err
   packages/libxml2/trunk/result/schemas/src-attribute3-2-type_0_0
   packages/libxml2/trunk/result/schemas/src-attribute3-2-type_0_0.err
   packages/libxml2/trunk/result/schemas/src-attribute4_0_0
   packages/libxml2/trunk/result/schemas/src-attribute4_0_0.err
   packages/libxml2/trunk/result/schemas/src-element1_0_0
   packages/libxml2/trunk/result/schemas/src-element1_0_0.err
   packages/libxml2/trunk/result/schemas/src-element2-1_0_0
   packages/libxml2/trunk/result/schemas/src-element2-1_0_0.err
   packages/libxml2/trunk/result/schemas/src-element2-2_0_0
   packages/libxml2/trunk/result/schemas/src-element2-2_0_0.err
   packages/libxml2/trunk/result/schemas/src-element3_0_0
   packages/libxml2/trunk/result/schemas/src-element3_0_0.err
   packages/libxml2/trunk/result/schemas/xsd-simpleType-varieties_0_0
   packages/libxml2/trunk/result/schemas/xsd-simpleType-varieties_0_0.err
   packages/libxml2/trunk/result/slashdot.rdf.rde
   packages/libxml2/trunk/result/slashdot.xml.rde
   packages/libxml2/trunk/result/slashdot16.xml.rde
   packages/libxml2/trunk/result/svg1.rde
   packages/libxml2/trunk/result/svg2.rde
   packages/libxml2/trunk/result/svg3.rde
   packages/libxml2/trunk/result/title.xml.rde
   packages/libxml2/trunk/result/tstblanks.xml.rde
   packages/libxml2/trunk/result/utf16bebom.xml.rde
   packages/libxml2/trunk/result/utf16bom.xml.rde
   packages/libxml2/trunk/result/utf16lebom.xml.rde
   packages/libxml2/trunk/result/utf8bom.xml.rde
   packages/libxml2/trunk/result/valid/t10.xml
   packages/libxml2/trunk/result/valid/t10.xml.err
   packages/libxml2/trunk/result/wap.xml.rde
   packages/libxml2/trunk/result/wml.xml.rde
   packages/libxml2/trunk/result/xhtml1.rde
   packages/libxml2/trunk/result/xhtmlcomp.rde
   packages/libxml2/trunk/result/xml1.rde
   packages/libxml2/trunk/result/xml2.rde
   packages/libxml2/trunk/test/ent9
   packages/libxml2/trunk/test/errors/.memdump
   packages/libxml2/trunk/test/errors/charref1.xml
   packages/libxml2/trunk/test/schemas/anyAttr-derive-errors1_0.xml
   packages/libxml2/trunk/test/schemas/anyAttr-derive-errors1_0.xsd
   packages/libxml2/trunk/test/schemas/anyAttr-derive1_0.xml
   packages/libxml2/trunk/test/schemas/anyAttr-derive1_0.xsd
   packages/libxml2/trunk/test/schemas/anyAttr-derive2_0.xml
   packages/libxml2/trunk/test/schemas/anyAttr-derive2_0.xsd
   packages/libxml2/trunk/test/schemas/anyAttr-errors1_0.xml
   packages/libxml2/trunk/test/schemas/anyAttr-processContents-err1_0.xml
   packages/libxml2/trunk/test/schemas/anyAttr-processContents-err1_0.xsd
   packages/libxml2/trunk/test/schemas/anyAttr-processContents1_0.xml
   packages/libxml2/trunk/test/schemas/anyAttr-processContents1_0.xsd
   packages/libxml2/trunk/test/schemas/anyAttr.importA.1_0.xsd
   packages/libxml2/trunk/test/schemas/anyAttr.importB.1_0.xsd
   packages/libxml2/trunk/test/schemas/anyAttr1_0.xml
   packages/libxml2/trunk/test/schemas/anyAttr1_0.xsd
   packages/libxml2/trunk/test/schemas/bug141312_0.xml
   packages/libxml2/trunk/test/schemas/bug141312_0.xsd
   packages/libxml2/trunk/test/schemas/bug141333.xml
   packages/libxml2/trunk/test/schemas/bug141333.xsd
   packages/libxml2/trunk/test/schemas/bug143951.imp
   packages/libxml2/trunk/test/schemas/bug143951_0.xml
   packages/libxml2/trunk/test/schemas/bug143951_0.xsd
   packages/libxml2/trunk/test/schemas/cos-ct-extends-1-3_0.xml
   packages/libxml2/trunk/test/schemas/cos-ct-extends-1-3_0.xsd
   packages/libxml2/trunk/test/schemas/cos-st-restricts-1-2-err_0.xml
   packages/libxml2/trunk/test/schemas/cos-st-restricts-1-2-err_0.xsd
   packages/libxml2/trunk/test/schemas/derivation-ok-extension-err_0.xml
   packages/libxml2/trunk/test/schemas/derivation-ok-extension-err_0.xsd
   packages/libxml2/trunk/test/schemas/derivation-ok-extension_0.xml
   packages/libxml2/trunk/test/schemas/derivation-ok-extension_0.xsd
   packages/libxml2/trunk/test/schemas/derivation-ok-restriction-2-1-1_0.xml
   packages/libxml2/trunk/test/schemas/derivation-ok-restriction-2-1-1_0.xsd
   packages/libxml2/trunk/test/schemas/derivation-ok-restriction-4-1-err_0.xml
   packages/libxml2/trunk/test/schemas/derivation-ok-restriction-4-1-err_0.xsd
   packages/libxml2/trunk/test/schemas/derivation-restriction-anyAttr_0.xml
   packages/libxml2/trunk/test/schemas/derivation-restriction-anyAttr_0.xsd
   packages/libxml2/trunk/test/schemas/derivation-restriction-anyType.xml
   packages/libxml2/trunk/test/schemas/derivation-restriction-anyType.xsd
   packages/libxml2/trunk/test/schemas/facet-unionST-err1_0.xml
   packages/libxml2/trunk/test/schemas/facet-unionST-err1_0.xsd
   packages/libxml2/trunk/test/schemas/scc-no-xmlns_0.xml
   packages/libxml2/trunk/test/schemas/scc-no-xmlns_0.xsd
   packages/libxml2/trunk/test/schemas/scc-no-xsi_0.xml
   packages/libxml2/trunk/test/schemas/scc-no-xsi_0.xsd
   packages/libxml2/trunk/test/schemas/src-attribute1_0.xml
   packages/libxml2/trunk/test/schemas/src-attribute1_0.xsd
   packages/libxml2/trunk/test/schemas/src-attribute2_0.xml
   packages/libxml2/trunk/test/schemas/src-attribute2_0.xsd
   packages/libxml2/trunk/test/schemas/src-attribute3-1_0.xml
   packages/libxml2/trunk/test/schemas/src-attribute3-1_0.xsd
   packages/libxml2/trunk/test/schemas/src-attribute3-2-form_0.xml
   packages/libxml2/trunk/test/schemas/src-attribute3-2-form_0.xsd
   packages/libxml2/trunk/test/schemas/src-attribute3-2-st_0.xml
   packages/libxml2/trunk/test/schemas/src-attribute3-2-st_0.xsd
   packages/libxml2/trunk/test/schemas/src-attribute3-2-type_0.xml
   packages/libxml2/trunk/test/schemas/src-attribute3-2-type_0.xsd
   packages/libxml2/trunk/test/schemas/src-attribute4_0.xml
   packages/libxml2/trunk/test/schemas/src-attribute4_0.xsd
   packages/libxml2/trunk/test/schemas/src-element1_0.xml
   packages/libxml2/trunk/test/schemas/src-element1_0.xsd
   packages/libxml2/trunk/test/schemas/src-element2-1_0.xml
   packages/libxml2/trunk/test/schemas/src-element2-1_0.xsd
   packages/libxml2/trunk/test/schemas/src-element2-2_0.xml
   packages/libxml2/trunk/test/schemas/src-element2-2_0.xsd
   packages/libxml2/trunk/test/schemas/src-element3_0.xml
   packages/libxml2/trunk/test/schemas/src-element3_0.xsd
   packages/libxml2/trunk/test/schemas/xsd-simpleType-varieties_0.xml
   packages/libxml2/trunk/test/schemas/xsd-simpleType-varieties_0.xsd
   packages/libxml2/trunk/test/valid/t10.xml
Removed:
   packages/libxml2/trunk/ltconfig
Modified:
   packages/libxml2/trunk/ChangeLog
   packages/libxml2/trunk/Makefile.am
   packages/libxml2/trunk/Makefile.in
   packages/libxml2/trunk/NEWS
   packages/libxml2/trunk/SAX2.c
   packages/libxml2/trunk/c14n.c
   packages/libxml2/trunk/catalog.c
   packages/libxml2/trunk/configure
   packages/libxml2/trunk/configure.in
   packages/libxml2/trunk/debian/changelog
   packages/libxml2/trunk/debugXML.c
   packages/libxml2/trunk/doc/APIchunk0.html
   packages/libxml2/trunk/doc/APIchunk1.html
   packages/libxml2/trunk/doc/APIchunk10.html
   packages/libxml2/trunk/doc/APIchunk11.html
   packages/libxml2/trunk/doc/APIchunk12.html
   packages/libxml2/trunk/doc/APIchunk13.html
   packages/libxml2/trunk/doc/APIchunk14.html
   packages/libxml2/trunk/doc/APIchunk15.html
   packages/libxml2/trunk/doc/APIchunk16.html
   packages/libxml2/trunk/doc/APIchunk17.html
   packages/libxml2/trunk/doc/APIchunk18.html
   packages/libxml2/trunk/doc/APIchunk19.html
   packages/libxml2/trunk/doc/APIchunk2.html
   packages/libxml2/trunk/doc/APIchunk20.html
   packages/libxml2/trunk/doc/APIchunk21.html
   packages/libxml2/trunk/doc/APIchunk22.html
   packages/libxml2/trunk/doc/APIchunk23.html
   packages/libxml2/trunk/doc/APIchunk24.html
   packages/libxml2/trunk/doc/APIchunk25.html
   packages/libxml2/trunk/doc/APIchunk26.html
   packages/libxml2/trunk/doc/APIchunk3.html
   packages/libxml2/trunk/doc/APIchunk4.html
   packages/libxml2/trunk/doc/APIchunk5.html
   packages/libxml2/trunk/doc/APIchunk6.html
   packages/libxml2/trunk/doc/APIchunk7.html
   packages/libxml2/trunk/doc/APIchunk8.html
   packages/libxml2/trunk/doc/APIchunk9.html
   packages/libxml2/trunk/doc/APIconstructors.html
   packages/libxml2/trunk/doc/APIfiles.html
   packages/libxml2/trunk/doc/APIfunctions.html
   packages/libxml2/trunk/doc/APIsymbols.html
   packages/libxml2/trunk/doc/FAQ.html
   packages/libxml2/trunk/doc/Makefile.am
   packages/libxml2/trunk/doc/Makefile.in
   packages/libxml2/trunk/doc/apibuild.py
   packages/libxml2/trunk/doc/examples/Makefile.am
   packages/libxml2/trunk/doc/examples/Makefile.in
   packages/libxml2/trunk/doc/examples/examples.xml
   packages/libxml2/trunk/doc/examples/index.py
   packages/libxml2/trunk/doc/examples/io2.c
   packages/libxml2/trunk/doc/examples/parse4.c
   packages/libxml2/trunk/doc/examples/testWriter.c
   packages/libxml2/trunk/doc/html/libxml-SAX2.html
   packages/libxml2/trunk/doc/html/libxml-globals.html
   packages/libxml2/trunk/doc/html/libxml-parser.html
   packages/libxml2/trunk/doc/html/libxml-schemasInternals.html
   packages/libxml2/trunk/doc/html/libxml-tree.html
   packages/libxml2/trunk/doc/html/libxml-uri.html
   packages/libxml2/trunk/doc/html/libxml-xmlerror.html
   packages/libxml2/trunk/doc/html/libxml-xmlmemory.html
   packages/libxml2/trunk/doc/html/libxml-xmlreader.html
   packages/libxml2/trunk/doc/html/libxml-xmlsave.html
   packages/libxml2/trunk/doc/html/libxml-xmlschemastypes.html
   packages/libxml2/trunk/doc/libxml2-api.xml
   packages/libxml2/trunk/doc/libxml2.xsa
   packages/libxml2/trunk/doc/news.html
   packages/libxml2/trunk/doc/tutorial/apa.html
   packages/libxml2/trunk/doc/tutorial/apd.html
   packages/libxml2/trunk/doc/tutorial/api.html
   packages/libxml2/trunk/doc/tutorial/ar01s02.html
   packages/libxml2/trunk/doc/tutorial/ar01s03.html
   packages/libxml2/trunk/doc/tutorial/ar01s04.html
   packages/libxml2/trunk/doc/tutorial/ar01s06.html
   packages/libxml2/trunk/doc/tutorial/ar01s07.html
   packages/libxml2/trunk/doc/tutorial/ar01s08.html
   packages/libxml2/trunk/doc/tutorial/ar01s09.html
   packages/libxml2/trunk/doc/tutorial/includexpath.c
   packages/libxml2/trunk/doc/tutorial/index.html
   packages/libxml2/trunk/doc/tutorial/ix01.html
   packages/libxml2/trunk/doc/tutorial/xmltutorial.pdf
   packages/libxml2/trunk/doc/xml.html
   packages/libxml2/trunk/doc/xmlcatalog.1
   packages/libxml2/trunk/doc/xmlcatalog_man.xml
   packages/libxml2/trunk/doc/xmllint.1
   packages/libxml2/trunk/doc/xmllint.html
   packages/libxml2/trunk/doc/xmllint.xml
   packages/libxml2/trunk/example/Makefile.am
   packages/libxml2/trunk/example/Makefile.in
   packages/libxml2/trunk/globals.c
   packages/libxml2/trunk/include/libxml/DOCBparser.h
   packages/libxml2/trunk/include/libxml/HTMLparser.h
   packages/libxml2/trunk/include/libxml/HTMLtree.h
   packages/libxml2/trunk/include/libxml/SAX.h
   packages/libxml2/trunk/include/libxml/c14n.h
   packages/libxml2/trunk/include/libxml/globals.h
   packages/libxml2/trunk/include/libxml/nanoftp.h
   packages/libxml2/trunk/include/libxml/parser.h
   packages/libxml2/trunk/include/libxml/pattern.h
   packages/libxml2/trunk/include/libxml/relaxng.h
   packages/libxml2/trunk/include/libxml/schemasInternals.h
   packages/libxml2/trunk/include/libxml/uri.h
   packages/libxml2/trunk/include/libxml/valid.h
   packages/libxml2/trunk/include/libxml/xinclude.h
   packages/libxml2/trunk/include/libxml/xmlIO.h
   packages/libxml2/trunk/include/libxml/xmlerror.h
   packages/libxml2/trunk/include/libxml/xmlreader.h
   packages/libxml2/trunk/include/libxml/xmlsave.h
   packages/libxml2/trunk/include/libxml/xmlschemastypes.h
   packages/libxml2/trunk/include/libxml/xmlunicode.h
   packages/libxml2/trunk/include/libxml/xmlversion.h
   packages/libxml2/trunk/include/libxml/xmlwriter.h
   packages/libxml2/trunk/include/libxml/xpath.h
   packages/libxml2/trunk/include/libxml/xpathInternals.h
   packages/libxml2/trunk/include/libxml/xpointer.h
   packages/libxml2/trunk/libxml.h
   packages/libxml2/trunk/libxml.m4
   packages/libxml2/trunk/libxml.spec.in
   packages/libxml2/trunk/libxml2.spec
   packages/libxml2/trunk/nanohttp.c
   packages/libxml2/trunk/parser.c
   packages/libxml2/trunk/python/generator.py
   packages/libxml2/trunk/python/libxml.c
   packages/libxml2/trunk/python/libxml.py
   packages/libxml2/trunk/python/libxml2-py.c
   packages/libxml2/trunk/python/libxml2-python-api.xml
   packages/libxml2/trunk/python/setup.py
   packages/libxml2/trunk/python/tests/Makefile.am
   packages/libxml2/trunk/python/tests/Makefile.in
   packages/libxml2/trunk/relaxng.c
   packages/libxml2/trunk/result/XInclude/docids.xml
   packages/libxml2/trunk/result/XInclude/include.xml
   packages/libxml2/trunk/result/XInclude/nodes.xml
   packages/libxml2/trunk/result/XInclude/nodes2.xml
   packages/libxml2/trunk/result/XInclude/recursive.xml
   packages/libxml2/trunk/result/errors/attr1.xml.str
   packages/libxml2/trunk/result/errors/attr2.xml.str
   packages/libxml2/trunk/result/errors/name.xml.str
   packages/libxml2/trunk/result/errors/name2.xml.str
   packages/libxml2/trunk/result/schemas/attruse_0_1.err
   packages/libxml2/trunk/result/schemas/attruse_0_2.err
   packages/libxml2/trunk/result/schemas/extension1_0_1.err
   packages/libxml2/trunk/result/schemas/extension1_0_2.err
   packages/libxml2/trunk/result/schemas/hexbinary_0_1.err
   packages/libxml2/trunk/result/schemas/length3_0_0.err
   packages/libxml2/trunk/result/schemas/ns0_0_3.err
   packages/libxml2/trunk/result/schemas/ns0_0_4.err
   packages/libxml2/trunk/result/schemas/ns0_1_0.err
   packages/libxml2/trunk/result/schemas/ns0_1_1.err
   packages/libxml2/trunk/result/schemas/vdv-first4_0_1.err
   packages/libxml2/trunk/result/schemas/vdv-first4_0_2.err
   packages/libxml2/trunk/test/schemas/date_0.xml
   packages/libxml2/trunk/testHTML.c
   packages/libxml2/trunk/testSAX.c
   packages/libxml2/trunk/uri.c
   packages/libxml2/trunk/valid.c
   packages/libxml2/trunk/win32/Makefile.bcb
   packages/libxml2/trunk/win32/Makefile.mingw
   packages/libxml2/trunk/win32/Makefile.msvc
   packages/libxml2/trunk/win32/configure.js
   packages/libxml2/trunk/win32/libxml2.def.src
   packages/libxml2/trunk/xinclude.c
   packages/libxml2/trunk/xmlIO.c
   packages/libxml2/trunk/xmllint.c
   packages/libxml2/trunk/xmlmemory.c
   packages/libxml2/trunk/xmlreader.c
   packages/libxml2/trunk/xmlsave.c
   packages/libxml2/trunk/xmlschemas.c
   packages/libxml2/trunk/xmlschemastypes.c
   packages/libxml2/trunk/xpath.c
Log:
New upstream release merged. Applied autogen.sh. Removed debian changes to libxml.m4, since they have been included upstream.


Modified: packages/libxml2/trunk/ChangeLog
===================================================================
--- packages/libxml2/trunk/ChangeLog	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/ChangeLog	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,3 +1,322 @@
+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
+	  docs
+
+Mon Jul  5 18:43:47 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* parser.c: make the push interfaces synchronous
+	* python/tests/sync.py: added a specific test
+	* python/tests/Makefile.am doc/examples/Makefile.am
+	  doc/examples/index.py: added the new test, cleaning up 
+	  "make tests" output
+
+Mon Jul  5 15:09:17 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemas.c: applied patch from Kasimier to fix some Relax-NG
+	  datatype facet problem with recent changes.
+
+Sat Jul  3 11:31:02 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* python/libxml.c: Changed the number of XPath extension functions
+	  allowed to be variable-length (patch supplied by Marc-Antoine
+	  Parent, bug 143805).  Added code to "unregister" the functions
+	  when the parser cleanup takes place.
+
+Fri Jul  2 14:22:14 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlmemory.c python/libxml.c python/libxml2-python-api.xml:
+	  some updates with memory debugging facilities while messing
+	  with libxslt python bindings
+
+Thu Jul  1 14:53:36 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* python/libxml.c python/generator.py python/libxml.py
+	  python/libxml2-python-api.xml python/libxml2class.txt:
+	  applied patch from Stéphane Bidoul to fix some Python bindings
+	  initialization, then had to change the parserCleanup() 
+	  to handle memory released there.
+	* xmlmemory.c: added more debugging comments.
+
+Thu Jul  1 13:18:02 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlreader.c: seems the reader buffer could be used while not
+	  allocated, fixes bug #145218
+
+Thu Jul  1 11:34:10 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* python/generator.py: do not provide functions used as destructor
+	  of classes as public methods to avoid double-free problem like
+	  in bug #145185
+
+Wed Jun 30 19:45:23 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xmlschemas.c, xmlschemastypes.c: warning message cleanup.
+	  Now compiles warning-free, all tests passed.
+	* SAX2.c: small change to comments for documentation.
+	  No change to logic.
+
+Tue Jun 29 15:00:13 PDT 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemas.c: more fixes with Kasimier, looks far cleaner :-)
+
+Tue Jun 29 23:00:05 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemas.c: Kasimier Buchcik fixed the memory access and
+	  allocation problem
+
+Tue Jun 29 19:00:32 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h
+	  include/libxml/schemasInternals.h include/libxml/xmlschemastypes.h:
+	  applied Schemas patches from Kasimier Buchcik, there is still
+	  one open issue about referencing freed memory.
+	* test/schemas/* result/schemas/*: updated with new tests from 
+	  Kasimier
+
+Tue Jun 29 14:52:18 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* include/libxml/globals.h include/libxml/xmlIO.h
+	  doc/libxml2-api.xml doc/libxml2-refs.xml: moved some definitions
+	  to globals.h to avoid some troubles pointed out by Rob Richards
+
+Mon Jun 28 11:25:31 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* libxml.m4: applied changes suggested by Mike Hommey, remove
+	  libxml1 support and use CPPFLAGS instead of CFLAGS
+
+Sun Jun 27 14:17:15 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* libxml.spec.in: another, more 'experimental' feature to 
+	  get compiler optimization based on gcc runtime profiling
+
+Sun Jun 27 14:02:36 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* elfgcchack.h doc/elfgcchack.xsl libxml.h: hack based on Arjan van de
+	  Ven suggestion to reduce ELF footprint and generated code. Based on
+	  aliasing of libraries function to generate direct call instead of
+	  indirect ones
+	* doc/libxml2-api.xml doc/Makefile.am doc/apibuild.py: added automatic
+	  generation of elfgcchack.h based on the API description, extended
+	  the API description to show the conditionals configuration flags
+	  required for symbols.
+	* nanohttp.c parser.c xmlsave.c include/libxml/*.h: lot of cleanup
+	* doc/*: regenerated the docs.
+
+Sun Jun 27 10:02:28 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* regressions.py, regressions.xml: new files for running
+	  regression tests under Python.  Not yet complete, but
+	  should provide good testing under both Linux and Windows.
+	* 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"
+	* result/XInclude/*: 5 test results changed by above.
+	* Makefile.am: fixed a couple of spots where a new
+	  result file used different flags that the testing one.
+
+Thu Jun 24 16:27:44 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* valid.c: suppressed warnings from within xmlValidGetValidElements
+	  (bug 144644)
+	* doc/examples/testWriter.c: corrected typo in comment for ISO-8859-1
+	  (bug 144245)
+
+Thu Jun 24 10:17:31 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* valid.c: implemented bugfix from Massimo Morara for DTD
+	  dumping problem.
+	* test/valid/t10.xml, result/valid/t10.*: added regression
+	  for above
+	* configure.in: small change for my profile settings
+
+Wed Jun 23 20:18:19 MDT 2004 John Fleck <jfleck at inkstain.net>
+
+	* doc/xmlcatalog_man.xml, xmlcatalog.1
+	Docs patch from Ville Skytta, bugzilla #144841
+
+Sat Jun 19 18:34:11 MDT 2004 John Fleck <jfleck at inkstain.net>
+
+	* doc/xmllint.xml, xmllint.html, xmllint.1
+	update man page to reflect William's newly disciplined return
+	code mojo
+
+Thu Jun 17 00:51:55 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* doc/examples/io2.c doc/examples/parse4.c: fixing a couple of
+	  compilation errors when configured with --with-minimum
+
+Wed Jun 16 16:07:10 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* debugXML.c: applied patch from Stefano Debenedetti to register
+	  namespaces in the debug shell
+
+Mon Jun 14 21:56:31 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlreader.c: fix from Steve Ball and update of the comment.
+	* Makefile.am result/errors/*.str: William pointed out that 
+	  the streaming error checking part wasn't streaming, fixing
+
+Mon Jun 14 14:11:52 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* catalog.c: patch from Igor for the default catalog path on Windows
+
+Sat Jun 12 09:03:57 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* configure.in: apparently wasn't updated last time
+
+Thu Jun 10 20:57:48 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* 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
+	  layout of the Windows binary package
+
+Tue Jun  8 19:50:25 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemas.c include/libxml/xmlerror.h: applied another patch
+	  from Kasimier Buchcik for Schema Component Constraints
+	* test/schemas/* result/schemas/*: added the regression tests
+
+Tue Jun  8 21:27:03 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xmllint.c: fixed missing error return code for schema
+	  validation (bug 143880), also changed over to an enum for
+	  defining the error return codes for all conditions.
+
+Tue Jun  8 14:01:14 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* parser.c xmlreader.c include/libxml/parser.h: fixed a serious
+	  problem when substituing entities using the Reader, the entities
+	  content might be freed and if rereferenced would crash
+	* Makefile.am test/* result/*: added a new test case and a new
+	  test operation for the reader with substitution of entities.
+
+Tue Jun  8 12:14:16 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* globals.c xmlIO.c include/libxml/globals.h include/libxml/xmlIO.h:
+	  applied patch from Rob Richards for the per thread I/O mappings
+
+Tue Jun  8 09:58:31 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xinclude.c: some further enhancement to take care of
+	  xml:base for XPointer elements (bug 143886).  Also fixed
+	  a problem when xml:base was already specified on an
+	  XInclude'd element.
+
+Mon Jun  7 22:14:58 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* relaxng.c: fixed a problem with internal cleanup of <DIV> element
+	  (bug 143738).
+
+Mon Jun  7 16:57:43 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* uri.c, include/libxml/uri.h: added a new routine
+	  xmlBuildRelativeURI needed for enhancement of xinclude.c
+	* xinclude.c: changed handling of xml:base (bug 135864)
+	* result/XInclude/*: results of 5 tests changed as a result
+	  of the above change
+
+Fri Jun  4 11:27:37 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* test/schemas/* result/schemas/*: added a bunch of tests from
+	  Kasimier Buchcik posted on May 11
+
+Thu Jun  3 17:58:25 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemas.c: new patch from  Kasimier Buchcik for processContents
+	  of wildcards attribute handling
+	* test/schemas/anyAttr-* result/schemas/anyAttr-*: added specific
+	  regression tests
+
+Thu Jun  3 13:20:36 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* parser.c: fixed a bug where invalid charrefs may not be detected
+	  sometimes as pointed by Morus Walter.
+	* test/errors/charref1.xm result/errors/charref1.xml*: added the
+	  test in the regression suite.
+
+Thu Jun  3 18:38:27 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xmlschemas.c: small change to xmlSchemaValidateAttributes,
+	  also corrected typo on error code enum.
+	* include/libxml/xmlerror.h: corrected typo on schema error
+	  code enum
+
+Thu Jun  3 10:12:38 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xmlschemas.c: minor cosmetic changes, no change to logic.
+	* result/schemas/attruse_0_[12].err: regenerated
+	* globals.c: added a newline at end to make gcc happy
+
+Wed Jun  2 21:16:26 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* xmlschemas.c include/libxml/schemasInternals.h 
+	  include/libxml/xmlerror.h: applied a patch from Kasimier Buchcik
+	  implementing attribute uses and wildcards.
+	* test/schemas/* result/schemas/*: added/fixed a bunch of tests
+
+Wed Jun  2 18:15:51 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* globals.c xmlIO.c include/libxml/globals.h: applied patch from 
+	  Rob Richards for custom I/O BufferCreateFilenane fixes bug
+	  #143366
+
+Wed Jun 02 16:25:32 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xpath.c: fixed problem with predicate evaluation on an
+	  empty nodeset (bug 143409)
+
+Wed Jun 02 11:26:41 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* testSAX.c: fixed problem with attribute listing (bug 142674)
+	  and added macro LIBXML_TEST_VERSION to assure xmlInitParser
+	  gets called (bug 142686)
+
+Sat May 29 21:35:52 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* test/schemas/date_0.xml xmlschemastypes.c: applied a patch from
+	  Charles Bozeman fixing a side effect in date handling
+
+Thu May 27 19:47:48 MDT 2004 John Fleck <jfleck at inkstain.net>
+
+	* doc/tutorial/xmltutorial.xml fix lack of cast in Xpath example
+	* doc/tutorial/*.html, xmltutorial.pdf rebuild html, pdf
+
+2004-05-25  Aleksey Sanin <aleksey at aleksey.com>
+
+	* c14n.c: fixed c14n bug with serializing attribute namespaces
+
+Mon May 24 08:22:48 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* xpath.c: fixed to allow '+' in exponent of number
+	  (bug 143005)
+	* SAX2.c: fixed typo in last commit
+
+Sat May 22 09:08:24 HKT 2004 William Brack <wbrack at mmm.com.hk>
+
+	* SAX2.c: skipped call to xmlValidateNCName when compiling
+	  --with-minimum (bug 142917)
+
+Tue May 18 06:48:00 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* catalog.c: reverted the broken change.
+
+Mon May 17 23:07:15 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* NEWS doc/*: updated the docs for 2.6.10
+
+Mon May 17 05:52:03 CEST 2004 Daniel Veillard <daniel at veillard.com>
+
+	* configure.in : releasing 2.6.10
+
 Sun May 16 23:12:35 CEST 2004 Daniel Veillard <daniel at veillard.com>
 
 	* tree.c: avoid returning default namespace when searching

Modified: packages/libxml2/trunk/Makefile.am
===================================================================
--- packages/libxml2/trunk/Makefile.am	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/Makefile.am	2004-07-06 13:30:31 UTC (rev 189)
@@ -158,7 +158,7 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
+	      $(CHECKER) $(top_builddir)/testHTML --push $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
 	  else \
 	      log=`$(CHECKER) $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
@@ -191,7 +191,7 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
+	      $(CHECKER) $(top_builddir)/testHTML --push --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
 	  else \
 	      log=`$(CHECKER) $(top_builddir)/testHTML --push --sax $$i 2>&1 > result.$$name.sax ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
@@ -328,12 +328,12 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/errors/$$name.str ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint $$i \
+	      $(CHECKER) $(top_builddir)/xmllint --stream $$i \
 	         2> $(srcdir)/result/errors/$$name.str \
 		 > $(srcdir)/result/errors/$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/errors/$$name result.$$name ; \
 	      diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
@@ -483,7 +483,7 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --walker --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
+	      $(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' ; \
@@ -523,7 +523,7 @@
 	  if [ -f $$xml ] ; then \
 	  if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i > $(srcdir)/result/catalogs/$$name ; \
+	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > $(srcdir)/result/catalogs/$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
 	      log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > result.$$name ; \
@@ -642,6 +642,22 @@
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
+	@echo "## Reader entities substitution regression tests"
+	-@(for i in $(srcdir)/test/* ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/$$name.rde ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > $(srcdir)/result/$$name.rde 2>/dev/null ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	      diff $(srcdir)/result/$$name.rde result.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      rm result.$$name ; \
+	  fi ; fi ; done)
+
 SAXtests : testSAX$(EXEEXT)
 	@(echo > .memdump)
 	@echo "## SAX callbacks regression tests"
@@ -960,16 +976,16 @@
              example/Makefile.am example/gjobread.c example/gjobs.xml \
 	     $(man_MANS) libxml-2.0.pc.in libxml-2.0-uninstalled.pc.in \
 	     trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
-	     triop.h triodef.h libxml.h \
+	     triop.h triodef.h libxml.h elfgcchack.h \
 	     testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
-	     dbgen.pl dbgenattr.pl
+	     dbgen.pl dbgenattr.pl regressions.py regressions.xml
 
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libxml-2.0.pc
 
 #
-# Instll the tests program sources as examples 
+# Install the tests program sources as examples 
 #
 BASE_DIR=$(datadir)/doc
 DOC_MODULE=libxml2-$(VERSION)

Modified: packages/libxml2/trunk/Makefile.in
===================================================================
--- packages/libxml2/trunk/Makefile.in	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/Makefile.in	2004-07-06 13:30:31 UTC (rev 189)
@@ -51,8 +51,7 @@
 	$(srcdir)/libxml-2.0.pc.in $(srcdir)/libxml.spec.in \
 	$(srcdir)/xml2-config.in $(top_srcdir)/configure AUTHORS \
 	COPYING ChangeLog INSTALL NEWS TODO acconfig.h config.guess \
-	config.sub depcomp install-sh ltconfig ltmain.sh missing \
-	mkinstalldirs
+	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
@@ -513,15 +512,15 @@
              example/Makefile.am example/gjobread.c example/gjobs.xml \
 	     $(man_MANS) libxml-2.0.pc.in libxml-2.0-uninstalled.pc.in \
 	     trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
-	     triop.h triodef.h libxml.h \
+	     triop.h triodef.h libxml.h elfgcchack.h \
 	     testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
-	     dbgen.pl dbgenattr.pl
+	     dbgen.pl dbgenattr.pl regressions.py regressions.xml
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libxml-2.0.pc
 
 #
-# Instll the tests program sources as examples 
+# Install the tests program sources as examples 
 #
 BASE_DIR = $(datadir)/doc
 DOC_MODULE = libxml2-$(VERSION)
@@ -1383,7 +1382,7 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
+	      $(CHECKER) $(top_builddir)/testHTML --push $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
 	  else \
 	      log=`$(CHECKER) $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
@@ -1416,7 +1415,7 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
+	      $(CHECKER) $(top_builddir)/testHTML --push --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
 	  else \
 	      log=`$(CHECKER) $(top_builddir)/testHTML --push --sax $$i 2>&1 > result.$$name.sax ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
@@ -1553,12 +1552,12 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/errors/$$name.str ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint $$i \
+	      $(CHECKER) $(top_builddir)/xmllint --stream $$i \
 	         2> $(srcdir)/result/errors/$$name.str \
 		 > $(srcdir)/result/errors/$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/errors/$$name result.$$name ; \
 	      diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
@@ -1708,7 +1707,7 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --walker --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
+	      $(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' ; \
@@ -1748,7 +1747,7 @@
 	  if [ -f $$xml ] ; then \
 	  if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i > $(srcdir)/result/catalogs/$$name ; \
+	      $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > $(srcdir)/result/catalogs/$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
 	      log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > result.$$name ; \
@@ -1867,6 +1866,22 @@
 	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
+	@echo "## Reader entities substitution regression tests"
+	-@(for i in $(srcdir)/test/* ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/$$name.rde ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > $(srcdir)/result/$$name.rde 2>/dev/null ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	      diff $(srcdir)/result/$$name.rde result.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      rm result.$$name ; \
+	  fi ; fi ; done)
+
 SAXtests : testSAX$(EXEEXT)
 	@(echo > .memdump)
 	@echo "## SAX callbacks regression tests"

Modified: packages/libxml2/trunk/NEWS
===================================================================
--- packages/libxml2/trunk/NEWS	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/NEWS	2004-07-06 13:30:31 UTC (rev 189)
@@ -10,6 +10,56 @@
   Schemas
 
 There is the list of public releases:
+2.6.11: July 5 2004:
+   - Schemas: a lot of changes and improvements by Kasimier Buchcik for
+    attributes, namespaces and simple types.
+   - build fixes: --with-minimum (William Brack),  some gcc cleanup
+    (William), --with-thread-alloc (William)
+   - 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), 
+   - 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), 
+    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
+    Python classes, xmlReader buffer bug, Python bindings memory interfaces
+    improvement (with Stéphane Bidoul), Fixed the push parser to be back to
+    synchronous behaviour.
+   - improvement: custom per-thread I/O enhancement (Rob Richards), register
+    namespace in debug shell (Stefano Debenedetti), Python based regression
+    test for non-Unix users (William), dynamically increase the number of
+    XPath extension functions in Python and fix a memory leak (Marc-Antoine
+    Parent and William)
+   - performance: hack done with Arjan van de Ven to reduce ELF footprint
+    and generated code on Linux, plus use gcc runtime profiling to optimize
+    the code generated in the RPM packages.
+
+
+2.6.10: May 17 2004:
+   - 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 '"'
+
+
 2.6.9: Apr 18 2004:
    - implement xml:id Working Draft, relaxed XPath id() checking
    - bugfixes: xmlCtxtReset (Brent Hendricks), line number and CDATA (Dave

Modified: packages/libxml2/trunk/SAX2.c
===================================================================
--- packages/libxml2/trunk/SAX2.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/SAX2.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -1958,11 +1958,13 @@
 	     */
 	    if (dup == NULL)
 	        dup = xmlStrndup(value, valueend - value);
+#ifdef LIBXML_VALID_ENABLED
 	    if (xmlValidateNCName(dup, 1) != 0) {
 	        xmlErrValid(ctxt, XML_DTD_XMLID_VALUE,
 		      "xml:id : attribute value %s is not an NCName\n",
 			    (const char *) dup, NULL);
 	    }
+#endif
 	    xmlAddID(&ctxt->vctxt, ctxt->myDoc, dup, ret);
 	}
     }
@@ -2511,9 +2513,10 @@
  * @version:  the version, 1 or 2
  *
  * Set the default version of SAX used globally by the library.
- * Note that this may not be a good thing to do from a library
- * it is better to use xmlSAXVersion() to set up specifically the
- * version for a given parsing context.
+ * By default, during initialization the default is set to 2.
+ * Note that it is generally a better coding style to use
+ * xmlSAXVersion() to set up the version explicitly for a given
+ * parsing context.
  *
  * Returns the previous value in case of success and -1 in case of error.
  */

Modified: packages/libxml2/trunk/c14n.c
===================================================================
--- packages/libxml2/trunk/c14n.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/c14n.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -757,7 +757,7 @@
          */
 	if((attr->ns != NULL) && xmlC14NIsVisible(ctx, attr, cur)) {
 	    already_rendered = xmlExcC14NVisibleNsStackFind(ctx->ns_rendered, attr->ns, ctx);
-	    xmlC14NVisibleNsStackAdd(ctx->ns_rendered, attr->ns, (xmlNodePtr)attr); 
+	    xmlC14NVisibleNsStackAdd(ctx->ns_rendered, attr->ns, cur); 
 	    if(!already_rendered && visible) {
 		xmlListInsert(list, attr->ns); 
 	    }

Modified: packages/libxml2/trunk/catalog.c
===================================================================
--- packages/libxml2/trunk/catalog.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/catalog.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -68,6 +68,13 @@
 #define XML_SGML_DEFAULT_CATALOG "file:///etc/sgml/catalog"
 #endif
 
+#if defined(_WIN32) && defined(_MSC_VER)
+#undef XML_XML_DEFAULT_CATALOG
+static char XML_XML_DEFAULT_CATALOG[256] = "file:///etc/xml/catalog";
+void* __stdcall GetModuleHandleA(const char*);
+unsigned long __stdcall GetModuleFileNameA(void*, char*, unsigned long);
+#endif
+
 static int xmlExpandCatalog(xmlCatalogPtr catal, const char *filename);
 
 /************************************************************************
@@ -2925,7 +2932,35 @@
 
 	catalogs = (const char *) getenv("XML_CATALOG_FILES");
 	if (catalogs == NULL)
+#if defined(_WIN32) && defined(_MSC_VER)
+    {
+		void* hmodule;
+		hmodule = GetModuleHandleA("libxml2.dll");
+		if (hmodule == NULL)
+			hmodule = GetModuleHandleA(NULL);
+		if (hmodule != NULL) {
+			char buf[256];
+			unsigned long len = GetModuleFileNameA(hmodule, buf, 255);
+			if (len != 0) {
+				char* p = &(buf[len]);
+				while (*p != '\\' && p > buf) 
+					p--;
+				if (p != buf) {
+					xmlChar* uri;
+					strncpy(p, "\\..\\etc\\catalog", 255 - (p - buf));
+					uri = xmlCanonicPath(buf);
+					if (uri != NULL) {
+						strncpy(XML_XML_DEFAULT_CATALOG, uri, 255);
+						xmlFree(uri);
+					}
+				}
+			}
+		}
+		catalogs = XML_XML_DEFAULT_CATALOG;
+    }
+#else
 	    catalogs = XML_XML_DEFAULT_CATALOG;
+#endif
 
 	catal = xmlCreateNewCatalog(XML_XML_CATALOG_TYPE, 
 		xmlCatalogDefaultPrefer);
@@ -3510,7 +3545,7 @@
 const xmlChar *
 xmlCatalogGetSystem(const xmlChar *sysID) {
     xmlChar *ret;
-    xmlChar result[1000];
+    static xmlChar result[1000];
     static int msg = 0;
 
     if (!xmlCatalogInitialized)
@@ -3554,7 +3589,7 @@
 const xmlChar *
 xmlCatalogGetPublic(const xmlChar *pubID) {
     xmlChar *ret;
-    xmlChar result[1000];
+    static xmlChar result[1000];
     static int msg = 0;
 
     if (!xmlCatalogInitialized)

Modified: packages/libxml2/trunk/configure
===================================================================
--- packages/libxml2/trunk/configure	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/configure	2004-07-06 13:30:31 UTC (rev 189)
@@ -1617,7 +1617,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=10
+LIBXML_MICRO_VERSION=11
 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
@@ -26458,8 +26458,9 @@
 fi
 
 if [ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ] || \
+   [ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ] || \
    [ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomecvs/xmltest" ] || \
-   [ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomecvs/xmlnew" ]
+   [ "${LOGNAME}" = "wbrack" -a "`pwd`" = "/Users/wbrack/gnomecvs/xmltest" ]
    then
     if test "$with_minimum" != "yes"
     then
@@ -26758,7 +26759,7 @@
 then
     with_thread_alloc=no
 fi
-if test "$with_threads_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
+if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
     THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
 fi
 
@@ -28083,8 +28084,13 @@
     with_mem_debug=no
 fi
 if test "$with_mem_debug" = "yes" ; then
-    echo Enabling memory debug support
-    WITH_MEM_DEBUG=1
+    if test "$with_thread_alloc" = "yes" ; then
+        echo Disabling memory debug - cannot use mem-debug with thread-alloc!
+	WITH_MEM_DEBUG=0
+    else
+        echo Enabling memory debug support
+        WITH_MEM_DEBUG=1
+    fi
 else
     WITH_MEM_DEBUG=0
 fi

Modified: packages/libxml2/trunk/configure.in
===================================================================
--- packages/libxml2/trunk/configure.in	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/configure.in	2004-07-06 13:30:31 UTC (rev 189)
@@ -6,7 +6,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=6
-LIBXML_MICRO_VERSION=10
+LIBXML_MICRO_VERSION=11
 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
@@ -421,8 +421,9 @@
 dnl (-Wunreachable-code)
 dnl
 if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \
+   [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ]] || \
    [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomecvs/xmltest" ]] || \
-   [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomecvs/xmlnew" ]]
+   [[ "${LOGNAME}" = "wbrack" -a "`pwd`" = "/Users/wbrack/gnomecvs/xmltest" ]]
    then
     if test "$with_minimum" != "yes"
     then
@@ -498,7 +499,7 @@
 then
     with_thread_alloc=no
 fi
-if test "$with_threads_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
+if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
     THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
 fi
 
@@ -1007,8 +1008,13 @@
     with_mem_debug=no
 fi
 if test "$with_mem_debug" = "yes" ; then
-    echo Enabling memory debug support
-    WITH_MEM_DEBUG=1
+    if test "$with_thread_alloc" = "yes" ; then
+        echo Disabling memory debug - cannot use mem-debug with thread-alloc!
+	WITH_MEM_DEBUG=0
+    else
+        echo Enabling memory debug support
+        WITH_MEM_DEBUG=1
+    fi
 else    
     WITH_MEM_DEBUG=0
 fi

Modified: packages/libxml2/trunk/debian/changelog
===================================================================
--- packages/libxml2/trunk/debian/changelog	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/debian/changelog	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,3 +1,10 @@
+libxml2 (2.6.11-1) unstable; urgency=low
+
+  * (NOT RELEASED YET) New upstream release:
+  * libxml.m4: removed debian changes which have been incorporated upstream. 
+
+ -- Mike Hommey <mh at glandium.org>  Tue,  6 Jul 2004 22:14:51 +0900
+
 libxml2 (2.6.10-3) unstable; urgency=low
 
   * debian/control: changed deps on libz-dev to zlib1g-dev | libz-dev.

Modified: packages/libxml2/trunk/debugXML.c
===================================================================
--- packages/libxml2/trunk/debugXML.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/debugXML.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -1561,7 +1561,67 @@
 }
 #endif
 
+#ifdef LIBXML_XPATH_ENABLED
 /**
+ * xmlShellRegisterNamespace:
+ * @ctxt:  the shell context
+ * @arg:  a string in prefix=nsuri format
+ * @node:  unused
+ * @node2:  unused
+ *
+ * Implements the XML shell function "setns"
+ * register/unregister a prefix=namespace pair
+ * on the XPath context
+ *
+ * Returns 0 on success and a negative value otherwise.
+ */
+static int
+xmlShellRegisterNamespace(xmlShellCtxtPtr ctxt, char *arg,
+      xmlNodePtr node ATTRIBUTE_UNUSED, xmlNodePtr node2 ATTRIBUTE_UNUSED)
+{
+    xmlChar* nsListDup;
+    xmlChar* prefix;
+    xmlChar* href;
+    xmlChar* next;
+
+    nsListDup = xmlStrdup((xmlChar *) arg);
+    next = nsListDup;
+    while(next != NULL) {
+	/* skip spaces */
+	/*while((*next) == ' ') next++;*/
+	if((*next) == '\0') break;
+
+	/* find prefix */
+	prefix = next;
+	next = (xmlChar*)xmlStrchr(next, '=');
+	if(next == NULL) {
+	    fprintf(ctxt->output, "setns: prefix=[nsuri] required\n");
+	    xmlFree(nsListDup);
+	    return(-1);
+	}
+	*(next++) = '\0';
+
+	/* find href */
+	href = next;
+	next = (xmlChar*)xmlStrchr(next, ' ');
+	if(next != NULL) {
+	    *(next++) = '\0';
+	}
+
+	/* do register namespace */
+	if(xmlXPathRegisterNs(ctxt->pctxt, prefix, href) != 0) {
+	    fprintf(ctxt->output,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", prefix, href);
+	    xmlFree(nsListDup);
+	    return(-1);
+	}
+    }
+
+    xmlFree(nsListDup);
+    return(0);
+}
+#endif
+
+/**
  * xmlShellGrep:
  * @ctxt:  the shell context
  * @arg:  the string or regular expression to find
@@ -2246,6 +2306,8 @@
 		  fprintf(ctxt->output, "\tls [path]    list contents of path or the current directory\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");
+		  fprintf(ctxt->output, "\t             format for nsreg is: prefix=[nsuri] (i.e. prefix= unsets a prefix)\n");
 #endif /* LIBXML_XPATH_ENABLED */
 		  fprintf(ctxt->output, "\tpwd          display current working directory\n");
 		  fprintf(ctxt->output, "\tquit         leave shell\n");
@@ -2297,6 +2359,13 @@
         } else if (!strcmp(command, "base")) {
             xmlShellBase(ctxt, NULL, ctxt->node, NULL);
 #ifdef LIBXML_XPATH_ENABLED
+        } else if (!strcmp(command, "setns")) {
+            if (arg[0] == 0) {
+		xmlGenericError(xmlGenericErrorContext,
+				"setns: prefix=[nsuri] required\n");
+            } else {
+                xmlShellRegisterNamespace(ctxt, arg, NULL, NULL);
+            }
         } else if (!strcmp(command, "xpath")) {
             if (arg[0] == 0) {
 		xmlGenericError(xmlGenericErrorContext,

Modified: packages/libxml2/trunk/doc/APIchunk0.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk0.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk0.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter A:</h2><dl><dt>A-Z</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
 </dd><dt>A-Za-z</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
 </dd><dt>A-Za-z0-9</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
@@ -130,6 +131,7 @@
 <a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
 <a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 </dd><dt>Apply</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
 </dd><dt>Arabic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsArabic">xmlUCSIsArabic</a><br />
 </dd><dt>ArabicPresentationForms-A</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a><br />
 </dd><dt>ArabicPresentationForms-B</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a><br />
@@ -253,8 +255,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -272,7 +274,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk1.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk1.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk1.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter C:</h2><dl><dt>C14N</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
 <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 </dd><dt>CATALOG</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
@@ -178,6 +179,7 @@
 <a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 <a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a><br />
 </dd><dt>Cherokee</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCherokee">xmlUCSIsCherokee</a><br />
@@ -332,8 +334,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -351,7 +353,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk10.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk10.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk10.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter c:</h2><dl><dt>cae</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 </dd><dt>calculates</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
 </dd><dt>call</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
@@ -86,6 +87,7 @@
 <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 />
 <a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
 <a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
@@ -172,6 +174,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br />
@@ -236,7 +239,6 @@
 </dd><dt>checking</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</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 />
@@ -325,6 +327,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 </dd><dt>cncerning</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
+</dd><dt>coding</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 </dd><dt>collapse</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br />
 </dd><dt>collect</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 <a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
@@ -334,6 +337,7 @@
 </dd><dt>column</dt><dd><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
 </dd><dt>com</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <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 />
@@ -444,6 +448,7 @@
 </dd><dt>compiling</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 </dd><dt>complement</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
 </dd><dt>complete</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a><br />
 <a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
@@ -453,6 +458,12 @@
 <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>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 />
+<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>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 />
@@ -549,6 +560,7 @@
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a><br />
 </dd><dt>connector</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 </dd><dt>consequent</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
+</dd><dt>consideration</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>considered</dt><dd><a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
@@ -556,7 +568,9 @@
 </dd><dt>consist</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a><br />
 </dd><dt>constant</dt><dd><a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
 <a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-</dd><dt>constraint</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
+</dd><dt>constraint</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaWildcardNs">_xmlSchemaWildcardNs</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a><br />
 </dd><dt>constraints</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
@@ -677,6 +691,7 @@
 <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-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</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-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
@@ -786,8 +801,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -805,7 +820,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk11.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk11.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk11.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,11 +31,12 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter d:</h2><dl><dt>dangerous</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
+</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>deactivated</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
@@ -162,6 +163,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-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 />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
@@ -218,6 +220,8 @@
 <a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a><br />
 </dd><dt>deregistration</dt><dd><a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
+</dd><dt>derivation</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>des</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
 </dd><dt>desactivated</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
@@ -285,7 +289,6 @@
 <a href="html/libxml-tree.html#xmlAddNextSibling">xmlAddNextSibling</a><br />
 <a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 </dd><dt>destruction</dt><dd><a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
 </dd><dt>details</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
@@ -434,6 +437,7 @@
 </dd><dt>doc-</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-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
+</dd><dt>docs</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>doctypedecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a><br />
 <a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
 </dd><dt>documents</dt><dd><a href="html/libxml-valid.html#xmlIsID">xmlIsID</a><br />
@@ -492,7 +496,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>don</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
+</dd><dt>don</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
@@ -556,14 +561,15 @@
 </dd><dt>duplicate</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 </dd><dt>duplicated</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-</dd><dt>during</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</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 />
 </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>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -581,7 +587,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk12.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk12.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk12.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter e:</h2><dl><dt>each</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
 <a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
@@ -47,6 +48,7 @@
 </dd><dt>edition</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
 </dd><dt>effective</dt><dd><a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
 <a href="html/libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a><br />
+</dd><dt>efficiency</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>either</dt><dd><a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
 <a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 <a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
@@ -222,11 +224,7 @@
 <a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
 </dd><dt>equivalent</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#xmlMemFree">xmlMemFree</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</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-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -312,6 +310,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a><br />
+</dd><dt>examples</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>except</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
@@ -343,6 +342,8 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+</dd><dt>explicitly</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 </dd><dt>explored</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
 </dd><dt>exposing</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
 </dd><dt>expressions</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
@@ -363,6 +364,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 />
+<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 />
 </dd><dt>extract</dt><dd><a href="html/libxml-tree.html#XML_GET_CONTENT">XML_GET_CONTENT</a><br />
 <a href="html/libxml-tree.html#XML_GET_LINE">XML_GET_LINE</a><br />
@@ -372,8 +376,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -391,7 +395,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk13.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk13.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk13.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,17 +31,20 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter f:</h2><dl><dt>fTP</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
 </dd><dt>facet</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a><br />
+<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#xmlSchemaValidateFacet">xmlSchemaValidateFacet</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 />
 <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
@@ -154,12 +157,20 @@
 </dd><dt>filled</dt><dd><a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 </dd><dt>fills</dt><dd><a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
 </dd><dt>filters</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-</dd><dt>final</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
+</dd><dt>final</dt><dd><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_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</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_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</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-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
+</dd><dt>finalDefault</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>find</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
 <a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
 </dd><dt>finding</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
@@ -171,6 +182,7 @@
 <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 <a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 </dd><dt>finishing</dt><dd><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 </dd><dt>firs</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
@@ -371,8 +383,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -390,7 +402,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk14.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk14.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk14.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<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 />
 <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 />
@@ -59,6 +60,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+</dd><dt>generally</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 </dd><dt>generate</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
@@ -113,6 +115,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
 <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 />
 </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 />
@@ -121,6 +124,7 @@
 </dd><dt>giving</dt><dd><a href="html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
 </dd><dt>global</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a><br />
 <a href="html/libxml-tree.html#_xmlNs">_xmlNs</a><br />
 <a href="html/libxml-SAX.html#globalNamespace">globalNamespace</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogDump">xmlCatalogDump</a><br />
@@ -133,8 +137,7 @@
 <a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
 </dd><dt>globally</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-</dd><dt>good</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>good</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
 </dd><dt>grafted</dt><dd><a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
 <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 />
@@ -179,6 +182,7 @@
 <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</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 />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 </dd><dt>handled</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
@@ -206,8 +210,10 @@
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
 <a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
@@ -268,6 +274,7 @@
 </dd><dt>heuristic:</dt><dd><a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
 </dd><dt>hex</dt><dd><a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
 </dd><dt>hierarchy</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>highly</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
@@ -299,7 +306,8 @@
 </dd><dt>href==NULL</dt><dd><a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
 </dd><dt>hrefs</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
 <a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-</dd><dt>html</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
+</dd><dt>html</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
 </dd><dt>htmlAttrAllowed</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 </dd><dt>htmlElemDescPtr</dt><dd><a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
 </dd><dt>htmlElementAllowedHere</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
@@ -325,6 +333,7 @@
 </dd><dt>http:</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NS">XINCLUDE_NS</a><br />
 <a href="html/libxml-xinclude.html#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a><br />
 <a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <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 />
@@ -344,8 +353,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -363,7 +372,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk15.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk15.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk15.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter i:</h2><dl><dt>iconv</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a><br />
 </dd><dt>identify</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
@@ -54,6 +55,7 @@
 <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 </dd><dt>imbrication</dt><dd><a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
 <a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
+</dd><dt>img</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>immediately</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
@@ -131,6 +133,7 @@
 <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 <a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
 <a href="html/libxml-list.html#xmlListMerge">xmlListMerge</a><br />
+</dd><dt>include:</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>included</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 />
@@ -237,10 +240,7 @@
 <a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</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#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
 <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
@@ -302,9 +302,7 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
 <a href="html/libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a><br />
 <a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 <a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
@@ -321,6 +319,7 @@
 </dd><dt>initialization</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-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 </dd><dt>initialize</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#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
@@ -363,7 +362,8 @@
 <a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-</dd><dt>instead</dt><dd><a href="html/libxml-tree.html#xmlAddChild">xmlAddChild</a><br />
+</dd><dt>instead</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
+<a href="html/libxml-tree.html#xmlAddChild">xmlAddChild</a><br />
 <a href="html/libxml-tree.html#xmlAddNextSibling">xmlAddNextSibling</a><br />
 <a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
 <a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
@@ -386,6 +386,27 @@
 <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 />
@@ -434,6 +455,7 @@
 <a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
 <a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <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 />
@@ -472,6 +494,7 @@
 <a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
 </dd><dt>items</dt><dd><a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
 <a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
@@ -480,6 +503,7 @@
 <a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </dd><dt>itself</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 <a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
@@ -491,8 +515,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -510,7 +534,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk16.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk16.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk16.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter j:</h2><dl><dt>just</dt><dd><a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
 <a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
 <a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
@@ -52,6 +53,7 @@
 <a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
 </dd></dl><h2>Letter k:</h2><dl><dt>keep</dt><dd><a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
 <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a><br />
 </dd><dt>keeps</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
@@ -70,6 +72,7 @@
 <a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaNotation">_xmlSchemaNotation</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
 </dd><dt>know</dt><dd><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
 </dd><dt>knowledge</dt><dd><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
 </dd><dt>known</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
@@ -92,8 +95,6 @@
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</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#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>lang</dt><dd><a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
@@ -177,6 +178,7 @@
 </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#xmlSchemaValidateFacet">xmlSchemaValidateFacet</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 />
 <a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
@@ -245,6 +247,9 @@
 </dd><dt>limited</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>linear</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
+</dd><dt>linked</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeLink">_xmlSchemaAttributeLink</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaTypeLink">_xmlSchemaTypeLink</a><br />
 </dd><dt>linking</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 </dd><dt>links</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>listing</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
@@ -315,10 +320,7 @@
 <a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
 </dd><dt>logging</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#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>long</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_COMBINING">IS_COMBINING</a><br />
@@ -353,8 +355,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -372,7 +374,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk17.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk17.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk17.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter m:</h2><dl><dt>machine</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
 </dd><dt>macro</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
@@ -59,7 +60,6 @@
 <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#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 </dd><dt>mallocAtomicFunc</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
@@ -189,7 +189,9 @@
 <a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-</dd><dt>method</dt><dd><a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
+</dd><dt>method</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 />
+<a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
@@ -286,8 +288,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -305,7 +307,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk18.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk18.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk18.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </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 />
@@ -51,6 +52,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 </dd><dt>namespaces</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
 <a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
@@ -119,6 +121,7 @@
 <a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
 </dd><dt>needs</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
+</dd><dt>negated</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
 </dd><dt>negative</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 />
@@ -150,6 +153,7 @@
 <a href="html/libxml-parser.html#xmlReadFile">xmlReadFile</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
+</dd><dt>nice</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>nillable</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a><br />
 </dd><dt>nod</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
 </dd><dt>node-</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
@@ -215,6 +219,7 @@
 </dd><dt>normalization:</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 </dd><dt>normalizations</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>normalize</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>normalize-space</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
 </dd><dt>normalized</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
@@ -262,8 +267,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -281,7 +286,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk19.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk19.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk19.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter o:</h2><dl><dt>object?</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNumberFunction">xmlXPathNumberFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>objects</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
@@ -48,6 +49,7 @@
 <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#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 />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
@@ -61,7 +63,6 @@
 </dd><dt>occurences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
 </dd><dt>occurred</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</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 />
 <a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
@@ -97,6 +98,8 @@
 <a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
 <a href="html/libxml-list.html#xmlListCopy">xmlListCopy</a><br />
 <a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
@@ -126,6 +129,7 @@
 <a href="html/libxml-parserInternals.html#xmlParsePI">xmlParsePI</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
@@ -172,7 +176,8 @@
 </dd><dt>operating</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
-</dd><dt>operation</dt><dd><a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
+</dd><dt>operation</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+<a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
@@ -220,7 +225,6 @@
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
 </dd><dt>options</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
 <a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
 <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 />
@@ -313,13 +317,14 @@
 </dd><dt>owner</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>ownership</dt><dd><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
 </dd><dt>owning</dt><dd><a href="html/libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a><br />
+</dd><dt>owns</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</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>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -337,7 +342,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk2.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk2.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk2.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter D:</h2><dl><dt>DEBUG_MEMORY</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 </dd><dt>DEBUG_MEMORY_FREED</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 </dd><dt>DEBUG_MEMORY_LOCATION</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
@@ -88,6 +89,7 @@
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 </dd><dt>Data</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
 </dd><dt>Datatype</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
+</dd><dt>Datatypes</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>Deallocate</dt><dd><a href="html/libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a><br />
 <a href="html/libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a><br />
 <a href="html/libxml-entities.html#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a><br />
@@ -100,6 +102,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+</dd><dt>Deallocates</dt><dd><a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
 </dd><dt>Debugging</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
 </dd><dt>Declaration</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
@@ -360,6 +363,7 @@
 </dd><dt>Expr</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
+</dd><dt>Expresses</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>Expression</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
 </dd><dt>Extender</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
@@ -389,8 +393,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -408,7 +412,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk20.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk20.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk20.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter p:</h2><dl><dt>pairs</dt><dd><a href="html/libxml-SAX.html#startElement">startElement</a><br />
 <a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
 <a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
@@ -140,6 +141,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
 </dd><dt>phase</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
+</dd><dt>pic1</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>piece</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
@@ -189,6 +191,7 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-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 />
@@ -284,6 +287,7 @@
 <a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
 <a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
 <a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 </dd><dt>preserved</dt><dd><a href="html/libxml-HTMLtree.html#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
@@ -488,8 +492,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -507,7 +511,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk21.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk21.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk21.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter q:</h2><dl><dt>qualified</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 />
 <a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
@@ -143,7 +144,6 @@
 <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#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -156,6 +156,8 @@
 <a href="html/libxml-HTMLtree.html#HTML_TEXT_NODE">HTML_TEXT_NODE</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>reasonable</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>received</dt><dd><a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a><br />
 </dd><dt>receives</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
@@ -299,6 +301,8 @@
 </dd><dt>registers</dt><dd><a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
 <a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
 </dd><dt>registration</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
 </dd><dt>regular</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br />
@@ -318,7 +322,8 @@
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
 </dd><dt>relationships</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>relative</dt><dd><a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
+</dd><dt>relative</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
@@ -406,6 +411,7 @@
 <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#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 />
@@ -426,6 +432,7 @@
 </dd><dt>required</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
 <a href="html/libxml-HTMLparser.html#htmlRequiredAttrs">htmlRequiredAttrs</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>requires</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 />
@@ -488,6 +495,9 @@
 </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 />
+<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 />
 <a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
 </dd><dt>retrieve</dt><dd><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
@@ -571,6 +581,7 @@
 </dd><dt>rule</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 </dd><dt>rules</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 </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 />
@@ -581,8 +592,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -600,7 +611,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk22.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk22.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk22.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter s:</h2><dl><dt>safe</dt><dd><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
 <a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
 <a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
@@ -85,7 +86,6 @@
 <a href="html/libxml-xmlsave.html#xmlSaveFlush">xmlSaveFlush</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveSetEscape">xmlSaveSetEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
 <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 />
@@ -194,7 +194,6 @@
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
 </dd><dt>serialization</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
 <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 />
@@ -202,8 +201,7 @@
 <a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
 <a href="html/libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a><br />
 <a href="html/libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a><br />
-</dd><dt>serializing</dt><dd><a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
+</dd><dt>serializing</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>server</dt><dd><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
@@ -256,6 +254,10 @@
 <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 />
@@ -297,7 +299,9 @@
 <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-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</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 />
+<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 />
 <a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
 <a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br />
@@ -305,9 +309,19 @@
 <a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
 <a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
 <a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+</dd><dt>simpleType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</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_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
 </dd><dt>simply</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
-</dd><dt>since</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
+</dd><dt>since</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 </dd><dt>single</dt><dd><a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
 <a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
@@ -328,6 +342,8 @@
 </dd><dt>single-byte</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR_CH">IS_CHAR_CH</a><br />
 <a href="html/libxml-parserInternals.html#IS_EXTENDER_CH">IS_EXTENDER_CH</a><br />
 <a href="html/libxml-parserInternals.html#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a><br />
+</dd><dt>site1</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>site2</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>sizes</dt><dd><a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
 <a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
 </dd><dt>skip</dt><dd><a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
@@ -344,6 +360,7 @@
 <a href="html/libxml-parser.html#charactersSAXFunc">charactersSAXFunc</a><br />
 <a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
 <a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 <a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
@@ -425,6 +442,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-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</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 />
@@ -457,15 +475,12 @@
 <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 />
-</dd><dt>specifically</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</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>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#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>speed</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>speedup</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
@@ -597,7 +612,6 @@
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
 </dd><dt>stream</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -621,6 +635,7 @@
 </dd><dt>streams</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
 </dd><dt>strict</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
 </dd><dt>string--that</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
@@ -647,6 +662,7 @@
 <a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
 <a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 </dd><dt>structured</dt><dd><a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 </dd><dt>structures</dt><dd><a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
 <a href="html/libxml-tree.html#xmlFreeNs">xmlFreeNs</a><br />
@@ -658,6 +674,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 </dd><dt>stuff</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
+</dd><dt>style</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 </dd><dt>sub-elements</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>subelement</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlDefaultSubelement">htmlDefaultSubelement</a><br />
@@ -806,8 +823,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -825,7 +842,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk23.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk23.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk23.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter t:</h2><dl><dt>tag</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
@@ -61,7 +62,8 @@
 <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-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>tells</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
+</dd><dt>tells</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 </dd><dt>temporary</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
 <a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a><br />
@@ -85,6 +87,7 @@
 <a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
 </dd><dt>termination</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
+</dd><dt>terms</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>test</dt><dd><a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
@@ -164,7 +167,6 @@
 <a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
-</dd><dt>thing</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 </dd><dt>third</dt><dd><a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
 <a href="html/libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a><br />
@@ -192,7 +194,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 />
-</dd><dt>through</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</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 />
 <a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 </dd><dt>thumblers</dt><dd><a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
@@ -396,6 +399,7 @@
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
 </dd><dt>two-character</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
+</dd><dt>typ</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaTypeLink">_xmlSchemaTypeLink</a><br />
 </dd><dt>types</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br />
 <a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
@@ -407,8 +411,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -426,7 +430,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk24.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk24.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk24.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -7,13 +7,13 @@
 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-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 u-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 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>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter u:</h2><dl><dt>ugly</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
@@ -45,14 +46,14 @@
 <a href="html/libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a><br />
 <a href="html/libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a><br />
 </dd><dt>undefined</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-</dd><dt>under</dt><dd><a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
+</dd><dt>under</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</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-valid.html#xmlValidateElement">xmlValidateElement</a><br />
 </dd><dt>underlying</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 </dd><dt>unescape</dt><dd><a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
 </dd><dt>unescaped</dt><dd><a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
@@ -60,7 +61,11 @@
 <a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
 </dd><dt>unimplemented</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
 <a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
-</dd><dt>union</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
+</dd><dt>union</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</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_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<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-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
 </dd><dt>uniquely</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
@@ -70,6 +75,7 @@
 <a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
 </dd><dt>units</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
 </dd><dt>unknown</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a><br />
 <a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
 <a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
@@ -217,6 +223,10 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
 </dd><dt>variant</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
+</dd><dt>variety</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
 </dd><dt>very</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
@@ -229,218 +239,13 @@
 </dd><dt>visible</dt><dd><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 </dd><dt>void</dt><dd><a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-</dd></dl><h2>Letter w:</h2><dl><dt>walker</dt><dd><a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</dd><dt>walking</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</dd><dt>want</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>warn</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-</dd><dt>warning</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</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#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#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>warnings</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-</dd><dt>way</dt><dd><a href="html/libxml-HTMLtree.html#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a><br />
-<a href="html/libxml-HTMLtree.html#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a><br />
-<a href="html/libxml-HTMLtree.html#HTML_PI_NODE">HTML_PI_NODE</a><br />
-<a href="html/libxml-HTMLtree.html#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a><br />
-<a href="html/libxml-HTMLtree.html#HTML_TEXT_NODE">HTML_TEXT_NODE</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-</dd><dt>ways:</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>well</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</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#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</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 />
-</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 />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>well-formedness</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
-</dd><dt>wellformed</dt><dd><a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-</dd><dt>were</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</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>wether</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-</dd><dt>what</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-</dd><dt>where</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
-<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>while</dt><dd><a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</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-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>white</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>whitespace</dt><dd><a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>whitespace-separated</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>whitespaces</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<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#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-</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-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#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<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-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 />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>without</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
-<a href="html/libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<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#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>won</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>word</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>words</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>work</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a><br />
-<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 />
-</dd><dt>worked</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-</dd><dt>works</dt><dd><a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-</dd><dt>would</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>write</dt><dd><a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
-<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 />
-</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 />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
-</dd><dt>writing</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-</dd><dt>www</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NS">XINCLUDE_NS</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a><br />
-<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<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 />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</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>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -458,7 +263,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk25.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk25.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk25.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -7,13 +7,13 @@
 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 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>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,445 +31,234 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
-</h2><h2>Letter x:</h2><dl><dt>x00B7</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x02D0</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x02D1</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0387</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0640</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0E46</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0EC6</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x10000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>x10FFFF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>x20</dt><dd><a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
-<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-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 />
-</dd><dt>x3005</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x3007</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x3021-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x3029</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x3031-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x3035</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x309D-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x309E</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x30FC-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x30FE</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x4E00-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x9FA5</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>xD7FF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>xE000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>xFFFD</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>xlink</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
-</dd><dt>xlinkHandlerPtr</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
-</dd><dt>xlinkType</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</dd><dt>xml-c14n</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 />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</dd><dt>xml-exc-c14n</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 />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</dd><dt>xml-name</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>xml:</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
-</dd><dt>xml:base</dt><dd><a href="html/libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a><br />
-</dd><dt>xml:id</dt><dd><a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
-</dd><dt>xml:lang</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
-<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-</dd><dt>xml:space</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
-</dd><dt>xmlAttr</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-</dd><dt>xmlAttrPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
-<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-</dd><dt>xmlAttributePtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-</dd><dt>xmlAttributeTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
-</dd><dt>xmlBuffer</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
+</h2><h2>Letter w:</h2><dl><dt>walker</dt><dd><a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
+<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
+<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
+</dd><dt>walking</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
+<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
+<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
+</dd><dt>want</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>xmlBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
-</dd><dt>xmlCatalogAllow</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-</dd><dt>xmlCatalogPtr</dt><dd><a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-</dd><dt>xmlCatalogResolvePublic</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-</dd><dt>xmlCatalogResolveSystem</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-</dd><dt>xmlCharEncoding</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-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingHandler</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingHandlerPtr</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingInputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingOutputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</dd><dt>xmlChars</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
-</dd><dt>xmlCleanupParser</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-</dd><dt>xmlCleanupThreads</dt><dd><a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>xmlCreateIntSubset</dt><dd><a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-</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>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 />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</dd><dt>xmlDocumentGetBase</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>xmlDtdPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-</dd><dt>xmlElementContentPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>xmlElementPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-</dd><dt>xmlElementTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
-</dd><dt>xmlEncodeEntities</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-</dd><dt>xmlEncodeEntitiesReentrant</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
+</dd><dt>warn</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
+</dd><dt>warning</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
+<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
+<a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
+<a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
+<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
+<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
+<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</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#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#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
+</dd><dt>warnings</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
+</dd><dt>way</dt><dd><a href="html/libxml-HTMLtree.html#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a><br />
+<a href="html/libxml-HTMLtree.html#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a><br />
+<a href="html/libxml-HTMLtree.html#HTML_PI_NODE">HTML_PI_NODE</a><br />
+<a href="html/libxml-HTMLtree.html#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a><br />
+<a href="html/libxml-HTMLtree.html#HTML_TEXT_NODE">HTML_TEXT_NODE</a><br />
+<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
+<a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
+<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
+</dd><dt>ways:</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+</dd><dt>well</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</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-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
+<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</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#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</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 />
+</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 />
+<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
+</dd><dt>well-formedness</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
+<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
+</dd><dt>wellformed</dt><dd><a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
+</dd><dt>were</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
+<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</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>wether</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
+<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
+</dd><dt>what</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
+<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
+</dd><dt>where</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
+<a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
+<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
+<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
+<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+</dd><dt>while</dt><dd><a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</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-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
+<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+</dd><dt>white</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
+</dd><dt>whitespace</dt><dd><a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
+</dd><dt>whitespace-separated</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
+</dd><dt>whitespaces</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
+<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#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</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 />
+<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_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
+</dd><dt>wildcards</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</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_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
+</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-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 />
-</dd><dt>xmlEntitiesTablePtr</dt><dd><a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-</dd><dt>xmlEntityPtr</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
-<a href="html/libxml-parser.html#getEntitySAXFunc">getEntitySAXFunc</a><br />
-<a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
-<a href="html/libxml-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
-</dd><dt>xmlEnumerationPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-</dd><dt>xmlExternalEntityLoader</dt><dd><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
-</dd><dt>xmlFileOpen_real</dt><dd><a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-</dd><dt>xmlFree</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</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#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
+<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</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#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-</dd><dt>xmlFreeDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</dd><dt>xmlFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-</dd><dt>xmlGetGlobalState</dt><dd><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-</dd><dt>xmlGetNoNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-</dd><dt>xmlGetNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-</dd><dt>xmlGetProp</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-</dd><dt>xmlGetThreadId</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-</dd><dt>xmlHashTablePtr</dt><dd><a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
-</dd><dt>xmlIDPtr</dt><dd><a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-</dd><dt>xmlIndentTreeOutput</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</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-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-</dd><dt>xmlInitParser</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-</dd><dt>xmlInitThreads</dt><dd><a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-</dd><dt>xmlInitializeCatalog</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-</dd><dt>xmlInitializeGlobalState</dt><dd><a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
-</dd><dt>xmlInputCloseCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlInputMatchCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlInputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlInputReadCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlIsBaseCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-</dd><dt>xmlIsBaseChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-</dd><dt>xmlIsBlankNode</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>xmlIsBlankQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-</dd><dt>xmlIsBlank_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-</dd><dt>xmlIsCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-</dd><dt>xmlIsChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-</dd><dt>xmlIsCombiningQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-</dd><dt>xmlIsDigitQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-</dd><dt>xmlIsDigit_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-</dd><dt>xmlIsExtenderQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-</dd><dt>xmlIsExtender_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-</dd><dt>xmlIsIdeographicQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
-</dd><dt>xmlIsMainThread</dt><dd><a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
-</dd><dt>xmlIsPubidCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-</dd><dt>xmlIsPubidChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-</dd><dt>xmlKeepBlanksDefault</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</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-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-</dd><dt>xmlLineNumbersDefault</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-</dd><dt>xmlListWalk</dt><dd><a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</dd><dt>xmlLoadExtDtdDefaultValue</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#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
-</dd><dt>xmlLocationSetPtr</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
-</dd><dt>xmlLockLibrary</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-</dd><dt>xmlMutexLock</dt><dd><a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
-</dd><dt>xmlMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
-</dd><dt>xmlNanoFTPGet</dt><dd><a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
-</dd><dt>xmlNanoFTPList</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>xmlNewChild</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>xmlNewDocRawNode</dt><dd><a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-</dd><dt>xmlNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
-</dd><dt>xmlNewNode</dt><dd><a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-</dd><dt>xmlNewTextChild</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>xmlNewTextWriter</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-</dd><dt>xmlNodeListGetString</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-</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#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</dd><dt>xmlNodeSetPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
-</dd><dt>xmlNodeType</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>xmlNotationPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-</dd><dt>xmlNotationTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
-</dd><dt>xmlNsPtr</dt><dd><a href="html/libxml-SAX.html#getNamespace">getNamespace</a><br />
-<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>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 />
-</dd><dt>xmlOutputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</dd><dt>xmlOutputWriteCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</dd><dt>xmlParseAttValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>xmlParseChunk</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-</dd><dt>xmlParseElementContentDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>xmlParseElementDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</dd><dt>xmlParseExternalID</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</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>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 />
-</dd><dt>xmlParserErrors</dt><dd><a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
-<a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
-</dd><dt>xmlParserFindNodeInfoIndex</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-</dd><dt>xmlParserHandleReference</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>xmlParserInputBufferPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>xmlParserInputPtr</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-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
+<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-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 />
+<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 <a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>xmlParserNodeInfo</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-</dd><dt>xmlParserProperties</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-</dd><dt>xmlPattern</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
-</dd><dt>xmlPopInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-</dd><dt>xmlPushInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-</dd><dt>xmlRFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-</dd><dt>xmlRMutexLock</dt><dd><a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-</dd><dt>xmlRMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>xmlRNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-</dd><dt>xmlReader</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
-</dd><dt>xmlRefPtr</dt><dd><a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-</dd><dt>xmlRelaxNGParserFlag</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-</dd><dt>xmlRelaxNGValidatePushElement</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-</dd><dt>xmlSAX2Attribute</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-</dd><dt>xmlSAX2AttributeDecl</dt><dd><a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-</dd><dt>xmlSAX2CDataBlock</dt><dd><a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
-</dd><dt>xmlSAX2Characters</dt><dd><a href="html/libxml-SAX.html#characters">characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-</dd><dt>xmlSAX2Comment</dt><dd><a href="html/libxml-SAX.html#comment">comment</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
-</dd><dt>xmlSAX2ElementDecl</dt><dd><a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
-</dd><dt>xmlSAX2EndDocument</dt><dd><a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
-</dd><dt>xmlSAX2EndElement</dt><dd><a href="html/libxml-SAX.html#endElement">endElement</a><br />
-</dd><dt>xmlSAX2EntityDecl</dt><dd><a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
-</dd><dt>xmlSAX2ExternalSubset</dt><dd><a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-</dd><dt>xmlSAX2GetColumnNumber</dt><dd><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-</dd><dt>xmlSAX2GetEntity</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
-</dd><dt>xmlSAX2GetLineNumber</dt><dd><a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
-</dd><dt>xmlSAX2GetParameterEntity</dt><dd><a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
-</dd><dt>xmlSAX2GetPublicId</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
-</dd><dt>xmlSAX2GetSystemId</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-</dd><dt>xmlSAX2HasExternalSubset</dt><dd><a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
-</dd><dt>xmlSAX2HasInternalSubset</dt><dd><a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
-</dd><dt>xmlSAX2IgnorableWhitespace</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>xmlSAX2InitDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-</dd><dt>xmlSAX2InitDocbDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-</dd><dt>xmlSAX2InitHtmlDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-</dd><dt>xmlSAX2InternalSubset</dt><dd><a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-</dd><dt>xmlSAX2IsStandalone</dt><dd><a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
-</dd><dt>xmlSAX2NotationDecl</dt><dd><a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
-</dd><dt>xmlSAX2ProcessingInstruction</dt><dd><a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
-</dd><dt>xmlSAX2Reference</dt><dd><a href="html/libxml-SAX.html#reference">reference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
-</dd><dt>xmlSAX2ResolveEntity</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>xmlSAX2StartDocument</dt><dd><a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
-</dd><dt>xmlSAX2StartElement</dt><dd><a href="html/libxml-SAX.html#startElement">startElement</a><br />
-</dd><dt>xmlSAX2UnparsedEntityDecl</dt><dd><a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-</dd><dt>xmlSAXVersion</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-</dd><dt>xmlSaveOptions</dt><dd><a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
+<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
+<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
+<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
+<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a><br />
+<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
+</dd><dt>without</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
+<a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
+<a href="html/libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a><br />
+<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
+<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
+<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#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
+<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
+<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
+</dd><dt>won</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
+<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+</dd><dt>word</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
+</dd><dt>words</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
+</dd><dt>work</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
+<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a><br />
+<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 />
+</dd><dt>worked</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
+<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
+</dd><dt>works</dt><dd><a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
+</dd><dt>worry</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+</dd><dt>worthwhile</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>would</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>write</dt><dd><a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
+<a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
+<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
+<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
+<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</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 />
-</dd><dt>xmlSnprintfElementContent</dt><dd><a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-</dd><dt>xmlStrEqual</dt><dd><a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-</dd><dt>xmlStrdup</dt><dd><a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-</dd><dt>xmlStringDecodeEntities</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-</dd><dt>xmlStringGetNodeList</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>xmlStrncat</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-</dd><dt>xmlStrncmp</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-</dd><dt>xmlTextReader</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</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#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
-</dd><dt>xmlTextReaderCurrentDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-</dd><dt>xmlTextReaderLocatorPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
-</dd><dt>xmlTextReaderRead</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-</dd><dt>xmlTextWriterStartDTDEntity</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-</dd><dt>xmlTextWriterWriteDTD</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
-</dd><dt>xmlTextWriterWritePI</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
-</dd><dt>xmlURI</dt><dd><a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
-<a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
-<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
-<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
-</dd><dt>xmlURIEscapeStr</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>xmlURIFromPath</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-</dd><dt>xmlURIPtr</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-</dd><dt>xmlUnlinkNode</dt><dd><a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-</dd><dt>xmlUnlockLibrary</dt><dd><a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-</dd><dt>xmlValidCtxtPtr</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>xmlValidGetValidElements</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>xmlValidateAttributeDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>xmlValidateAttributeValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>xmlValidateOneAttribute</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>xmlWriter</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
-</dd><dt>xmlXPathCheckError</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathPopBoolean">xmlXPathPopBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopExternal">xmlXPathPopExternal</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopNumber">xmlXPathPopNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a><br />
-</dd><dt>xmlXPathCompExprPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-</dd><dt>xmlXPathContext</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>xmlXPathError</dt><dd><a href="">err</a><br />
-</dd><dt>xmlXPathEvalPredicate</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-</dd><dt>xmlXPathFreeObject</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-</dd><dt>xmlXPathFunction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-</dd><dt>xmlXPathNodeTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-</dd><dt>xmlXPathObjectPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</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-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewBoolean">xmlXPathNewBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewCString">xmlXPathNewCString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewString">xmlXPathNewString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
-</dd><dt>xmlXPathParserContext</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
-</dd><dt>xmlXPathTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-</dd><dt>xmlns</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-</dd><dt>xmlns:???</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-</dd><dt>xmltextReader</dt><dd><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#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#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 />
-</dd><dt>xpath</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-</dd><dt>xpointer</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</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 />
+</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 />
+<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
+</dd><dt>writing</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
+</dd><dt>www</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NS">XINCLUDE_NS</a><br />
+<a href="html/libxml-xinclude.html#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a><br />
+<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
+<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 />
+<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
+<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</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>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -487,7 +276,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk26.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk26.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk26.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -7,13 +7,13 @@
 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 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>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,64 +31,446 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
-</h2><h2>Letter y:</h2><dl><dt>year</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>yes</dt><dd><a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-tree.html#xmlNodeIsText">xmlNodeIsText</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
+</h2><h2>Letter x:</h2><dl><dt>x00B7</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x02D0</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x02D1</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0387</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0640</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0E46</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0EC6</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x10000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>x10FFFF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>x20</dt><dd><a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
+<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-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 />
+</dd><dt>x3005</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x3007</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x3021-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x3029</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x3031-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x3035</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x309D-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x309E</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x30FC-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x30FE</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x4E00-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x9FA5</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>xD7FF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>xE000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>xFFFD</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>xlink</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a><br />
+<a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
+<a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
+<a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
+</dd><dt>xlinkHandlerPtr</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
+</dd><dt>xlinkType</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
+</dd><dt>xml-c14n</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 />
+<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
+</dd><dt>xml-exc-c14n</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 />
+<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
+</dd><dt>xml-name</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
+</dd><dt>xml:</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
+</dd><dt>xml:base</dt><dd><a href="html/libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a><br />
+</dd><dt>xml:id</dt><dd><a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
+</dd><dt>xml:lang</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
+<a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
+<a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
+<a href="html/libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
+</dd><dt>xml:space</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
+<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
+</dd><dt>xmlAttr</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
+<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
+</dd><dt>xmlAttrPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
+<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
+<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
+</dd><dt>xmlAttributePtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
+<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
+</dd><dt>xmlAttributeTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
+</dd><dt>xmlBuffer</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>xmlBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
+</dd><dt>xmlBuildURI</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>xmlCatalogAllow</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
+</dd><dt>xmlCatalogPtr</dt><dd><a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
+</dd><dt>xmlCatalogResolvePublic</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
+</dd><dt>xmlCatalogResolveSystem</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
+</dd><dt>xmlCharEncoding</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-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingHandler</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingHandlerPtr</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingInputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingOutputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+</dd><dt>xmlChars</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
+<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
+<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
+</dd><dt>xmlCleanupParser</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
+</dd><dt>xmlCleanupThreads</dt><dd><a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
+</dd><dt>xmlCreateIntSubset</dt><dd><a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
+</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>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 />
+<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+</dd><dt>xmlDocumentGetBase</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
+</dd><dt>xmlDtdPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
+<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
+<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
+</dd><dt>xmlElementContentPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
+</dd><dt>xmlElementPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
+<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
+</dd><dt>xmlElementTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
+</dd><dt>xmlEncodeEntities</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
+<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
+</dd><dt>xmlEncodeEntitiesReentrant</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
+<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
+<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
+<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+</dd><dt>xmlEntitiesTablePtr</dt><dd><a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
+<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
+</dd><dt>xmlEntityPtr</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
+<a href="html/libxml-parser.html#getEntitySAXFunc">getEntitySAXFunc</a><br />
+<a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
+<a href="html/libxml-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a><br />
+<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
 <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#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a><br />
-</dd><dt>yet</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
-</dd><dt>you</dt><dd><a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
+</dd><dt>xmlEnumerationPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
+<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
+</dd><dt>xmlExternalEntityLoader</dt><dd><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
+</dd><dt>xmlFileOpen_real</dt><dd><a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
+</dd><dt>xmlFree</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</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#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#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
+<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
+</dd><dt>xmlFreeDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+</dd><dt>xmlFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
+</dd><dt>xmlGetGlobalState</dt><dd><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
+</dd><dt>xmlGetNoNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+</dd><dt>xmlGetNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+</dd><dt>xmlGetProp</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
+</dd><dt>xmlGetThreadId</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
+</dd><dt>xmlHashTablePtr</dt><dd><a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
+</dd><dt>xmlIDPtr</dt><dd><a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
+</dd><dt>xmlIndentTreeOutput</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
+<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</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-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
+</dd><dt>xmlInitParser</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
+</dd><dt>xmlInitThreads</dt><dd><a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
+</dd><dt>xmlInitializeCatalog</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
+</dd><dt>xmlInitializeGlobalState</dt><dd><a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
+</dd><dt>xmlInputCloseCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlInputMatchCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlInputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlInputReadCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlIsBaseCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
+</dd><dt>xmlIsBaseChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
+</dd><dt>xmlIsBlankNode</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+</dd><dt>xmlIsBlankQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
+</dd><dt>xmlIsBlank_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
+</dd><dt>xmlIsCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
+</dd><dt>xmlIsChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
+</dd><dt>xmlIsCombiningQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
+</dd><dt>xmlIsDigitQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
+</dd><dt>xmlIsDigit_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
+</dd><dt>xmlIsExtenderQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
+</dd><dt>xmlIsExtender_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
+</dd><dt>xmlIsIdeographicQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
+</dd><dt>xmlIsMainThread</dt><dd><a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
+</dd><dt>xmlIsPubidCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
+</dd><dt>xmlIsPubidChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
+</dd><dt>xmlKeepBlanksDefault</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
+<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</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-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
+</dd><dt>xmlLineNumbersDefault</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
+</dd><dt>xmlListWalk</dt><dd><a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
+</dd><dt>xmlLoadExtDtdDefaultValue</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#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
+</dd><dt>xmlLocationSetPtr</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
+</dd><dt>xmlLockLibrary</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
+</dd><dt>xmlMutexLock</dt><dd><a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
+</dd><dt>xmlMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
+</dd><dt>xmlNanoFTPGet</dt><dd><a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
+</dd><dt>xmlNanoFTPList</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
+</dd><dt>xmlNewChild</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
+</dd><dt>xmlNewDocRawNode</dt><dd><a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+</dd><dt>xmlNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
+</dd><dt>xmlNewNode</dt><dd><a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
+</dd><dt>xmlNewTextChild</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd></dl><h2>Letter z:</h2><dl><dt>zero</dt><dd><a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
+</dd><dt>xmlNewTextWriter</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
+</dd><dt>xmlNodeListGetString</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
+</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#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
+</dd><dt>xmlNodeSetPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
+</dd><dt>xmlNodeType</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
+</dd><dt>xmlNotationPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
+</dd><dt>xmlNotationTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
+</dd><dt>xmlNsPtr</dt><dd><a href="html/libxml-SAX.html#getNamespace">getNamespace</a><br />
+<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>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 />
+</dd><dt>xmlOutputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
+</dd><dt>xmlOutputWriteCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
+</dd><dt>xmlParseAttValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
+</dd><dt>xmlParseChunk</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
+</dd><dt>xmlParseElementContentDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
+</dd><dt>xmlParseElementDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
+</dd><dt>xmlParseExternalID</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
+</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>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 />
+</dd><dt>xmlParserErrors</dt><dd><a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</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-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</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#xmlParseChunk">xmlParseChunk</a><br />
-<a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
+</dd><dt>xmlParserFindNodeInfoIndex</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
+</dd><dt>xmlParserHandleReference</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
+</dd><dt>xmlParserInputBufferPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>xmlParserInputPtr</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-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a><br />
+<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
+<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
+</dd><dt>xmlParserNodeInfo</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
+</dd><dt>xmlParserProperties</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
+</dd><dt>xmlPattern</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
+</dd><dt>xmlPopInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
+</dd><dt>xmlPushInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
+</dd><dt>xmlRFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
+</dd><dt>xmlRMutexLock</dt><dd><a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
+</dd><dt>xmlRMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
+</dd><dt>xmlRNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
+</dd><dt>xmlReader</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
+</dd><dt>xmlRefPtr</dt><dd><a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
+</dd><dt>xmlRelaxNGParserFlag</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
+</dd><dt>xmlRelaxNGValidatePushElement</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
+</dd><dt>xmlSAX2Attribute</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
+</dd><dt>xmlSAX2AttributeDecl</dt><dd><a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
+</dd><dt>xmlSAX2CDataBlock</dt><dd><a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
+</dd><dt>xmlSAX2Characters</dt><dd><a href="html/libxml-SAX.html#characters">characters</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
+</dd><dt>xmlSAX2Comment</dt><dd><a href="html/libxml-SAX.html#comment">comment</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
+</dd><dt>xmlSAX2ElementDecl</dt><dd><a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
+</dd><dt>xmlSAX2EndDocument</dt><dd><a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
+</dd><dt>xmlSAX2EndElement</dt><dd><a href="html/libxml-SAX.html#endElement">endElement</a><br />
+</dd><dt>xmlSAX2EntityDecl</dt><dd><a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
+</dd><dt>xmlSAX2ExternalSubset</dt><dd><a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
+</dd><dt>xmlSAX2GetColumnNumber</dt><dd><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
+</dd><dt>xmlSAX2GetEntity</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
+</dd><dt>xmlSAX2GetLineNumber</dt><dd><a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
+</dd><dt>xmlSAX2GetParameterEntity</dt><dd><a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
+</dd><dt>xmlSAX2GetPublicId</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
+</dd><dt>xmlSAX2GetSystemId</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
+</dd><dt>xmlSAX2HasExternalSubset</dt><dd><a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
+</dd><dt>xmlSAX2HasInternalSubset</dt><dd><a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
+</dd><dt>xmlSAX2IgnorableWhitespace</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
+<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+</dd><dt>xmlSAX2InitDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
+</dd><dt>xmlSAX2InitDocbDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
+</dd><dt>xmlSAX2InitHtmlDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
+</dd><dt>xmlSAX2InternalSubset</dt><dd><a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
+</dd><dt>xmlSAX2IsStandalone</dt><dd><a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
+</dd><dt>xmlSAX2NotationDecl</dt><dd><a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
+</dd><dt>xmlSAX2ProcessingInstruction</dt><dd><a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
+</dd><dt>xmlSAX2Reference</dt><dd><a href="html/libxml-SAX.html#reference">reference</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
+</dd><dt>xmlSAX2ResolveEntity</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
+</dd><dt>xmlSAX2StartDocument</dt><dd><a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
+</dd><dt>xmlSAX2StartElement</dt><dd><a href="html/libxml-SAX.html#startElement">startElement</a><br />
+</dd><dt>xmlSAX2UnparsedEntityDecl</dt><dd><a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
+</dd><dt>xmlSAXVersion</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
+</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>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 />
+</dd><dt>xmlSnprintfElementContent</dt><dd><a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
+</dd><dt>xmlStrEqual</dt><dd><a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
+</dd><dt>xmlStrdup</dt><dd><a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
+</dd><dt>xmlStringDecodeEntities</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
+</dd><dt>xmlStringGetNodeList</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+</dd><dt>xmlStrncat</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
+</dd><dt>xmlStrncmp</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
+</dd><dt>xmlTextReader</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
+<a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>zero-based</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a><br />
-</dd><dt>zeros</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>zlib</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</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#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
+</dd><dt>xmlTextReaderCurrentDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
+</dd><dt>xmlTextReaderLocatorPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
+</dd><dt>xmlTextReaderRead</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
+</dd><dt>xmlTextWriterStartDTDEntity</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
+</dd><dt>xmlTextWriterWriteDTD</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
+</dd><dt>xmlTextWriterWritePI</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
+</dd><dt>xmlURI</dt><dd><a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
+<a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
+<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
+<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
+</dd><dt>xmlURIEscapeStr</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
+</dd><dt>xmlURIFromPath</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
+</dd><dt>xmlURIPtr</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
+</dd><dt>xmlUnlinkNode</dt><dd><a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
+</dd><dt>xmlUnlockLibrary</dt><dd><a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
+</dd><dt>xmlValidCtxtPtr</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
+</dd><dt>xmlValidGetValidElements</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+</dd><dt>xmlValidateAttributeDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
+</dd><dt>xmlValidateAttributeValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
+</dd><dt>xmlValidateOneAttribute</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
+</dd><dt>xmlWriter</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
+</dd><dt>xmlXPathCheckError</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathPopBoolean">xmlXPathPopBoolean</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathPopExternal">xmlXPathPopExternal</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathPopNumber">xmlXPathPopNumber</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a><br />
+</dd><dt>xmlXPathCompExprPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
+<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
+</dd><dt>xmlXPathContext</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
+</dd><dt>xmlXPathError</dt><dd><a href="">err</a><br />
+</dd><dt>xmlXPathEvalPredicate</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
+</dd><dt>xmlXPathFreeObject</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
+</dd><dt>xmlXPathFunction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
+</dd><dt>xmlXPathNodeTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
+</dd><dt>xmlXPathObjectPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</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-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewBoolean">xmlXPathNewBoolean</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewCString">xmlXPathNewCString</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewString">xmlXPathNewString</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
+</dd><dt>xmlXPathParserContext</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
+</dd><dt>xmlXPathTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
+</dd><dt>xmlns</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
+</dd><dt>xmlns:???</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
+</dd><dt>xmltextReader</dt><dd><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#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#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 />
+</dd><dt>xpath</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
+<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
+</dd><dt>xpointer</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</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>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -106,7 +488,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk27.html (from rev 188, packages/libxml2/branches/upstream/current/doc/APIchunk27.html)

Modified: packages/libxml2/trunk/doc/APIchunk3.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk3.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk3.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter F:</h2><dl><dt>FALSE</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
@@ -150,6 +151,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathGetDocument">xmlXPathGetDocument</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathGetError">xmlXPathGetError</a><br />
 </dd><dt>Gets</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadState">xmlTextReaderReadState</a><br />
+</dd><dt>Gives</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 </dd><dt>Global</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 </dd><dt>Gothic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGothic">xmlUCSIsGothic</a><br />
 </dd><dt>Greek</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGreek">xmlUCSIsGreek</a><br />
@@ -273,6 +275,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
 </dd><dt>Included</dt><dd><a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 </dd><dt>Increment</dt><dd><a href="html/libxml-dict.html#xmlDictReference">xmlDictReference</a><br />
+</dd><dt>Indicates</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
 </dd><dt>Infinity</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>Initial</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
 </dd><dt>Initialization</dt><dd><a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
@@ -319,8 +322,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -338,7 +341,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk4.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk4.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk4.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter J:</h2><dl><dt>Jan</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>Java</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 </dd></dl><h2>Letter K:</h2><dl><dt>Kanbun</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKanbun">xmlUCSIsKanbun</a><br />
@@ -290,6 +291,7 @@
 <a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</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 />
 <a href="html/libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
@@ -305,8 +307,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -324,7 +326,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk5.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk5.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk5.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -7,13 +7,13 @@
 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-Q 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-Q 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="#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>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter O:</h2><dl><dt>OBSOLETE:</dt><dd><a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
 </dd><dt>ONCE</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
 </dd><dt>OPT</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
@@ -42,6 +43,10 @@
 </dd><dt>OUT:</dt><dd><a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
+</dd><dt>Obsolete</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
 </dd><dt>Obtain</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
 </dd><dt>Ogham</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOgham">xmlUCSIsOgham</a><br />
@@ -60,6 +65,7 @@
 <a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
+</dd><dt>OutputBufferCreateFilenameFunc</dt><dd><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
 </dd><dt>Override</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 </dd></dl><h2>Letter P:</h2><dl><dt>P32</dt><dd><a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
@@ -120,11 +126,13 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
 </dd><dt>Parsed</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
+</dd><dt>ParserInputBufferCreateFilenameFunc</dt><dd><a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 </dd><dt>Parses</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
 </dd><dt>Parsing</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathErr">xmlXPathErr</a><br />
 </dd><dt>Part</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>Path</dt><dd><a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
 <a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
@@ -228,31 +236,13 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathReturnNumber">xmlXPathReturnNumber</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathReturnString">xmlXPathReturnString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathReturnTrue">xmlXPathReturnTrue</a><br />
-</dd></dl><h2>Letter Q:</h2><dl><dt>QName</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</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-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>QNames</dt><dd><a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-</dd><dt>QUIT</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-</dd><dt>Qualified</dt><dd><a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-</dd><dt>Query</dt><dd><a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
-<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
-</dd><dt>Question:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</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>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -270,7 +260,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk6.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk6.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk6.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -7,13 +7,13 @@
 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 R-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 R-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="#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>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,10 +31,29 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
-</h2><h2>Letter R:</h2><dl><dt>REC</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
+</h2><h2>Letter Q:</h2><dl><dt>QName</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
+<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
+<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
+<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</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-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
+<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
+</dd><dt>QNames</dt><dd><a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
+</dd><dt>QUIT</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
+</dd><dt>Qualified</dt><dd><a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
+</dd><dt>Query</dt><dd><a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
+<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
+</dd><dt>Question:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
+</dd></dl><h2>Letter R:</h2><dl><dt>REC</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_COMBINING">IS_COMBINING</a><br />
 <a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
 </dd><dt>REC-xml</dt><dd><a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
@@ -62,11 +81,11 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-</dd><dt>Reader</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
+</dd><dt>Reader</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 </dd><dt>Readers</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
 </dd><dt>Reads</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
@@ -124,6 +143,8 @@
 </dd><dt>RegisterNodeFunc</dt><dd><a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
 </dd><dt>Registers</dt><dd><a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
 <a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a><br />
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
@@ -167,6 +188,7 @@
 <a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
 </dd><dt>Removes</dt><dd><a href="html/libxml-list.html#xmlListPopBack">xmlListPopBack</a><br />
 <a href="html/libxml-list.html#xmlListPopFront">xmlListPopFront</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
@@ -272,6 +294,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 </dd><dt>Schemas</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
@@ -400,6 +423,7 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>Sinhala</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSinhala">xmlUCSIsSinhala</a><br />
 </dd><dt>Skip</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a><br />
 <a href="html/libxml-parserInternals.html#xmlNextChar">xmlNextChar</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a><br />
@@ -409,6 +433,7 @@
 <a href="html/libxml-parserInternals.html#SKIP_EOL">SKIP_EOL</a><br />
 </dd><dt>SmallFormVariants</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a><br />
 </dd><dt>Some</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>Sort</dt><dd><a href="html/libxml-list.html#xmlListSort">xmlListSort</a><br />
 <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 />
@@ -459,8 +484,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -478,7 +503,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk7.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk7.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk7.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter T:</h2><dl><dt>TEXT</dt><dd><a href="html/libxml-tree.html#xmlAddChild">xmlAddChild</a><br />
 <a href="html/libxml-tree.html#xmlAddChildList">xmlAddChildList</a><br />
 <a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
@@ -233,7 +234,10 @@
 <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 />
-</dd><dt>Used</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
+</dd><dt>Used</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</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_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
+<a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
@@ -251,8 +255,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -270,7 +274,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk8.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk8.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk8.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,11 +31,13 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter V:</h2><dl><dt>Valid</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>Validate</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
+</dd><dt>Validate</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
@@ -167,6 +169,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_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 />
 <a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
@@ -238,6 +241,7 @@
 <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>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 />
@@ -257,7 +261,6 @@
 <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
 </dd><dt>accessed</dt><dd><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#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 </dd><dt>accesses</dt><dd><a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
 <a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
 </dd><dt>accommodate</dt><dd><a href="html/libxml-tree.html#xmlBufferResize">xmlBufferResize</a><br />
@@ -388,6 +391,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#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>aggregate</dt><dd><a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
@@ -403,8 +407,6 @@
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</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#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
 <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -413,10 +415,7 @@
 <a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</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#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 <a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
@@ -448,6 +447,7 @@
 </dd><dt>allowable</dt><dd><a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
 </dd><dt>allowed</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-tree.html#_xmlElement">_xmlElement</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
 <a href="html/libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a><br />
 <a href="html/libxml-HTMLparser.html#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
@@ -468,10 +468,13 @@
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
-</dd><dt>already</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+</dd><dt>already</dt><dd><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_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
+<a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 <a href="html/libxml-tree.html#xmlAddNextSibling">xmlAddNextSibling</a><br />
 <a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
 <a href="html/libxml-tree.html#xmlAddSibling">xmlAddSibling</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
@@ -488,6 +491,7 @@
 <a href="html/libxml-tree.html#xmlHasProp">xmlHasProp</a><br />
 <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a><br />
 </dd><dt>alternative</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a><br />
@@ -533,7 +537,11 @@
 <a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-</dd><dt>anymore</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
+</dd><dt>anymore</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
+<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 />
 </dd><dt>anyway</dt><dd><a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
@@ -603,8 +611,6 @@
 </dd><dt>area</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</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#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -625,6 +631,7 @@
 </dd><dt>assume</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
 </dd><dt>assumed</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
+</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>atomic</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
@@ -659,8 +666,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -678,7 +685,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIchunk9.html
===================================================================
--- packages/libxml2/trunk/doc/APIchunk9.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIchunk9.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
 <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
@@ -78,6 +79,7 @@
 </dd><dt>bear</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
 </dd><dt>becomes</dt><dd><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
 </dd><dt>before</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
 <a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
@@ -119,6 +121,36 @@
 <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 />
 </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 />
@@ -157,6 +189,7 @@
 <a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</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 />
 </dd><dt>bool</dt><dd><a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
 </dd><dt>both</dt><dd><a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
@@ -199,6 +232,8 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>builded</dt><dd><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_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
 </dd><dt>building</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
 <a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
@@ -225,8 +260,11 @@
 <a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
 <a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 <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 />
 </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 />
@@ -264,8 +302,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -283,7 +321,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/trunk/doc/APIconstructors.html
===================================================================
--- packages/libxml2/trunk/doc/APIconstructors.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIconstructors.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -160,6 +160,7 @@
 <a href="html/libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a><br />
 <a href="html/libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a><br />
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a><br />
@@ -198,6 +199,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
 <a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
 <a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</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-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
@@ -400,10 +402,13 @@
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
 </p><h2>Type xmlNsPtr *:</h2><p><a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
+</p><h2>Type xmlOutputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a><br />
 </p><h2>Type xmlOutputBufferPtr:</h2><p><a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
 </p><h2>Type xmlParserCtxtPtr:</h2><p><a href="html/libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
@@ -413,10 +418,13 @@
 <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 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 />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
@@ -447,8 +455,7 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
 </p><h2>Type xmlRelaxNGPtr:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
 </p><h2>Type xmlRelaxNGValidCtxtPtr:</h2><p><a href="html/libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a><br />
-</p><h2>Type xmlSaveCtxtPtr:</h2><p><a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
+</p><h2>Type xmlSaveCtxtPtr:</h2><p><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 />
 </p><h2>Type xmlSchemaFacetPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaNewFacet">xmlSchemaNewFacet</a><br />
@@ -456,7 +463,9 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
 </p><h2>Type xmlSchemaPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-</p><h2>Type xmlSchemaTypePtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
+</p><h2>Type xmlSchemaTypePtr:</h2><p><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#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 </p><h2>Type xmlSchemaValidCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
 </p><h2>Type xmlTextReaderPtr:</h2><p><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
 <a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />

Modified: packages/libxml2/trunk/doc/APIfiles.html
===================================================================
--- packages/libxml2/trunk/doc/APIfiles.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIfiles.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -427,7 +427,13 @@
 <a href="html/libxml-globals.html#xmlMalloc">xmlMalloc</a><br />
 <a href="html/libxml-globals.html#xmlMallocAtomic">xmlMallocAtomic</a><br />
 <a href="html/libxml-globals.html#xmlMemStrdup">xmlMemStrdup</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameValue">xmlOutputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-globals.html#xmlParserDebugEntities">xmlParserDebugEntities</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameValue">xmlParserInputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-globals.html#xmlParserVersion">xmlParserVersion</a><br />
 <a href="html/libxml-globals.html#xmlPedanticParserDefaultValue">xmlPedanticParserDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlRealloc">xmlRealloc</a><br />
@@ -446,7 +452,9 @@
 <a href="html/libxml-globals.html#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a><br />
+<a href="html/libxml-globals.html#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a><br />
+<a href="html/libxml-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a><br />
@@ -578,6 +586,7 @@
 <a href="html/libxml-parser.html#XML_PARSER_START">XML_PARSER_START</a><br />
 <a href="html/libxml-parser.html#XML_PARSER_START_TAG">XML_PARSER_START_TAG</a><br />
 <a href="html/libxml-parser.html#XML_PARSER_SYSTEM_LITERAL">XML_PARSER_SYSTEM_LITERAL</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_DOM">XML_PARSE_DOM</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a><br />
@@ -590,8 +599,13 @@
 <a href="html/libxml-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</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 />
+<a href="html/libxml-parser.html#XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_READER">XML_PARSE_READER</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_SAX">XML_PARSE_SAX</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a><br />
 <a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
 <a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
@@ -680,6 +694,7 @@
 <a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
 <a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
 <a href="html/libxml-parser.html#xmlParserInputState">xmlParserInputState</a><br />
+<a href="html/libxml-parser.html#xmlParserMode">xmlParserMode</a><br />
 <a href="html/libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a><br />
 <a href="html/libxml-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a><br />
@@ -914,10 +929,27 @@
 </p><h2><a name="schemasInternals" id="schemasInternals">Module schemasInternals</a>:</h2><p><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<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_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</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_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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a><br />
+<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_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
@@ -926,13 +958,68 @@
 <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 />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a><br />
+<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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a><br />
 <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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a><br />
+<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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</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_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</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_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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_ELEMENTS">XML_SCHEMA_CONTENT_ELEMENTS</a><br />
@@ -978,29 +1065,46 @@
 <a href="html/libxml-schemasInternals.html#_xmlSchemaAnnot">_xmlSchemaAnnot</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-schemasInternals.html#_xmlSchemaAttributeLink">_xmlSchemaAttributeLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaNotation">_xmlSchemaNotation</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#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaWildcardNs">_xmlSchemaWildcardNs</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</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-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaElementPtr">xmlSchemaElementPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaNotationPtr">xmlSchemaNotationPtr</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 />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</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-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a><br />
 </p><h2><a name="threads" id="threads">Module threads</a>:</h2><p><a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
 <a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
 <a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
@@ -1285,6 +1389,7 @@
 <a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
 <a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
 </p><h2><a name="uri" id="uri">Module uri</a>:</h2><p><a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 <a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
@@ -1884,7 +1989,43 @@
 <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_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a><br />
+<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_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_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_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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ELEMFORMDEFAULT_VALUE">XML_SCHEMAP_ELEMFORMDEFAULT_VALUE</a><br />
 <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 />
@@ -1899,6 +2040,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_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 />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a><br />
@@ -1930,9 +2072,27 @@
 <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_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_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_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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE">XML_SCHEMAP_TYPE_AND_SUBTYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ALL_CHILD">XML_SCHEMAP_UNKNOWN_ALL_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD">XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD">XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD</a><br />
@@ -1962,9 +2122,31 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_TYPE">XML_SCHEMAP_UNKNOWN_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_UNION_CHILD">XML_SCHEMAP_UNKNOWN_UNION_CHILD</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a><br />
 <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_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_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_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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a><br />
+<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_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_ELEMCONT">XML_SCHEMAV_ELEMCONT</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 />
@@ -2229,7 +2411,6 @@
 <a href="html/libxml-xmlsave.html#xmlSaveFlush">xmlSaveFlush</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveSetEscape">xmlSaveSetEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
 <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 />
@@ -2284,14 +2465,19 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />
 </p><h2><a name="xmlschemastypes" id="xmlschemastypes">Module xmlschemastypes</a>:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <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#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#xmlSchemaValidateFacet">xmlSchemaValidateFacet</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 />
 <a href="html/libxml-xmlstring.html#xmlChar">xmlChar</a><br />

Modified: packages/libxml2/trunk/doc/APIfunctions.html
===================================================================
--- packages/libxml2/trunk/doc/APIfunctions.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIfunctions.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -187,6 +187,7 @@
 <a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
@@ -323,9 +324,11 @@
 <a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
+<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#xmlSchemaValidateFacet">xmlSchemaValidateFacet</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 />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
@@ -569,6 +572,8 @@
 <a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
 <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 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 />
@@ -903,7 +908,6 @@
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
 <a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
 </p><h2>Type xmlC14NIsVisibleCallback:</h2><p><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 </p><h2>Type xmlCatalogAllow:</h2><p><a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
 </p><h2>Type xmlCatalogPrefer:</h2><p><a href="html/libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a><br />
@@ -975,6 +979,7 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
@@ -988,6 +993,7 @@
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
 <a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br />
@@ -1494,6 +1500,8 @@
 <a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
+</p><h2>Type xmlOutputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a><br />
 </p><h2>Type xmlOutputBufferPtr:</h2><p><a href="html/libxml-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a><br />
 <a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a><br />
@@ -1621,6 +1629,8 @@
 <a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</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#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a><br />
 <a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
 <a href="html/libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a><br />
@@ -1726,6 +1736,7 @@
 </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#xmlSchemaValidateFacet">xmlSchemaValidateFacet</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#xmlSchemaParse">xmlSchemaParse</a><br />
@@ -1735,6 +1746,8 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
 </p><h2>Type xmlSchemaTypePtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+<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#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
@@ -1743,6 +1756,7 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
 </p><h2>Type xmlSchemaValPtr *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</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#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
@@ -1751,6 +1765,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</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 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 />
 <a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />

Modified: packages/libxml2/trunk/doc/APIsymbols.html
===================================================================
--- packages/libxml2/trunk/doc/APIsymbols.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/APIsymbols.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -477,6 +477,7 @@
 <a href="html/libxml-xmlreader.html#XML_PARSER_SUBST_ENTITIES">XML_PARSER_SUBST_ENTITIES</a><br />
 <a href="html/libxml-parser.html#XML_PARSER_SYSTEM_LITERAL">XML_PARSER_SYSTEM_LITERAL</a><br />
 <a href="html/libxml-xmlreader.html#XML_PARSER_VALIDATE">XML_PARSER_VALIDATE</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_DOM">XML_PARSE_DOM</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a><br />
@@ -489,8 +490,13 @@
 <a href="html/libxml-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</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 />
+<a href="html/libxml-parser.html#XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_READER">XML_PARSE_READER</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_SAX">XML_PARSE_SAX</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a><br />
+<a href="html/libxml-parser.html#XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a><br />
 <a href="html/libxml-parser.html#XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a><br />
 <a href="html/libxml-tree.html#XML_PI_NODE">XML_PI_NODE</a><br />
 <a href="html/libxml-xmlreader.html#XML_READER_TYPE_ATTRIBUTE">XML_READER_TYPE_ATTRIBUTE</a><br />
@@ -687,7 +693,43 @@
 <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_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a><br />
+<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_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_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_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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ELEMFORMDEFAULT_VALUE">XML_SCHEMAP_ELEMFORMDEFAULT_VALUE</a><br />
 <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 />
@@ -702,6 +744,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_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 />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a><br />
@@ -733,9 +776,27 @@
 <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_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_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_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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE">XML_SCHEMAP_TYPE_AND_SUBTYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ALL_CHILD">XML_SCHEMAP_UNKNOWN_ALL_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD">XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD">XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD</a><br />
@@ -765,13 +826,31 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_TYPE">XML_SCHEMAP_UNKNOWN_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_UNION_CHILD">XML_SCHEMAP_UNKNOWN_UNION_CHILD</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<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_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</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_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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a><br />
+<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_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
@@ -780,6 +859,8 @@
 <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 />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRINVALID">XML_SCHEMAS_ERR_ATTRINVALID</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRUNKNOWN">XML_SCHEMAS_ERR_ATTRUNKNOWN</a><br />
@@ -810,12 +891,86 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a><br />
+<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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a><br />
 <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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a><br />
+<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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</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_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</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_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_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 />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
 <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_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_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_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 />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a><br />
+<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_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_ELEMCONT">XML_SCHEMAV_ELEMCONT</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 />
@@ -1020,10 +1175,15 @@
 <a href="html/libxml-schemasInternals.html#_xmlSchemaAnnot">_xmlSchemaAnnot</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-schemasInternals.html#_xmlSchemaAttributeLink">_xmlSchemaAttributeLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaNotation">_xmlSchemaNotation</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#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaWildcardNs">_xmlSchemaWildcardNs</a><br />
 <a href="html/libxml-debugXML.html#_xmlShellCtxt">_xmlShellCtxt</a><br />
 <a href="html/libxml-uri.html#_xmlURI">_xmlURI</a><br />
 <a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
@@ -1299,6 +1459,7 @@
 <a href="html/libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
+<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
 <a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
@@ -1856,6 +2017,9 @@
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameValue">xmlOutputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a><br />
 <a href="html/libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a><br />
@@ -1944,6 +2108,9 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameValue">xmlParserInputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
@@ -1958,6 +2125,7 @@
 <a href="html/libxml-parserInternals.html#xmlParserInputShrink">xmlParserInputShrink</a><br />
 <a href="html/libxml-parser.html#xmlParserInputState">xmlParserInputState</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserMaxDepth">xmlParserMaxDepth</a><br />
+<a href="html/libxml-parser.html#xmlParserMode">xmlParserMode</a><br />
 <a href="html/libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a><br />
 <a href="html/libxml-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a><br />
@@ -2139,7 +2307,6 @@
 <a href="html/libxml-globals.html#xmlSaveNoEmptyTags">xmlSaveNoEmptyTags</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveSetEscape">xmlSaveSetEscape</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToBuffer">xmlSaveToBuffer</a><br />
 <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 />
@@ -2152,15 +2319,20 @@
 <a href="html/libxml-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaElementPtr">xmlSchemaElementPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
@@ -2168,8 +2340,12 @@
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</a><br />
+<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#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-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaNewFacet">xmlSchemaNewFacet</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
@@ -2184,20 +2360,28 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</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 />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a><br />
 <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-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#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidError">xmlSchemaValidError</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-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 />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</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#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
@@ -2424,7 +2608,9 @@
 <a href="html/libxml-globals.html#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a><br />
+<a href="html/libxml-globals.html#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a><br />
+<a href="html/libxml-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a><br />

Modified: packages/libxml2/trunk/doc/FAQ.html
===================================================================
--- packages/libxml2/trunk/doc/FAQ.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/FAQ.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -217,7 +217,8 @@
       <p>Website: <a
       href="http://pmade.org/pjones/software/xmlwrapp/">http://pmade.org/pjones/software/xmlwrapp/</a></p>
       </li>
-      --></ul></li>
+      -->
+    </ul></li>
   <li>How to validate a document a posteriori ?
     <p>It is possible to validate documents which had not been validated at
     initial parsing time or documents which have been built from scratch

Modified: packages/libxml2/trunk/doc/Makefile.am
===================================================================
--- packages/libxml2/trunk/doc/Makefile.am	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/Makefile.am	2004-07-06 13:30:31 UTC (rev 189)
@@ -28,10 +28,19 @@
 
 all: web $(top_srcdir)/NEWS libxml2.xsa $(man_MANS)
 
-api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src
+api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src ../elfgcchack.h
 
 web: $(PAGES)
 
+../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
+	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	  echo "Rebuilding the elfgcchack.h header" ; \
+	  $(bindir)/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 \
 	  echo "Rebuilding the HTML Web pages from xml.html" ; \

Modified: packages/libxml2/trunk/doc/Makefile.in
===================================================================
--- packages/libxml2/trunk/doc/Makefile.in	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/Makefile.in	2004-07-06 13:30:31 UTC (rev 189)
@@ -634,10 +634,19 @@
 
 all: web $(top_srcdir)/NEWS libxml2.xsa $(man_MANS)
 
-api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src
+api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src ../elfgcchack.h
 
 web: $(PAGES)
 
+../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
+	-@(if [ -x $(bindir)/xsltproc ] ; then \
+	  echo "Rebuilding the elfgcchack.h header" ; \
+	  $(bindir)/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 \
 	  echo "Rebuilding the HTML Web pages from xml.html" ; \

Modified: packages/libxml2/trunk/doc/apibuild.py
===================================================================
--- packages/libxml2/trunk/doc/apibuild.py	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/apibuild.py	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,6 +12,8 @@
 import glob
 
 debug=0
+#debugsym='ignorableWhitespaceSAXFunc'
+debugsym=None
 
 #
 # C parser analysis code
@@ -29,6 +31,7 @@
   "testOOMlib.c": "out of memory tester",
   "rngparser.c": "not yet integrated",
   "rngparser.h": "not yet integrated",
+  "elfgcchack.h": "not a normal header",
 }
 
 ignored_words = {
@@ -44,6 +47,7 @@
   "XSLTCALL": (0, "Special macro for win32 calls"),
   "EXSLTCALL": (0, "Special macro for win32 calls"),
   "__declspec": (3, "Windows keyword"),
+  "__stdcall": (0, "Windows keyword"),
   "ATTRIBUTE_UNUSED": (0, "macro keyword"),
   "LIBEXSLT_PUBLIC": (0, "macro keyword"),
   "X_IN_Y": (5, "macro function builder"),
@@ -65,7 +69,7 @@
 
 class identifier:
     def __init__(self, name, module=None, type=None, lineno = 0,
-                 info=None, extra=None):
+                 info=None, extra=None, conditionals = None):
         self.name = name
 	self.module = module
 	self.type = type
@@ -73,6 +77,13 @@
 	self.extra = extra
 	self.lineno = lineno
 	self.static = 0
+	if conditionals == None or len(conditionals) == 0:
+	    self.conditionals = None
+	else:
+	    self.conditionals = conditionals[:]
+	if self.name == debugsym:
+	    print "=> define %s : %s" % (debugsym, (module, type, info,
+	                                 extra, conditionals))
 
     def __repr__(self):
         r = "%s %s:" % (self.type, self.name)
@@ -84,6 +95,8 @@
 	    r = r + " " +  `self.info`
 	if self.extra != None:
 	    r = r + " " + `self.extra`
+	if self.conditionals != None:
+	    r = r + " " + `self.conditionals`
 	return r
 
 
@@ -99,6 +112,11 @@
         self.lineno = lineno
     def set_static(self, static):
         self.static = static
+    def set_conditionals(self, conditionals):
+	if conditionals == None or len(conditionals) == 0:
+	    self.conditionals = None
+	else:
+	    self.conditionals = conditionals[:]
 
     def get_name(self):
         return self.name
@@ -114,8 +132,14 @@
         return self.extra
     def get_static(self):
         return self.static
+    def get_conditionals(self):
+        return self.conditionals
 
-    def update(self, module, type = None, info = None, extra=None):
+    def update(self, module, type = None, info = None, extra=None,
+               conditionals=None):
+	if self.name == debugsym:
+	    print "=> update %s : %s" % (debugsym, (module, type, info,
+	                                 extra, conditionals))
         if module != None and self.module == None:
 	    self.set_module(module)
         if type != None and self.type == None:
@@ -124,6 +148,8 @@
 	    self.set_info(info)
         if extra != None:
 	    self.set_extra(extra)
+        if conditionals != None:
+	    self.set_conditionals(conditionals)
 
 
 class index:
@@ -140,15 +166,15 @@
 	self.references = {}
 	self.info = {}
 
-    def add_ref(self, name, module, static, type, lineno, info=None, extra=None):
+    def add_ref(self, name, module, static, type, lineno, info=None, extra=None, conditionals = None):
         if name[0:2] == '__':
 	    return None
         d = None
         try:
 	   d = self.identifiers[name]
-	   d.update(module, type, lineno, info, extra)
+	   d.update(module, type, lineno, info, extra, conditionals)
 	except:
-	   d = identifier(name, module, type, lineno, info, extra)
+	   d = identifier(name, module, type, lineno, info, extra, conditionals)
 	   self.identifiers[name] = d
 
 	if d != None and static == 1:
@@ -157,15 +183,20 @@
 	if d != None and name != None and type != None:
 	    self.references[name] = d
 
-    def add(self, name, module, static, type, lineno, info=None, extra=None):
+	if name == debugsym:
+	    print "New ref: %s" % (d)
+
+	return d
+
+    def add(self, name, module, static, type, lineno, info=None, extra=None, conditionals = None):
         if name[0:2] == '__':
 	    return None
         d = None
         try:
 	   d = self.identifiers[name]
-	   d.update(module, type, lineno, info, extra)
+	   d.update(module, type, lineno, info, extra, conditionals)
 	except:
-	   d = identifier(name, module, type, lineno, info, extra)
+	   d = identifier(name, module, type, lineno, info, extra, conditionals)
 	   self.identifiers[name] = d
 
 	if d != None and static == 1:
@@ -190,6 +221,10 @@
 	        self.macros[name] = d
 	    else:
 	        print "Unable to register type ", type
+
+	if name == debugsym:
+	    print "New symbol: %s" % (d)
+
 	return d
 
     def merge(self, idx):
@@ -514,6 +549,8 @@
 	self.comment = None
 	self.collect_ref = 0
 	self.no_error = 0
+	self.conditionals = []
+	self.defines = []
 
     def collect_references(self):
         self.collect_ref = 1
@@ -529,12 +566,12 @@
 
     def index_add(self, name, module, static, type, info=None, extra = None):
         self.index.add(name, module, static, type, self.lineno(),
-	               info, extra)
+	               info, extra, self.conditionals)
 
     def index_add_ref(self, name, module, static, type, info=None,
                       extra = None):
         self.index.add_ref(name, module, static, type, self.lineno(),
-	               info, extra)
+	               info, extra, self.conditionals)
 
     def warning(self, msg):
         if self.no_error:
@@ -787,6 +824,8 @@
 	return(((ret[0], retdesc), args, desc))
 
     def parsePreproc(self, token):
+	if debug:
+	    print "=> preproc ", token, self.lexer.tokens
         name = token[1]
 	if name == "#include":
 	    token = self.lexer.token()
@@ -818,6 +857,22 @@
 		self.index_add(name, self.filename, not self.is_header,
 		                "macro", info)
 		return token
+	if name == "#ifdef" and self.is_header:
+	    try:
+	        self.defines.append(self.lexer.tokens[0][1])
+	        if string.find(self.lexer.tokens[0][1], 'ENABLED') != -1:
+		    self.conditionals.append(self.lexer.tokens[0][1])
+#		print self.conditionals
+#		print self.defines
+	    except:
+	        pass
+	if name == "#endif" and self.is_header:
+	    if self.conditionals != [] and self.defines != [] and \
+	       self.defines[-1] == self.conditionals[-1]:
+	        self.conditionals = self.conditionals[:-1]
+	    self.defines = self.defines[:-1]
+#	    print self.defines
+#	    print self.conditionals
 	token = self.lexer.token()
 	while token != None and token[0] == 'preproc' and \
 	    token[1][0] != '#':
@@ -1581,8 +1636,14 @@
 	              
     def serialize_function(self, output, name):
         id = self.idx.functions[name]
+	if name == debugsym:
+	    print "=>", id
+
         output.write("    <%s name='%s' file='%s'>\n" % (id.type, name,
 	             self.modulename_file(id.module)))
+	if id.conditionals != None:
+	    for cond in id.conditionals:
+	        output.write("      <cond>%s</cond>\n"% (cond));
 	try:
 	    (ret, params, desc) = id.info
 	    output.write("      <info>%s</info>\n" % (escape(desc)))
@@ -1910,4 +1971,8 @@
     return idx
 
 if __name__ == "__main__":
-    rebuild()
+    if len(sys.argv) > 1:
+        debug = 1
+        parse(sys.argv[1])
+    else:
+	rebuild()

Copied: packages/libxml2/trunk/doc/elfgcchack.xsl (from rev 188, packages/libxml2/branches/upstream/current/doc/elfgcchack.xsl)

Modified: packages/libxml2/trunk/doc/examples/Makefile.am
===================================================================
--- packages/libxml2/trunk/doc/examples/Makefile.am	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/examples/Makefile.am	2004-07-06 13:30:31 UTC (rev 189)
@@ -93,6 +93,7 @@
 	$(MAKE) CHECKER='valgrind -q' tests
 
 tests: $(noinst_PROGRAMS)
+	@(echo '## examples regression tests')
 	@(echo > .memdump)
 	@($(CHECKER) ././xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)

Modified: packages/libxml2/trunk/doc/examples/Makefile.in
===================================================================
--- packages/libxml2/trunk/doc/examples/Makefile.in	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/examples/Makefile.in	2004-07-06 13:30:31 UTC (rev 189)
@@ -694,6 +694,7 @@
 	$(MAKE) CHECKER='valgrind -q' tests
 
 tests: $(noinst_PROGRAMS)
+	@(echo '## examples regression tests')
 	@(echo > .memdump)
 	@($(CHECKER) ././xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)

Modified: packages/libxml2/trunk/doc/examples/examples.xml
===================================================================
--- packages/libxml2/trunk/doc/examples/examples.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/examples/examples.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -309,10 +309,10 @@
       <include>&lt;libxml/parser.h&gt;</include>
     </includes>
     <uses>
-      <function line='93' file='parser' name='xmlFreeParserCtxt'/>
-      <function line='85' file='parser' name='xmlParseChunk'/>
-      <function line='66' file='parser' name='xmlCreatePushParserCtxt'/>
-      <typedef line='44' file='tree' name='xmlParserCtxtPtr'/>
+      <function line='94' file='parser' name='xmlFreeParserCtxt'/>
+      <function line='86' file='parser' name='xmlParseChunk'/>
+      <function line='67' file='parser' name='xmlCreatePushParserCtxt'/>
+      <typedef line='45' file='tree' name='xmlParserCtxtPtr'/>
     </uses>
   </example>
   <example filename='io2.c'>
@@ -327,13 +327,13 @@
       <include>&lt;libxml/parser.h&gt;</include>
     </includes>
     <uses>
-      <function line='27' file='tree' name='xmlNodeSetContent'/>
-      <function line='34' file='tree' name='xmlDocDumpFormatMemory'/>
-      <variable line='40' file='globals' name='xmlFree'/>
-      <function line='28' file='tree' name='xmlDocSetRootElement'/>
-      <typedef line='17' file='tree' name='xmlNodePtr'/>
-      <function line='25' file='tree' name='xmlNewDoc'/>
-      <function line='26' file='tree' name='xmlNewNode'/>
+      <function line='29' file='tree' name='xmlNodeSetContent'/>
+      <function line='36' file='tree' name='xmlDocDumpFormatMemory'/>
+      <variable line='42' file='globals' name='xmlFree'/>
+      <function line='30' file='tree' name='xmlDocSetRootElement'/>
+      <typedef line='19' file='tree' name='xmlNodePtr'/>
+      <function line='27' file='tree' name='xmlNewDoc'/>
+      <function line='28' file='tree' name='xmlNewNode'/>
     </uses>
   </example>
   <example filename='xpath2.c'>

Modified: packages/libxml2/trunk/doc/examples/index.py
===================================================================
--- packages/libxml2/trunk/doc/examples/index.py	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/examples/index.py	2004-07-06 13:30:31 UTC (rev 189)
@@ -251,6 +251,7 @@
 	       example, example)
     Makefile = Makefile + "valgrind: \n\t$(MAKE) CHECKER='valgrind -q' tests\n\n"
     Makefile = Makefile + "tests: $(noinst_PROGRAMS)\n"
+    Makefile = Makefile + "\t@(echo '## examples regression tests')\n"
     Makefile = Makefile + "\t@(echo > .memdump)\n"
     for test in tests:
         Makefile = Makefile + "\t@($(CHECKER) %s)\n" % (test)

Modified: packages/libxml2/trunk/doc/examples/io2.c
===================================================================
--- packages/libxml2/trunk/doc/examples/io2.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/examples/io2.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -11,35 +11,48 @@
 
 #include <libxml/parser.h>
 
+#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
 int
-main(void) {
+main(void)
+{
 
-	xmlNodePtr n;
-	xmlDocPtr doc;
-	xmlChar *xmlbuff;
-	int buffersize;
+    xmlNodePtr n;
+    xmlDocPtr doc;
+    xmlChar *xmlbuff;
+    int buffersize;
 
-	/*
-	 * Create the document.
-	 */
-	doc = xmlNewDoc(BAD_CAST "1.0");
-	n = xmlNewNode(NULL, BAD_CAST "root");
-	xmlNodeSetContent(n, BAD_CAST "content");
-	xmlDocSetRootElement(doc,n);
+    /*
+     * Create the document.
+     */
+    doc = xmlNewDoc(BAD_CAST "1.0");
+    n = xmlNewNode(NULL, BAD_CAST "root");
+    xmlNodeSetContent(n, BAD_CAST "content");
+    xmlDocSetRootElement(doc, n);
 
-	/*
-	 * Dump the document to a buffer and print it
-	 * for demonstration purposes.
-	 */
-	xmlDocDumpFormatMemory (doc, &xmlbuff, &buffersize, 1);
-	printf ((char *)xmlbuff);
+    /*
+     * Dump the document to a buffer and print it
+     * for demonstration purposes.
+     */
+    xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1);
+    printf((char *) xmlbuff);
 
-	/*
-	 * Free associated memory.
-	 */
-     	xmlFree (xmlbuff);
-	xmlFreeDoc(doc);
+    /*
+     * Free associated memory.
+     */
+    xmlFree(xmlbuff);
+    xmlFreeDoc(doc);
 
-	return(0);
+    return (0);
 
 }
+#else
+#include <stdio.h>
+
+int
+main(void)
+{
+    fprintf(stderr,
+            "library not configured with tree and output support\n");
+    return (1);
+}
+#endif

Modified: packages/libxml2/trunk/doc/examples/parse4.c
===================================================================
--- packages/libxml2/trunk/doc/examples/parse4.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/examples/parse4.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -14,6 +14,7 @@
 #include <libxml/parser.h>
 #include <libxml/tree.h>
 
+#ifdef LIBXML_PUSH_ENABLED
 static FILE *desc;
 
 /**
@@ -134,3 +135,9 @@
     xmlMemoryDump();
     return(0);
 }
+#else /* ! LIBXML_PUSH_ENABLED */
+int main(int argc, char **argv) {
+    fprintf(stderr, "Library not compiled with push parser support\n");
+    return(1);
+}
+#endif

Modified: packages/libxml2/trunk/doc/examples/testWriter.c
===================================================================
--- packages/libxml2/trunk/doc/examples/testWriter.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/examples/testWriter.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -80,7 +80,7 @@
     }
 
     /* Start the document with the xml default for the version,
-     * encoding ISO 8858-1 and the default for the standalone
+     * encoding ISO 8859-1 and the default for the standalone
      * declaration. */
     rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
     if (rc < 0) {
@@ -359,7 +359,7 @@
     }
 
     /* Start the document with the xml default for the version,
-     * encoding ISO 8858-1 and the default for the standalone
+     * encoding ISO 8859-1 and the default for the standalone
      * declaration. */
     rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
     if (rc < 0) {
@@ -636,7 +636,7 @@
     }
 
     /* Start the document with the xml default for the version,
-     * encoding ISO 8858-1 and the default for the standalone
+     * encoding ISO 8859-1 and the default for the standalone
      * declaration. */
     rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
     if (rc < 0) {
@@ -908,7 +908,7 @@
     }
 
     /* Start the document with the xml default for the version,
-     * encoding ISO 8858-1 and the default for the standalone
+     * encoding ISO 8859-1 and the default for the standalone
      * declaration. */
     rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
     if (rc < 0) {

Modified: packages/libxml2/trunk/doc/html/libxml-SAX2.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-SAX2.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-SAX2.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -122,7 +122,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of namespace definitions on that node</td></tr><tr><td><span class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace definitions</td></tr><tr><td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of attributes on that node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the number of defaulted attributes.</td></tr><tr><td><span class="term"><i><tt>attributes</tt></i>:</span></td><td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml-SAX.html#attribute">attribute</a> values.</td></tr></tbody></table></div><h3><a name="xmlSAX2UnparsedEntityDecl" id="xmlSAX2UnparsedEntityDecl"></a>Function: xmlSAX2UnparsedEntityDecl</h3><pre class="programlisting">void	xmlSAX2UnparsedEntityDecl	(void * ctx, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br />
 </pre><p>What to do when an unparsed entity declaration is parsed</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 user data (XML parser context)</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>The name of the entity</td></tr><tr><td><span class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span class="term"><i><tt>notationName</tt></i>:</span></td><td>the name of the notation</td></tr></tbody></table></div><h3><a name="xmlSAXDefaultVersion" id="xmlSAXDefaultVersion"></a>Function: xmlSAXDefaultVersion</h3><pre class="programlisting">int	xmlSAXDefaultVersion		(int version)<br />
-</pre><p>Set the default version of SAX used globally by the library. Note that this may not be a good thing to do from a library it is better to use xmlSAXVersion() to set up specifically the version for a given parsing context.</p>
+</pre><p>Set the default version of SAX used globally by the library. By default, during initialization the default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td>the version, 1 or 2</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSAXVersion" id="xmlSAXVersion"></a>Function: xmlSAXVersion</h3><pre class="programlisting">int	xmlSAXVersion			(<a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br />					 int version)<br />
 </pre><p>Initialize the default XML SAX handler according to the version</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>hdlr</tt></i>:</span></td><td>the SAX handler</td></tr><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td>the version, 1 or 2</td></tr><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><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/trunk/doc/html/libxml-globals.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-globals.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-globals.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -19,6 +19,14 @@
 </pre>
 <pre class="programlisting">void	<a href="#xmlInitGlobals">xmlInitGlobals</a>			(void)</pre>
 <pre class="programlisting">void	<a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>	(<a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)</pre>
+<pre class="programlisting">Function type: <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)
+</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)</pre>
+<pre class="programlisting">Function type: <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)
+</pre>
 <pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)</pre>
 <pre class="programlisting">Function type: <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>
 void	<a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
@@ -32,7 +40,9 @@
 <pre class="programlisting">int	<a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a>	(int v)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>	(int v)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a>	(int v)</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>	(int v)</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>	(int v)</pre>
 <pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a>	(int v)</pre>
@@ -72,6 +82,8 @@
     <a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefaultValue
     <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMallocAtomic
     <a href="libxml-xmlerror.html#xmlError">xmlError</a>	xmlLastError
+    <a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameValue
+    <a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameValue
 }</pre><h3><a name="xmlCleanupGlobals" id="xmlCleanupGlobals"></a>Function: xmlCleanupGlobals</h3><pre class="programlisting">void	xmlCleanupGlobals		(void)<br />
 </pre><p>Additional cleanup for multi-threading</p>
 <h3><a name="xmlDeregisterNodeDefault" id="xmlDeregisterNodeDefault"></a>Function: xmlDeregisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefault	(<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br />
@@ -83,7 +95,17 @@
 </pre><p>Additional initialisation for multi-threading</p>
 <h3><a name="xmlInitializeGlobalState" id="xmlInitializeGlobalState"></a>Function: xmlInitializeGlobalState</h3><pre class="programlisting">void	xmlInitializeGlobalState	(<a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)<br />
 </pre><p>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>gs</tt></i>:</span></td><td>a pointer to a newly allocated global state</td></tr></tbody></table></div><h3><a name="xmlRegisterNodeDefault" id="xmlRegisterNodeDefault"></a>Function: xmlRegisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>gs</tt></i>:</span></td><td>a pointer to a newly allocated global state</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilenameDefault" id="xmlOutputBufferCreateFilenameDefault"></a>Function: xmlOutputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br />
+</pre><p>Registers a callback for URI output file handling</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new OutputBufferCreateFilenameFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilenameFunc" id="xmlOutputBufferCreateFilenameFunc"></a>Function type: xmlOutputBufferCreateFilenameFunc</h3><pre class="programlisting">Function type: xmlOutputBufferCreateFilenameFunc
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilenameFunc	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)
+</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>compression</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><br />
+<h3><a name="xmlParserInputBufferCreateFilenameDefault" id="xmlParserInputBufferCreateFilenameDefault"></a>Function: xmlParserInputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br />
+</pre><p>Registers a callback for URI input file handling</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new ParserInputBufferCreateFilenameFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFilenameFunc" id="xmlParserInputBufferCreateFilenameFunc"></a>Function type: xmlParserInputBufferCreateFilenameFunc</h3><pre class="programlisting">Function type: xmlParserInputBufferCreateFilenameFunc
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilenameFunc	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)
+</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
+<h3><a name="xmlRegisterNodeDefault" id="xmlRegisterNodeDefault"></a>Function: xmlRegisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br />
 </pre><p>Registers a callback for node creation</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new RegisterNodeFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlRegisterNodeFunc" id="xmlRegisterNodeFunc"></a>Function type: xmlRegisterNodeFunc</h3><pre class="programlisting">Function type: xmlRegisterNodeFunc
 void	xmlRegisterNodeFunc		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
@@ -106,10 +128,14 @@
 </pre><p></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</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="xmlThrDefLoadExtDtdDefaultValue" id="xmlThrDefLoadExtDtdDefaultValue"></a>Function: xmlThrDefLoadExtDtdDefaultValue</h3><pre class="programlisting">int	xmlThrDefLoadExtDtdDefaultValue	(int v)<br />
 </pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</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="xmlThrDefParserDebugEntities" id="xmlThrDefParserDebugEntities"></a>Function: xmlThrDefParserDebugEntities</h3><pre class="programlisting">int	xmlThrDefParserDebugEntities	(int v)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</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="xmlThrDefOutputBufferCreateFilenameDefault" id="xmlThrDefOutputBufferCreateFilenameDefault"></a>Function: xmlThrDefOutputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlThrDefOutputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br />
 </pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</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="xmlThrDefPedanticParserDefaultValue" id="xmlThrDefPedanticParserDefaultValue"></a>Function: xmlThrDefPedanticParserDefaultValue</h3><pre class="programlisting">int	xmlThrDefPedanticParserDefaultValue	(int v)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</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="xmlThrDefParserDebugEntities" id="xmlThrDefParserDebugEntities"></a>Function: xmlThrDefParserDebugEntities</h3><pre class="programlisting">int	xmlThrDefParserDebugEntities	(int v)<br />
 </pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</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="xmlThrDefParserInputBufferCreateFilenameDefault" id="xmlThrDefParserInputBufferCreateFilenameDefault"></a>Function: xmlThrDefParserInputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlThrDefParserInputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</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="xmlThrDefPedanticParserDefaultValue" id="xmlThrDefPedanticParserDefaultValue"></a>Function: xmlThrDefPedanticParserDefaultValue</h3><pre class="programlisting">int	xmlThrDefPedanticParserDefaultValue	(int v)<br />
+</pre><p></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</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="xmlThrDefRegisterNodeDefault" id="xmlThrDefRegisterNodeDefault"></a>Function: xmlThrDefRegisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlThrDefRegisterNodeDefault	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br />
 </pre><p></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</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="xmlThrDefSaveNoEmptyTags" id="xmlThrDefSaveNoEmptyTags"></a>Function: xmlThrDefSaveNoEmptyTags</h3><pre class="programlisting">int	xmlThrDefSaveNoEmptyTags	(int v)<br />

Modified: packages/libxml2/trunk/doc/html/libxml-parser.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-parser.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-parser.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -11,6 +11,7 @@
       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>
+</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>
 </pre><pre class="programlisting">Structure <a href="#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a><br />struct _xmlParserNodeInfoSeq
@@ -208,6 +209,14 @@
     <a name="XML_PARSER_IGNORE" id="XML_PARSER_IGNORE">XML_PARSER_IGNORE</a> = 15 : within an IGNORED section
     <a name="XML_PARSER_PUBLIC_LITERAL" id="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 : within a PUBLIC value
 }
+</pre><h3>Enum <a name="xmlParserMode" id="xmlParserMode">xmlParserMode</a></h3><pre class="programlisting">Enum xmlParserMode {
+    <a name="XML_PARSE_UNKNOWN" id="XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a> = 0
+    <a name="XML_PARSE_DOM" id="XML_PARSE_DOM">XML_PARSE_DOM</a> = 1
+    <a name="XML_PARSE_SAX" id="XML_PARSE_SAX">XML_PARSE_SAX</a> = 2
+    <a name="XML_PARSE_PUSH_DOM" id="XML_PARSE_PUSH_DOM">XML_PARSE_PUSH_DOM</a> = 3
+    <a name="XML_PARSE_PUSH_SAX" id="XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a> = 4
+    <a name="XML_PARSE_READER" id="XML_PARSE_READER">XML_PARSE_READER</a> = 5
+}
 </pre><h3><a name="xmlParserNodeInfo" id="xmlParserNodeInfo">Structure xmlParserNodeInfo</a></h3><pre class="programlisting">Structure xmlParserNodeInfo<br />struct _xmlParserNodeInfo {
     const struct _xmlNode *	node	: Position &amp; line # that text that create
     unsigned long	begin_pos

Modified: packages/libxml2/trunk/doc/html/libxml-schemasInternals.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-schemasInternals.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-schemasInternals.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -10,49 +10,86 @@
 </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_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_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_MIXED">XML_SCHEMAS_TYPE_MIXED</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="#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
 </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
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * <a name="xmlSchemaAttributeGroupPtr" id="xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>
+</pre><pre class="programlisting">Structure <a href="#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a><br />struct _xmlSchemaAttributeLink
+</pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * <a name="xmlSchemaAttributeLinkPtr" id="xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * <a name="xmlSchemaAttributePtr" id="xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>
 </pre><pre class="programlisting">Enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaElement">xmlSchemaElement</a><br />struct _xmlSchemaElement
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * <a name="xmlSchemaElementPtr" id="xmlSchemaElementPtr">xmlSchemaElementPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaFacet">xmlSchemaFacet</a><br />struct _xmlSchemaFacet
+</pre><pre class="programlisting">Structure <a href="#xmlSchemaFacetLink">xmlSchemaFacetLink</a><br />struct _xmlSchemaFacetLink
+</pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * <a name="xmlSchemaFacetLinkPtr" id="xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * <a name="xmlSchemaFacetPtr" id="xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaNotation">xmlSchemaNotation</a><br />struct _xmlSchemaNotation
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * <a name="xmlSchemaNotationPtr" id="xmlSchemaNotationPtr">xmlSchemaNotationPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaType">xmlSchemaType</a><br />struct _xmlSchemaType
+</pre><pre class="programlisting">Structure <a href="#xmlSchemaTypeLink">xmlSchemaTypeLink</a><br />struct _xmlSchemaTypeLink
+</pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * <a name="xmlSchemaTypeLinkPtr" id="xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * <a name="xmlSchemaTypePtr" id="xmlSchemaTypePtr">xmlSchemaTypePtr</a>
 </pre><pre class="programlisting">Enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaVal">xmlSchemaVal</a><br />struct _xmlSchemaVal
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * <a name="xmlSchemaValPtr" id="xmlSchemaValPtr">xmlSchemaValPtr</a>
+</pre><pre class="programlisting">Enum <a href="#xmlSchemaValType">xmlSchemaValType</a>
+</pre><pre class="programlisting">Structure <a href="#xmlSchemaWildcard">xmlSchemaWildcard</a><br />struct _xmlSchemaWildcard
+</pre><pre class="programlisting">Structure <a href="#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a><br />struct _xmlSchemaWildcardNs
+</pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * <a name="xmlSchemaWildcardNsPtr" id="xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>
+</pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * <a name="xmlSchemaWildcardPtr" id="xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>
 </pre><pre class="programlisting">void	<a href="#xmlSchemaFreeType">xmlSchemaFreeType</a>		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)</pre>
+<pre class="programlisting">void	<a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>		(<a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)</pre>
 <h2>Description</h2>
-<h3><a name="XML_SCHEMAS_ANYATTR_LAX" id="XML_SCHEMAS_ANYATTR_LAX"></a>Macro: XML_SCHEMAS_ANYATTR_LAX</h3><pre>#define XML_SCHEMAS_ANYATTR_LAX</pre><p>Ignore validation non definition on attributes</p>
-<h3><a name="XML_SCHEMAS_ANYATTR_SKIP" id="XML_SCHEMAS_ANYATTR_SKIP"></a>Macro: XML_SCHEMAS_ANYATTR_SKIP</h3><pre>#define XML_SCHEMAS_ANYATTR_SKIP</pre><p>Skip unknown <a href="libxml-SAX.html#attribute">attribute</a> from validation</p>
-<h3><a name="XML_SCHEMAS_ANYATTR_STRICT" id="XML_SCHEMAS_ANYATTR_STRICT"></a>Macro: XML_SCHEMAS_ANYATTR_STRICT</h3><pre>#define XML_SCHEMAS_ANYATTR_STRICT</pre><p>Apply strict validation rules on attributes</p>
+<h3><a name="XML_SCHEMAS_ANYATTR_LAX" id="XML_SCHEMAS_ANYATTR_LAX"></a>Macro: XML_SCHEMAS_ANYATTR_LAX</h3><pre>#define XML_SCHEMAS_ANYATTR_LAX</pre><p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
+<h3><a name="XML_SCHEMAS_ANYATTR_SKIP" id="XML_SCHEMAS_ANYATTR_SKIP"></a>Macro: XML_SCHEMAS_ANYATTR_SKIP</h3><pre>#define XML_SCHEMAS_ANYATTR_SKIP</pre><p>Skip unknown <a href="libxml-SAX.html#attribute">attribute</a> from validation Obsolete, not used anymore.</p>
+<h3><a name="XML_SCHEMAS_ANYATTR_STRICT" id="XML_SCHEMAS_ANYATTR_STRICT"></a>Macro: XML_SCHEMAS_ANYATTR_STRICT</h3><pre>#define XML_SCHEMAS_ANYATTR_STRICT</pre><p>Apply strict validation rules on attributes Obsolete, not used anymore.</p>
+<h3><a name="XML_SCHEMAS_ANY_LAX" id="XML_SCHEMAS_ANY_LAX"></a>Macro: XML_SCHEMAS_ANY_LAX</h3><pre>#define XML_SCHEMAS_ANY_LAX</pre><p>Used by wildcards. Validate if type found, don't worry if not found</p>
+<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_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_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_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>The <a href="libxml-SAX.html#attribute">attribute</a> is prohibited.</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_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_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_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_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</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>
-<h3><a name="XML_SCHEMAS_ELEM_TOPLEVEL" id="XML_SCHEMAS_ELEM_TOPLEVEL"></a>Macro: XML_SCHEMAS_ELEM_TOPLEVEL</h3><pre>#define XML_SCHEMAS_ELEM_TOPLEVEL</pre><p>the element is top level</p>
+<h3><a name="XML_SCHEMAS_ELEM_TOPLEVEL" id="XML_SCHEMAS_ELEM_TOPLEVEL"></a>Macro: XML_SCHEMAS_ELEM_TOPLEVEL</h3><pre>#define XML_SCHEMAS_ELEM_TOPLEVEL</pre><p>the element is top level obsolete: use <a href="libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
 <h3><a name="XML_SCHEMAS_FACET_COLLAPSE" id="XML_SCHEMAS_FACET_COLLAPSE"></a>Macro: XML_SCHEMAS_FACET_COLLAPSE</h3><pre>#define XML_SCHEMAS_FACET_COLLAPSE</pre><p>collapse the types of the facet</p>
 <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_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>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT" id="XML_SCHEMAS_TYPE_FINAL_DEFAULT"></a>Macro: XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_DEFAULT</pre><p></p>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION" id="XML_SCHEMAS_TYPE_FINAL_EXTENSION"></a>Macro: XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_EXTENSION</pre><p>the complexType has a final of "extension".</p>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_LIST" id="XML_SCHEMAS_TYPE_FINAL_LIST"></a>Macro: XML_SCHEMAS_TYPE_FINAL_LIST</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_LIST</pre><p>the simpleType has a final of "list".</p>
+<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_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>
+<h3><a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC" id="XML_SCHEMAS_TYPE_VARIETY_ATOMIC"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC</pre><p>the simpleType has a variety of "union".</p>
+<h3><a name="XML_SCHEMAS_TYPE_VARIETY_LIST" id="XML_SCHEMAS_TYPE_VARIETY_LIST"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_LIST</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_LIST</pre><p>the simpleType has a variety of "list".</p>
+<h3><a name="XML_SCHEMAS_TYPE_VARIETY_UNION" id="XML_SCHEMAS_TYPE_VARIETY_UNION"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_UNION</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_UNION</pre><p>the simpleType has a variety of "union".</p>
+<h3><a name="XML_SCHEMAS_WILDCARD_COMPLETE" id="XML_SCHEMAS_WILDCARD_COMPLETE"></a>Macro: XML_SCHEMAS_WILDCARD_COMPLETE</h3><pre>#define XML_SCHEMAS_WILDCARD_COMPLETE</pre><p>If the wildcard is complete.</p>
 <h3><a name="xmlSchemaAnnot" id="xmlSchemaAnnot">Structure xmlSchemaAnnot</a></h3><pre class="programlisting">Structure xmlSchemaAnnot<br />struct _xmlSchemaAnnot {
     struct _xmlSchemaAnnot *	next
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	content	: the annotation
@@ -83,13 +120,18 @@
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
+    int	flags
+    <a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
+}</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>
 }</pre><h3>Enum <a name="xmlSchemaContentType" id="xmlSchemaContentType">xmlSchemaContentType</a></h3><pre class="programlisting">Enum xmlSchemaContentType {
     <a name="XML_SCHEMA_CONTENT_UNKNOWN" id="XML_SCHEMA_CONTENT_UNKNOWN">XML_SCHEMA_CONTENT_UNKNOWN</a> = 0
     <a name="XML_SCHEMA_CONTENT_EMPTY" id="XML_SCHEMA_CONTENT_EMPTY">XML_SCHEMA_CONTENT_EMPTY</a> = 1
     <a name="XML_SCHEMA_CONTENT_ELEMENTS" id="XML_SCHEMA_CONTENT_ELEMENTS">XML_SCHEMA_CONTENT_ELEMENTS</a> = 2
     <a name="XML_SCHEMA_CONTENT_MIXED" id="XML_SCHEMA_CONTENT_MIXED">XML_SCHEMA_CONTENT_MIXED</a> = 3
     <a name="XML_SCHEMA_CONTENT_SIMPLE" id="XML_SCHEMA_CONTENT_SIMPLE">XML_SCHEMA_CONTENT_SIMPLE</a> = 4
-    <a name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS" id="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a> = 5
+    <a name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS" id="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a> = 5 : obsolete, not used
     <a name="XML_SCHEMA_CONTENT_BASIC" id="XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a> = 6
     <a name="XML_SCHEMA_CONTENT_ANY" id="XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a> = 7
 }
@@ -128,6 +170,9 @@
     int	whitespace
     <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val
     <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp
+}</pre><h3><a name="xmlSchemaFacetLink" id="xmlSchemaFacetLink">Structure xmlSchemaFacetLink</a></h3><pre class="programlisting">Structure xmlSchemaFacetLink<br />struct _xmlSchemaFacetLink {
+    struct _xmlSchemaFacetLink *	next	: the next facet link ...
+    <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facet	: the linked facet
 }</pre><h3><a name="xmlSchemaNotation" id="xmlSchemaNotation">Structure xmlSchemaNotation</a></h3><pre class="programlisting">Structure xmlSchemaNotation<br />struct _xmlSchemaNotation {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name
@@ -154,8 +199,16 @@
     <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facets
     struct _xmlSchemaType *	redef	: possible redefinitions for the type
     int	recurse
+    <a href="libxml-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a>	attributeUses
+    <a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
+    int	builtInType
+    <a href="libxml-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes
+    <a href="libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet
+}</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
 }</pre><h3>Enum <a name="xmlSchemaTypeType" id="xmlSchemaTypeType">xmlSchemaTypeType</a></h3><pre class="programlisting">Enum xmlSchemaTypeType {
-    <a name="XML_SCHEMA_TYPE_BASIC" id="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1
+    <a name="XML_SCHEMA_TYPE_BASIC" id="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1 : A built-in datatype
     <a name="XML_SCHEMA_TYPE_ANY" id="XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a> = 2
     <a name="XML_SCHEMA_TYPE_FACET" id="XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a> = 3
     <a name="XML_SCHEMA_TYPE_SIMPLE" id="XML_SCHEMA_TYPE_SIMPLE">XML_SCHEMA_TYPE_SIMPLE</a> = 4
@@ -191,6 +244,72 @@
 }
 </pre><h3><a name="xmlSchemaVal" id="xmlSchemaVal">Structure xmlSchemaVal</a></h3><pre class="programlisting">Structure xmlSchemaVal<br />struct _xmlSchemaVal {
 The content of this structure is not made public by the API.
+}</pre><h3>Enum <a name="xmlSchemaValType" id="xmlSchemaValType">xmlSchemaValType</a></h3><pre class="programlisting">Enum xmlSchemaValType {
+    <a name="XML_SCHEMAS_UNKNOWN" id="XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a> = 0
+    <a name="XML_SCHEMAS_STRING" id="XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a> = 1
+    <a name="XML_SCHEMAS_NORMSTRING" id="XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a> = 2
+    <a name="XML_SCHEMAS_DECIMAL" id="XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a> = 3
+    <a name="XML_SCHEMAS_TIME" id="XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a> = 4
+    <a name="XML_SCHEMAS_GDAY" id="XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a> = 5
+    <a name="XML_SCHEMAS_GMONTH" id="XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a> = 6
+    <a name="XML_SCHEMAS_GMONTHDAY" id="XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a> = 7
+    <a name="XML_SCHEMAS_GYEAR" id="XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a> = 8
+    <a name="XML_SCHEMAS_GYEARMONTH" id="XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a> = 9
+    <a name="XML_SCHEMAS_DATE" id="XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a> = 10
+    <a name="XML_SCHEMAS_DATETIME" id="XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a> = 11
+    <a name="XML_SCHEMAS_DURATION" id="XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</a> = 12
+    <a name="XML_SCHEMAS_FLOAT" id="XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a> = 13
+    <a name="XML_SCHEMAS_DOUBLE" id="XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a> = 14
+    <a name="XML_SCHEMAS_BOOLEAN" id="XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a> = 15
+    <a name="XML_SCHEMAS_TOKEN" id="XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a> = 16
+    <a name="XML_SCHEMAS_LANGUAGE" id="XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a> = 17
+    <a name="XML_SCHEMAS_NMTOKEN" id="XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a> = 18
+    <a name="XML_SCHEMAS_NMTOKENS" id="XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a> = 19
+    <a name="XML_SCHEMAS_NAME" id="XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a> = 20
+    <a name="XML_SCHEMAS_QNAME" id="XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a> = 21
+    <a name="XML_SCHEMAS_NCNAME" id="XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a> = 22
+    <a name="XML_SCHEMAS_ID" id="XML_SCHEMAS_ID">XML_SCHEMAS_ID</a> = 23
+    <a name="XML_SCHEMAS_IDREF" id="XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a> = 24
+    <a name="XML_SCHEMAS_IDREFS" id="XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a> = 25
+    <a name="XML_SCHEMAS_ENTITY" id="XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a> = 26
+    <a name="XML_SCHEMAS_ENTITIES" id="XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a> = 27
+    <a name="XML_SCHEMAS_NOTATION" id="XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a> = 28
+    <a name="XML_SCHEMAS_ANYURI" id="XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a> = 29
+    <a name="XML_SCHEMAS_INTEGER" id="XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a> = 30
+    <a name="XML_SCHEMAS_NPINTEGER" id="XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a> = 31
+    <a name="XML_SCHEMAS_NINTEGER" id="XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a> = 32
+    <a name="XML_SCHEMAS_NNINTEGER" id="XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a> = 33
+    <a name="XML_SCHEMAS_PINTEGER" id="XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a> = 34
+    <a name="XML_SCHEMAS_INT" id="XML_SCHEMAS_INT">XML_SCHEMAS_INT</a> = 35
+    <a name="XML_SCHEMAS_UINT" id="XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a> = 36
+    <a name="XML_SCHEMAS_LONG" id="XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a> = 37
+    <a name="XML_SCHEMAS_ULONG" id="XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a> = 38
+    <a name="XML_SCHEMAS_SHORT" id="XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a> = 39
+    <a name="XML_SCHEMAS_USHORT" id="XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a> = 40
+    <a name="XML_SCHEMAS_BYTE" id="XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a> = 41
+    <a name="XML_SCHEMAS_UBYTE" id="XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a> = 42
+    <a name="XML_SCHEMAS_HEXBINARY" id="XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a> = 43
+    <a name="XML_SCHEMAS_BASE64BINARY" id="XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a> = 44
+    <a name="XML_SCHEMAS_ANYTYPE" id="XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a> = 45
+    <a name="XML_SCHEMAS_ANYSIMPLETYPE" id="XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a> = 46
+}
+</pre><h3><a name="xmlSchemaWildcard" id="xmlSchemaWildcard">Structure xmlSchemaWildcard</a></h3><pre class="programlisting">Structure xmlSchemaWildcard<br />struct _xmlSchemaWildcard {
+    <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id
+    <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
+    <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	node
+    int	minOccurs
+    int	maxOccurs
+    int	processContents
+    int	any	: Indicates if the ns constraint is of ##
+    <a href="libxml-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	nsSet	: The list of allowed namespaces
+    <a href="libxml-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	negNsSet	: The negated namespace
+    int	flags
+}</pre><h3><a name="xmlSchemaWildcardNs" id="xmlSchemaWildcardNs">Structure xmlSchemaWildcardNs</a></h3><pre class="programlisting">Structure xmlSchemaWildcardNs<br />struct _xmlSchemaWildcardNs {
+    struct _xmlSchemaWildcardNs *	next	: the next constraint link ...
+    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	value	: the value
 }</pre><h3><a name="xmlSchemaFreeType" id="xmlSchemaFreeType"></a>Function: xmlSchemaFreeType</h3><pre class="programlisting">void	xmlSchemaFreeType		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br />
 </pre><p>Deallocate a Schema Type structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>a schema type structure</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>type</tt></i>:</span></td><td>a schema type structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeWildcard" id="xmlSchemaFreeWildcard"></a>Function: xmlSchemaFreeWildcard</h3><pre class="programlisting">void	xmlSchemaFreeWildcard		(<a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)<br />
+</pre><p>Deallocates a wildcard structure.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>wildcard</tt></i>:</span></td><td>a wildcard structure</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/trunk/doc/html/libxml-tree.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-tree.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-tree.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -521,6 +521,7 @@
     int	freeAttrsNr	: number of freed attributes nodes
     <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>	freeAttrs	: * the complete error informations for th
     <a href="libxml-xmlerror.html#xmlError">xmlError</a>	lastError
+    <a href="libxml-parser.html#xmlParserMode">xmlParserMode</a>	parseMode	: the parser mode
 }</pre><h3><a name="xmlParserInput" id="xmlParserInput">Structure xmlParserInput</a></h3><pre class="programlisting">Structure xmlParserInput<br />struct _xmlParserInput {
     <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	buf	: UTF-8 encoded buffer
     const char *	filename	: The file analyzed, if any

Modified: packages/libxml2/trunk/doc/html/libxml-uri.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-uri.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-uri.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,7 +12,8 @@
       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
 </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="#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>
+</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>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCanonicPath">xmlCanonicPath</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)</pre>
 <pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlCreateURI">xmlCreateURI</a>		(void)</pre>
 <pre class="programlisting">void	<a href="#xmlFreeURI">xmlFreeURI</a>			(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)</pre>
@@ -36,7 +37,9 @@
     char *	query	: the query string
     char *	fragment	: the fragment identifier
     int	cleanup	: parsing potentially unclean URI
-}</pre><h3><a name="xmlBuildURI" id="xmlBuildURI"></a>Function: xmlBuildURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildURI		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br />
+}</pre><h3><a name="xmlBuildRelativeURI" id="xmlBuildRelativeURI"></a>Function: xmlBuildRelativeURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildRelativeURI	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br />
+</pre><p>Expresses the URI of the <a href="libxml-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml-SAX.html#reference">reference</a> is really wierd or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p>
+<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 <a href="libxml-SAX.html#reference">reference</a> under consideration</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be freed by the caller) or NULL in case error.</td></tr></tbody></table></div><h3><a name="xmlBuildURI" id="xmlBuildURI"></a>Function: xmlBuildURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildURI		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * base)<br />
 </pre><p>Computes he final URI of the <a href="libxml-SAX.html#reference">reference</a> done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form</p>
 <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 instance found in the document</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be freed by the caller) or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlCanonicPath" id="xmlCanonicPath"></a>Function: xmlCanonicPath</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlCanonicPath		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)<br />
 </pre><p>Constructs a canonic path from the specified path.</p>

Modified: packages/libxml2/trunk/doc/html/libxml-xmlerror.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlerror.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-xmlerror.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -549,6 +549,25 @@
     <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
@@ -572,6 +591,27 @@
     <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_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
@@ -586,6 +626,43 @@
     <a name="XML_HTTP_URL_SYNTAX" id="XML_HTTP_URL_SYNTAX">XML_HTTP_URL_SYNTAX</a> = 2020
     <a name="XML_HTTP_USE_IP" id="XML_HTTP_USE_IP">XML_HTTP_USE_IP</a> = 2021 : 2021
     <a name="XML_HTTP_UNKNOWN_HOST" id="XML_HTTP_UNKNOWN_HOST">XML_HTTP_UNKNOWN_HOST</a> = 2022 : 2022
+    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_1" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a> = 3000
+    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_2" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a> = 3001 : 3001
+    <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_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
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a> = 3024 : 3024
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a> = 3025 : 3025
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a> = 3026 : 3026
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a> = 3027 : 3027
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a> = 3028 : 3028
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a> = 3029 : 3029
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a> = 3030 : 3030
+    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1" id="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a> = 3031 : 3031
+    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2" id="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a> = 3032 : 3032
+    <a name="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED" id="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a> = 3033 : 3033
+    <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
 }
 </pre><h3><a name="initGenericErrorDefaultFunc" id="initGenericErrorDefaultFunc"></a>Function: initGenericErrorDefaultFunc</h3><pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler)<br />
 </pre><p>Set or reset (if NULL) the default handler for generic errors to the builtin error function.</p>

Modified: packages/libxml2/trunk/doc/html/libxml-xmlmemory.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlmemory.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-xmlmemory.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -71,14 +71,14 @@
 <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 />
 </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>a free() equivalent, with error checking.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td>the memory block pointer</td></tr></tbody></table></div><h3><a name="xmlMemGet" id="xmlMemGet"></a>Function: xmlMemGet</h3><pre class="programlisting">int	xmlMemGet			(<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)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlMemGet" id="xmlMemGet"></a>Function: xmlMemGet</h3><pre class="programlisting">int	xmlMemGet			(<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)<br />
 </pre><p>Provides the memory access functions set currently in use</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>freeFunc</tt></i>:</span></td><td>place to save the free() function in use</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>place to save the malloc() function in use</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>place to save the realloc() function in use</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>place to save the strdup() function in use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div><h3><a name="xmlMemMalloc" id="xmlMemMalloc"></a>Function: xmlMemMalloc</h3><pre class="programlisting">void *	xmlMemMalloc			(size_t size)<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>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="xmlMemRealloc" id="xmlMemRealloc"></a>Function: xmlMemRealloc</h3><pre class="programlisting">void *	xmlMemRealloc			(void * ptr, <br />					 size_t size)<br />
-</pre><p>a realloc() 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>ptr</tt></i>:</span></td><td>the initial memory block pointer</td></tr><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>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="xmlMemSetup" id="xmlMemSetup"></a>Function: xmlMemSetup</h3><pre class="programlisting">int	xmlMemSetup			(<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)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</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="xmlMemRealloc" id="xmlMemRealloc"></a>Function: xmlMemRealloc</h3><pre class="programlisting">void *	xmlMemRealloc			(void * ptr, <br />					 size_t size)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>size</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="xmlMemSetup" id="xmlMemSetup"></a>Function: xmlMemSetup</h3><pre class="programlisting">int	xmlMemSetup			(<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)<br />
 </pre><p>Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ?</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>freeFunc</tt></i>:</span></td><td>the free() function to use</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>the malloc() function to use</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>the realloc() function to use</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>the strdup() function to use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div><h3><a name="xmlMemShow" id="xmlMemShow"></a>Function: xmlMemShow</h3><pre class="programlisting">void	xmlMemShow			(FILE * fp, <br />					 int nr)<br />
 </pre><p>show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed</p>
@@ -89,8 +89,8 @@
 <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 amount of memory allocated.</td></tr></tbody></table></div><h3><a name="xmlMemoryDump" id="xmlMemoryDump"></a>Function: xmlMemoryDump</h3><pre class="programlisting">void	xmlMemoryDump			(void)<br />
 </pre><p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
 <h3><a name="xmlMemoryStrdup" id="xmlMemoryStrdup"></a>Function: xmlMemoryStrdup</h3><pre class="programlisting">char *	xmlMemoryStrdup			(const char * str)<br />
-</pre><p>a strdup() 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>str</tt></i>:</span></td><td>the initial string pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new string or NULL if allocation error occurred.</td></tr></tbody></table></div><h3><a name="xmlReallocFunc" id="xmlReallocFunc"></a>Function type: xmlReallocFunc</h3><pre class="programlisting">Function type: xmlReallocFunc
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</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="xmlReallocFunc" id="xmlReallocFunc"></a>Function type: xmlReallocFunc</h3><pre class="programlisting">Function type: xmlReallocFunc
 void *	xmlReallocFunc			(void * mem, <br />					 size_t size)
 </pre><p>Signature for a realloc() implementation.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>an already allocated block of memory</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the new size requested in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the newly reallocated block or NULL in case of error.</td></tr></tbody></table></div><br />
 <h3><a name="xmlReallocLoc" id="xmlReallocLoc"></a>Function: xmlReallocLoc</h3><pre class="programlisting">void *	xmlReallocLoc			(void * ptr, <br />					 size_t size, <br />					 const char * file, <br />					 int line)<br />

Modified: packages/libxml2/trunk/doc/html/libxml-xmlreader.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlreader.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-xmlreader.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -258,7 +258,7 @@
 <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 or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderPrefix" id="xmlTextReaderPrefix"></a>Function: xmlTextReaderPrefix</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderPrefix	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>A shorthand <a href="libxml-SAX.html#reference">reference</a> to the namespace associated with 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 prefix or NULL if not available</td></tr></tbody></table></div><h3><a name="xmlTextReaderPreserve" id="xmlTextReaderPreserve"></a>Function: xmlTextReaderPreserve</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderPreserve	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
-</pre><p>current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p>
+</pre><p>This tells the XML Reader to preserve the current node. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once 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#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderPreservePattern" id="xmlTextReaderPreservePattern"></a>Function: xmlTextReaderPreservePattern</h3><pre class="programlisting">int	xmlTextReaderPreservePattern	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br />
 </pre><p>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once 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>pattern</tt></i>:</span></td><td>an XPath subset pattern</td></tr><tr><td><span class="term"><i><tt>namespaces</tt></i>:</span></td><td>the prefix definitions, array of [URI, prefix] or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a positive number in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderQuoteChar" id="xmlTextReaderQuoteChar"></a>Function: xmlTextReaderQuoteChar</h3><pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />

Modified: packages/libxml2/trunk/doc/html/libxml-xmlsave.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlsave.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-xmlsave.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -18,7 +18,6 @@
 <pre class="programlisting">int	<a href="#xmlSaveFlush">xmlSaveFlush</a>			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a>		(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)</pre>
 <pre class="programlisting">int	<a href="#xmlSaveSetEscape">xmlSaveSetEscape</a>		(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)</pre>
-<pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToBuffer">xmlSaveToBuffer</a>		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br />					 const char * encoding, <br />					 int options)</pre>
 <pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFd">xmlSaveToFd</a>		(int fd, <br />					 const char * encoding, <br />					 int options)</pre>
 <pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFilename">xmlSaveToFilename</a>	(const char * filename, <br />					 const char * encoding, <br />					 int options)</pre>
 <pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToIO">xmlSaveToIO</a>		(<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />					 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * encoding, <br />					 int options)</pre>
@@ -36,9 +35,7 @@
 </pre><p>Set a custom escaping function to be used for text in <a href="libxml-SAX.html#attribute">attribute</a> content</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 document saving context</td></tr><tr><td><span class="term"><i><tt>escape</tt></i>:</span></td><td>the escaping function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveSetEscape" id="xmlSaveSetEscape"></a>Function: xmlSaveSetEscape</h3><pre class="programlisting">int	xmlSaveSetEscape		(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br />
 </pre><p>Set a custom escaping function to be used for text in element content</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 document saving context</td></tr><tr><td><span class="term"><i><tt>escape</tt></i>:</span></td><td>the escaping function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveToBuffer" id="xmlSaveToBuffer"></a>Function: xmlSaveToBuffer</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToBuffer		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br />					 const char * encoding, <br />					 int options)<br />
-</pre><p>Create a document saving context serializing to a buffer with the encoding and the options given</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveToFd" id="xmlSaveToFd"></a>Function: xmlSaveToFd</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToFd		(int fd, <br />					 const char * encoding, <br />					 int options)<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 document saving context</td></tr><tr><td><span class="term"><i><tt>escape</tt></i>:</span></td><td>the escaping function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveToFd" id="xmlSaveToFd"></a>Function: xmlSaveToFd</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToFd		(int fd, <br />					 const char * encoding, <br />					 int options)<br />
 </pre><p>Create a document saving context serializing to a file descriptor with the encoding and the options given.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>a file descriptor number</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveToFilename" id="xmlSaveToFilename"></a>Function: xmlSaveToFilename</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToFilename	(const char * filename, <br />					 const char * encoding, <br />					 int options)<br />
 </pre><p>Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.</p>

Modified: packages/libxml2/trunk/doc/html/libxml-xmlschemastypes.html
===================================================================
--- packages/libxml2/trunk/doc/html/libxml-xmlschemastypes.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/html/libxml-xmlschemastypes.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,36 +12,51 @@
       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>
 <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>
 <pre class="programlisting">void	<a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)</pre>
 <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"><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="#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="#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>
 <h3><a name="xmlSchemaCheckFacet" id="xmlSchemaCheckFacet"></a>Function: xmlSchemaCheckFacet</h3><pre class="programlisting">int	xmlSchemaCheckFacet		(<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)<br />
 </pre><p>Checks the default values types, especially for facets</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</td></tr><tr><td><span class="term"><i><tt>typeDecl</tt></i>:</span></td><td>the schema type definition</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context or NULL</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if okay or -1 in cae of error</td></tr></tbody></table></div><h3><a name="xmlSchemaCleanupTypes" id="xmlSchemaCleanupTypes"></a>Function: xmlSchemaCleanupTypes</h3><pre class="programlisting">void	xmlSchemaCleanupTypes		(void)<br />
 </pre><p>Cleanup the default XML Schemas type library</p>
-<h3><a name="xmlSchemaCompareValues" id="xmlSchemaCompareValues"></a>Function: xmlSchemaCompareValues</h3><pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br />
+<h3><a name="xmlSchemaCollapseString" id="xmlSchemaCollapseString"></a>Function: xmlSchemaCollapseString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaCollapseString	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
+</pre><p>Removes and normalize white spaces in the string</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL if no change was required.</td></tr></tbody></table></div><h3><a name="xmlSchemaCompareValues" id="xmlSchemaCompareValues"></a>Function: xmlSchemaCompareValues</h3><pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br />
 </pre><p>Compare 2 values</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>x</tt></i>:</span></td><td>a first value</td></tr><tr><td><span class="term"><i><tt>y</tt></i>:</span></td><td>a second value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeFacet" id="xmlSchemaFreeFacet"></a>Function: xmlSchemaFreeFacet</h3><pre class="programlisting">void	xmlSchemaFreeFacet		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br />
 </pre><p>Deallocate a Schema Facet structure.</p>
 <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="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>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>
+<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 />
 </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="xmlSchemaNewFacet" id="xmlSchemaNewFacet"></a>Function: xmlSchemaNewFacet</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br />
+<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>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="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="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 />
+<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 />
+</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>
 <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>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><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/trunk/doc/libxml2-api.xml
===================================================================
--- packages/libxml2/trunk/doc/libxml2-api.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/libxml2-api.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -463,15 +463,16 @@
      <exports symbol='_xmlGlobalState' type='struct'/>
      <exports symbol='xmlRealloc' type='variable'/>
      <exports symbol='xmlStructuredError' type='variable'/>
+     <exports symbol='xmlParserDebugEntities' type='variable'/>
      <exports symbol='xmlLastError' type='variable'/>
-     <exports symbol='xmlDefaultSAXLocator' type='variable'/>
      <exports symbol='xmlTreeIndentString' type='variable'/>
      <exports symbol='xmlMemStrdup' type='variable'/>
      <exports symbol='htmlDefaultSAXHandler' type='variable'/>
      <exports symbol='xmlIndentTreeOutput' type='variable'/>
      <exports symbol='xmlSaveNoEmptyTags' type='variable'/>
+     <exports symbol='xmlParserInputBufferCreateFilenameValue' type='variable'/>
      <exports symbol='xmlDefaultBufferSize' type='variable'/>
-     <exports symbol='xmlRegisterNodeDefaultValue' type='variable'/>
+     <exports symbol='xmlOutputBufferCreateFilenameValue' type='variable'/>
      <exports symbol='xmlKeepBlanksDefaultValue' type='variable'/>
      <exports symbol='xmlGetWarningsDefaultValue' type='variable'/>
      <exports symbol='xmlMallocAtomic' type='variable'/>
@@ -479,9 +480,10 @@
      <exports symbol='xmlBufferAllocScheme' type='variable'/>
      <exports symbol='docbDefaultSAXHandler' type='variable'/>
      <exports symbol='xmlGenericErrorContext' type='variable'/>
-     <exports symbol='oldXMLWDcompatibility' type='variable'/>
+     <exports symbol='xmlDefaultSAXLocator' type='variable'/>
      <exports symbol='xmlFree' type='variable'/>
      <exports symbol='xmlLoadExtDtdDefaultValue' type='variable'/>
+     <exports symbol='xmlRegisterNodeDefaultValue' type='variable'/>
      <exports symbol='xmlDeregisterNodeDefaultValue' type='variable'/>
      <exports symbol='xmlGenericError' type='variable'/>
      <exports symbol='xmlMalloc' type='variable'/>
@@ -490,24 +492,29 @@
      <exports symbol='xmlDoValidityCheckingDefaultValue' type='variable'/>
      <exports symbol='xmlDefaultSAXHandler' type='variable'/>
      <exports symbol='xmlPedanticParserDefaultValue' type='variable'/>
-     <exports symbol='xmlParserDebugEntities' type='variable'/>
+     <exports symbol='oldXMLWDcompatibility' type='variable'/>
      <exports symbol='xmlThrDefSetStructuredErrorFunc' type='function'/>
-     <exports symbol='xmlCleanupGlobals' type='function'/>
-     <exports symbol='xmlThrDefRegisterNodeDefault' type='function'/>
+     <exports symbol='xmlThrDefParserInputBufferCreateFilenameDefault' type='function'/>
+     <exports symbol='xmlDeregisterNodeDefault' type='function'/>
+     <exports symbol='xmlThrDefDeregisterNodeDefault' type='function'/>
+     <exports symbol='xmlThrDefPedanticParserDefaultValue' type='function'/>
      <exports symbol='xmlInitializeGlobalState' type='function'/>
      <exports symbol='xmlThrDefBufferAllocScheme' type='function'/>
      <exports symbol='xmlThrDefSetGenericErrorFunc' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateFilenameDefault' type='function'/>
      <exports symbol='xmlThrDefDoValidityCheckingDefaultValue' type='function'/>
-     <exports symbol='xmlThrDefPedanticParserDefaultValue' type='function'/>
+     <exports symbol='xmlCleanupGlobals' type='function'/>
      <exports symbol='xmlRegisterNodeDefault' type='function'/>
+     <exports symbol='xmlParserInputBufferCreateFilenameFunc' type='function'/>
      <exports symbol='xmlThrDefGetWarningsDefaultValue' type='function'/>
-     <exports symbol='xmlThrDefDeregisterNodeDefault' type='function'/>
+     <exports symbol='xmlThrDefOutputBufferCreateFilenameDefault' type='function'/>
      <exports symbol='xmlThrDefSubstituteEntitiesDefaultValue' type='function'/>
      <exports symbol='xmlRegisterNodeFunc' type='function'/>
      <exports symbol='xmlThrDefSaveNoEmptyTags' type='function'/>
      <exports symbol='xmlThrDefIndentTreeOutput' type='function'/>
      <exports symbol='xmlThrDefDefaultBufferSize' type='function'/>
-     <exports symbol='xmlDeregisterNodeDefault' type='function'/>
+     <exports symbol='xmlOutputBufferCreateFilenameFunc' type='function'/>
+     <exports symbol='xmlOutputBufferCreateFilenameDefault' type='function'/>
      <exports symbol='xmlInitGlobals' type='function'/>
      <exports symbol='xmlThrDefLoadExtDtdDefaultValue' type='function'/>
      <exports symbol='xmlThrDefLineNumbersDefaultValue' type='function'/>
@@ -515,6 +522,7 @@
      <exports symbol='xmlDeregisterNodeFunc' type='function'/>
      <exports symbol='xmlThrDefParserDebugEntities' type='function'/>
      <exports symbol='xmlThrDefTreeIndentString' type='function'/>
+     <exports symbol='xmlThrDefRegisterNodeDefault' type='function'/>
     </file>
     <file name='hash'>
      <summary>chained hash tables</summary>
@@ -659,6 +667,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_PUSH_DOM' type='enum'/>
      <exports symbol='XML_PARSER_PROLOG' type='enum'/>
      <exports symbol='XML_PARSE_NONET' type='enum'/>
      <exports symbol='XML_PARSER_EPILOG' type='enum'/>
@@ -666,10 +675,14 @@
      <exports symbol='XML_PARSE_NOCDATA' type='enum'/>
      <exports symbol='XML_PARSE_SAX1' type='enum'/>
      <exports symbol='XML_PARSE_DTDVALID' type='enum'/>
+     <exports symbol='XML_PARSE_DOM' type='enum'/>
      <exports symbol='XML_PARSER_DTD' type='enum'/>
      <exports symbol='XML_PARSER_MISC' type='enum'/>
      <exports symbol='XML_PARSER_ATTRIBUTE_VALUE' type='enum'/>
+     <exports symbol='XML_PARSE_PUSH_SAX' type='enum'/>
      <exports symbol='XML_PARSER_START' type='enum'/>
+     <exports symbol='XML_PARSE_SAX' type='enum'/>
+     <exports symbol='XML_PARSE_UNKNOWN' type='enum'/>
      <exports symbol='XML_PARSE_PEDANTIC' type='enum'/>
      <exports symbol='XML_PARSER_START_TAG' type='enum'/>
      <exports symbol='XML_PARSER_IGNORE' type='enum'/>
@@ -679,11 +692,13 @@
      <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_READER' type='enum'/>
      <exports symbol='xmlParserNodeInfoSeqPtr' type='typedef'/>
      <exports symbol='xmlSAXHandlerV1Ptr' type='typedef'/>
+     <exports symbol='xmlParserMode' type='typedef'/>
      <exports symbol='xmlSAXHandlerV1' type='typedef'/>
+     <exports symbol='xmlParserOption' type='typedef'/>
      <exports symbol='xmlParserInputState' type='typedef'/>
-     <exports symbol='xmlParserOption' type='typedef'/>
      <exports symbol='xmlParserNodeInfoPtr' type='typedef'/>
      <exports symbol='xmlParserNodeInfo' type='typedef'/>
      <exports symbol='xmlParserNodeInfoSeq' type='typedef'/>
@@ -1015,96 +1030,185 @@
      <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_ANYATTR_LAX' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANYATTR_STRICT' 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_QUALIF_ATTR' 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_ELEM_NSDEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANY_STRICT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' 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_ATTR_USE_PROHIBITED' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
+     <exports symbol='XML_SCHEMAS_WILDCARD_COMPLETE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FIXED' 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_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_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_ANY_SKIP' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_LIST' 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_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_ABSTRACT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_UNION' type='macro'/>
      <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANYATTR_SKIP' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_USE_OPTIONAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_NSDEFAULT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTRGROUP_GLOBAL' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
-     <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_GROUP' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_SEQUENCE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_SIMPLE_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GMONTH' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_ELEMENTS' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MININCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_WHITESPACE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GYEAR' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BYTE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ALL' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_EXTENSION' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MAXINCLUSIVE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ANYSIMPLETYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NMTOKEN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ID' type='enum'/>
+     <exports symbol='XML_SCHEMAS_TIME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UBYTE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DATETIME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NNINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_IDREFS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_INT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UNKNOWN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_IDREF' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UINT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GDAY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GMONTHDAY' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ANY' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MINEXCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_MIXED' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ANYURI' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MAXEXCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_FACET' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_COMPLEX' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_LIST' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ALL' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ULONG' type='enum'/>
+     <exports symbol='XML_SCHEMAS_PINTEGER' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_BASIC' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_EXTENSION' type='enum'/>
+     <exports symbol='XML_SCHEMAS_HEXBINARY' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_CHOICE' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MAXINCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_UNION' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DECIMAL' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_UR' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_LENGTH' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_SIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DOUBLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_PATTERN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_SHORT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_LANGUAGE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NORMSTRING' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_MIXED' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ANYTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DURATION' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_FACET' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NMTOKENS' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_USHORT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GYEARMONTH' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NCNAME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NPINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_INTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BASE64BINARY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_LONG' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_COMPLEX_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_FRACTIONDIGITS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BOOLEAN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ENTITY' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_GROUP' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_SIMPLE_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_FLOAT' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_WHITESPACE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ENTITIES' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_ELEMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DATE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_STRING' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_LIST' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_TOTALDIGITS' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_QNAME' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_NOTATION' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_LENGTH' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_SIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_TOKEN' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_ANY' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_BASIC' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MINLENGTH' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_UR' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_COMPLEX_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_FRACTIONDIGITS' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_PATTERN' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_SEQUENCE' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MININCLUSIVE' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MAXLENGTH' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_ENUMERATION' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_UNKNOWN' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ANY' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_RESTRICTION' type='enum'/>
      <exports symbol='xmlSchemaValPtr' type='typedef'/>
+     <exports symbol='xmlSchemaFacetLink' type='typedef'/>
+     <exports symbol='xmlSchemaWildcardNsPtr' type='typedef'/>
      <exports symbol='xmlSchemaAttributeGroup' type='typedef'/>
+     <exports symbol='xmlSchemaAttributeGroupPtr' type='typedef'/>
+     <exports symbol='xmlSchemaElementPtr' type='typedef'/>
+     <exports symbol='xmlSchemaFacetLinkPtr' type='typedef'/>
+     <exports symbol='xmlSchemaWildcardPtr' type='typedef'/>
+     <exports symbol='xmlSchemaVal' type='typedef'/>
+     <exports symbol='xmlSchemaTypeLinkPtr' type='typedef'/>
+     <exports symbol='xmlSchemaAttributeLinkPtr' type='typedef'/>
+     <exports symbol='xmlSchemaWildcardNs' type='typedef'/>
+     <exports symbol='xmlSchemaType' type='typedef'/>
      <exports symbol='xmlSchemaAttributePtr' type='typedef'/>
+     <exports symbol='xmlSchemaNotationPtr' type='typedef'/>
+     <exports symbol='xmlSchemaAnnot' type='typedef'/>
+     <exports symbol='xmlSchemaValType' type='typedef'/>
+     <exports symbol='xmlSchemaTypePtr' type='typedef'/>
+     <exports symbol='xmlSchemaNotation' type='typedef'/>
+     <exports symbol='xmlSchemaAnnotPtr' type='typedef'/>
      <exports symbol='xmlSchemaElement' type='typedef'/>
-     <exports symbol='xmlSchemaElementPtr' type='typedef'/>
      <exports symbol='xmlSchemaFacet' type='typedef'/>
-     <exports symbol='xmlSchemaType' type='typedef'/>
      <exports symbol='xmlSchemaContentType' type='typedef'/>
      <exports symbol='xmlSchemaTypeType' type='typedef'/>
      <exports symbol='xmlSchemaAttribute' type='typedef'/>
      <exports symbol='xmlSchemaFacetPtr' type='typedef'/>
-     <exports symbol='xmlSchemaNotation' type='typedef'/>
-     <exports symbol='xmlSchemaNotationPtr' type='typedef'/>
-     <exports symbol='xmlSchemaAnnot' type='typedef'/>
-     <exports symbol='xmlSchemaAnnotPtr' type='typedef'/>
-     <exports symbol='xmlSchemaVal' type='typedef'/>
-     <exports symbol='xmlSchemaTypePtr' type='typedef'/>
-     <exports symbol='xmlSchemaAttributeGroupPtr' type='typedef'/>
+     <exports symbol='xmlSchemaWildcard' type='typedef'/>
+     <exports symbol='xmlSchemaTypeLink' type='typedef'/>
+     <exports symbol='xmlSchemaAttributeLink' type='typedef'/>
+     <exports symbol='_xmlSchemaWildcardNs' type='struct'/>
      <exports symbol='_xmlSchemaAttribute' type='struct'/>
+     <exports symbol='_xmlSchemaFacet' type='struct'/>
      <exports symbol='_xmlSchemaType' type='struct'/>
      <exports symbol='_xmlSchemaAttributeGroup' type='struct'/>
      <exports symbol='_xmlSchemaNotation' type='struct'/>
      <exports symbol='_xmlSchemaElement' type='struct'/>
      <exports symbol='_xmlSchema' type='struct'/>
+     <exports symbol='_xmlSchemaAttributeLink' type='struct'/>
+     <exports symbol='_xmlSchemaFacetLink' type='struct'/>
+     <exports symbol='_xmlSchemaWildcard' type='struct'/>
+     <exports symbol='_xmlSchemaTypeLink' type='struct'/>
      <exports symbol='_xmlSchemaAnnot' type='struct'/>
-     <exports symbol='_xmlSchemaFacet' type='struct'/>
      <exports symbol='xmlSchemaFreeType' type='function'/>
+     <exports symbol='xmlSchemaFreeWildcard' type='function'/>
     </file>
     <file name='threads'>
      <summary>interfaces for thread handling</summary>
@@ -1415,6 +1519,7 @@
      <exports symbol='xmlCanonicPath' type='function'/>
      <exports symbol='xmlFreeURI' type='function'/>
      <exports symbol='xmlParseURIReference' type='function'/>
+     <exports symbol='xmlBuildRelativeURI' type='function'/>
      <exports symbol='xmlSaveUri' type='function'/>
      <exports symbol='xmlURIEscape' type='function'/>
      <exports symbol='xmlBuildURI' type='function'/>
@@ -1658,20 +1763,26 @@
      <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_NOROOT' 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_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_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'/>
@@ -1681,6 +1792,8 @@
      <exports symbol='XML_HTML_UNKNOWN_TAG' 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'/>
@@ -1690,6 +1803,8 @@
      <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_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'/>
@@ -1701,7 +1816,7 @@
      <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_XPTR_EXTRA_OBJECTS' 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_IO_UNKNOWN' type='enum'/>
@@ -1730,7 +1845,9 @@
      <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_XINCLUDE_TEXT_FRAGMENT' 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_EXT_SUBSET_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_NAME_INVALID' type='enum'/>
      <exports symbol='XML_FROM_DTD' type='enum'/>
@@ -1738,10 +1855,14 @@
      <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_RNGP_ELEM_CONTENT_EMPTY' type='enum'/>
-     <exports symbol='XML_XPATH_EXPRESSION_OK' 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'/>
@@ -1754,8 +1875,11 @@
      <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_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'/>
@@ -1773,15 +1897,18 @@
      <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_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'/>
@@ -1789,7 +1916,9 @@
      <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_REDEFINED_ATTRGROUP' 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_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'/>
@@ -1799,6 +1928,7 @@
      <exports symbol='XML_FROM_HTML' 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_ERR_ATTLIST_NOT_STARTED' type='enum'/>
      <exports symbol='XML_RNGP_ELEMENT_NAME' type='enum'/>
      <exports symbol='XML_ERR_PCDATA_REQUIRED' type='enum'/>
@@ -1814,8 +1944,11 @@
      <exports symbol='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' 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_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'/>
@@ -1828,9 +1961,9 @@
      <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_WAR_NS_URI' 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_SCHEMAV_ELEMCONT' 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'/>
@@ -1843,7 +1976,7 @@
      <exports symbol='XML_XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_EXTERNALREF_EMTPY' type='enum'/>
      <exports symbol='XML_ERR_SPACE_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_EXTRACONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXLENGTH_VALID' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD' type='enum'/>
      <exports symbol='XML_DTD_DIFFERENT_PREFIX' type='enum'/>
      <exports symbol='XML_RNGP_INTERLEAVE_NO_CONTENT' type='enum'/>
@@ -1853,6 +1986,7 @@
      <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_XINCLUDE_XPTR_FAILED' type='enum'/>
@@ -1860,7 +1994,8 @@
      <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_SCHEMAV_NOTSIMPLE' 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_RNGP_PARENTREF_NO_NAME' type='enum'/>
      <exports symbol='XML_IO_EPERM' type='enum'/>
      <exports symbol='XML_IO_ENETUNREACH' type='enum'/>
@@ -1881,12 +2016,14 @@
      <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_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'/>
@@ -1903,18 +2040,21 @@
      <exports symbol='XML_SCHEMAP_INVALID_REF_AND_SUBTYPE' type='enum'/>
      <exports symbol='XML_RNGP_ELEM_TEXT_CONFLICT' type='enum'/>
      <exports symbol='XML_SCHEMAP_ATTR_NONAME_NOREF' 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_UNKNOWN_ANYATTRIBUTE_CHILD' 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_WAR_LANG_VALUE' 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_RNGP_REF_CREATE_FAILED' type='enum'/>
      <exports symbol='XML_ERR_SEPARATOR_REQUIRED' type='enum'/>
      <exports symbol='XML_DTD_ROOT_NAME' type='enum'/>
@@ -1923,6 +2063,7 @@
      <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_SCHEMAP_UNKNOWN_CHOICE_CHILD' type='enum'/>
@@ -1954,6 +2095,7 @@
      <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'/>
@@ -1962,9 +2104,11 @@
      <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_CHARREF_IN_DTD' type='enum'/>
      <exports symbol='XML_DTD_LOAD_ERROR' 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_RNGP_EMPTY_CONTENT' type='enum'/>
      <exports symbol='XML_IO_EALREADY' type='enum'/>
@@ -1991,7 +2135,9 @@
      <exports symbol='XML_XPATH_UNCLOSED_ERROR' type='enum'/>
      <exports symbol='XML_WAR_CATALOG_PI' 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'/>
@@ -2002,12 +2148,16 @@
      <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_UNKNOWN_ATTRIBUTE_GROUP' 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_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_RNGP_CREATE_FAILURE' type='enum'/>
@@ -2018,6 +2168,7 @@
      <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'/>
@@ -2032,11 +2183,13 @@
      <exports symbol='XML_FTP_EPSV_ANSWER' type='enum'/>
      <exports symbol='XML_DTD_ENTITY_TYPE' 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'/>
@@ -2056,10 +2209,11 @@
      <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_XPTR_SYNTAX_ERROR' 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_UNKNOWN_REF' 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_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'/>
@@ -2073,14 +2227,18 @@
      <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_XPATH_INVALID_ARITY' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_CHAR_ERROR' 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_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_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'/>
@@ -2090,6 +2248,7 @@
      <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_ERR_INVALID_URI' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_ENUM' type='enum'/>
@@ -2103,21 +2262,30 @@
      <exports symbol='XML_DTD_ELEM_REDEFINED' type='enum'/>
      <exports symbol='XML_SCHEMAV_NOTNILLABLE' type='enum'/>
      <exports symbol='XML_SCHEMAP_ELEM_DEFAULT_FIXED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_ELEMENT' type='enum'/>
      <exports symbol='XML_RNGP_REF_NO_DEF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' type='enum'/>
      <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_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_ERR_INVALID_CHAR' type='enum'/>
      <exports symbol='XML_RNGP_FOREIGN_ELEMENT' type='enum'/>
-     <exports symbol='XML_XINCLUDE_PARSE_VALUE' 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_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'/>
@@ -2130,9 +2298,13 @@
      <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_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'/>
@@ -2142,14 +2314,21 @@
      <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_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'/>
@@ -2161,30 +2340,33 @@
      <exports symbol='XML_IO_ETIMEDOUT' type='enum'/>
      <exports symbol='XML_RNGP_ATTRIBUTE_CHILDREN' type='enum'/>
      <exports symbol='XML_RNGP_DEFINE_NAME_MISSING' type='enum'/>
-     <exports symbol='XML_XPATH_NUMBER_ERROR' 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_RNGP_FORBIDDEN_ATTRIBUTE' type='enum'/>
      <exports symbol='XML_ERR_ELEMCONTENT_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_ELEMENT' 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_DEF_AND_PREFIX' 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_SCHEMAV_WRONGELEM' 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_XPATH_INVALID_PREDICATE_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_3' 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'/>
@@ -2401,7 +2583,6 @@
      <exports symbol='xmlSaveToIO' type='function'/>
      <exports symbol='xmlSaveToFilename' type='function'/>
      <exports symbol='xmlSaveToFd' type='function'/>
-     <exports symbol='xmlSaveToBuffer' type='function'/>
      <exports symbol='xmlSaveClose' type='function'/>
      <exports symbol='xmlSaveDoc' type='function'/>
      <exports symbol='xmlSaveFlush' type='function'/>
@@ -2468,12 +2649,17 @@
      <author>Daniel Veillard </author>
      <exports symbol='xmlSchemaNewFacet' type='function'/>
      <exports symbol='xmlSchemaValPredefTypeNode' type='function'/>
+     <exports symbol='xmlSchemaIsBuiltInTypeFacet' type='function'/>
      <exports symbol='xmlSchemaFreeFacet' type='function'/>
+     <exports symbol='xmlSchemaGetBuiltInListSimpleTypeItemType' type='function'/>
      <exports symbol='xmlSchemaValidatePredefinedType' type='function'/>
      <exports symbol='xmlSchemaCompareValues' type='function'/>
+     <exports symbol='xmlSchemaInitTypes' type='function'/>
      <exports symbol='xmlSchemaValidateFacet' type='function'/>
+     <exports symbol='xmlSchemaValidateListSimpleTypeFacet' type='function'/>
      <exports symbol='xmlSchemaCleanupTypes' type='function'/>
-     <exports symbol='xmlSchemaInitTypes' type='function'/>
+     <exports symbol='xmlSchemaCollapseString' type='function'/>
+     <exports symbol='xmlSchemaGetBuiltInType' type='function'/>
      <exports symbol='xmlSchemaFreeValue' type='function'/>
      <exports symbol='xmlSchemaGetPredefinedType' type='function'/>
      <exports symbol='xmlSchemaCheckFacet' type='function'/>
@@ -3414,14 +3600,31 @@
       <info>Special constant found in SAX2 blocks initialized fields</info>
     </macro>
     <macro name='XML_SCHEMAS_ANYATTR_LAX' file='schemasInternals'>
-      <info>Ignore validation non definition on attributes</info>
+      <info>Ignore validation non definition on attributes Obsolete, not used anymore.</info>
     </macro>
     <macro name='XML_SCHEMAS_ANYATTR_SKIP' file='schemasInternals'>
-      <info>Skip unknown attribute from validation</info>
+      <info>Skip unknown attribute from validation Obsolete, not used anymore.</info>
     </macro>
     <macro name='XML_SCHEMAS_ANYATTR_STRICT' file='schemasInternals'>
-      <info>Apply strict validation rules on attributes</info>
+      <info>Apply strict validation rules on attributes Obsolete, not used anymore.</info>
     </macro>
+    <macro name='XML_SCHEMAS_ANY_LAX' file='schemasInternals'>
+      <info>Used by wildcards. Validate if type found, don&apos;t worry if not found</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ANY_SKIP' file='schemasInternals'>
+      <info>Skip unknown attribute from validation</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ANY_STRICT' file='schemasInternals'>
+      <info>Used by wildcards. Apply strict validation rules</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ATTRGROUP_GLOBAL' file='schemasInternals'>
+      <info>The attribute wildcard has been already builded.</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_GLOBAL' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_ATTR_NSDEFAULT' file='schemasInternals'>
       <info>allow elements in no namespace</info>
     </macro>
@@ -3429,7 +3632,7 @@
       <info>The attribute is optional.</info>
     </macro>
     <macro name='XML_SCHEMAS_ATTR_USE_PROHIBITED' file='schemasInternals'>
-      <info>The attribute is prohibited.</info>
+      <info>Used by wildcards. The attribute is prohibited.</info>
     </macro>
     <macro name='XML_SCHEMAS_ATTR_USE_REQUIRED' file='schemasInternals'>
       <info>The attribute is required.</info>
@@ -3450,13 +3653,13 @@
       <info>the element is nillable</info>
     </macro>
     <macro name='XML_SCHEMAS_ELEM_NSDEFAULT' file='schemasInternals'>
-      <info>allow elements in no namespace</info>
+      <info>allow elements in no namespace Obsolete, not used anymore.</info>
     </macro>
     <macro name='XML_SCHEMAS_ELEM_REF' file='schemasInternals'>
       <info>the element is a reference to a type</info>
     </macro>
     <macro name='XML_SCHEMAS_ELEM_TOPLEVEL' file='schemasInternals'>
-      <info>the element is top level</info>
+      <info>the element is top level obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead</info>
     </macro>
     <macro name='XML_SCHEMAS_FACET_COLLAPSE' file='schemasInternals'>
       <info>collapse the types of the facet</info>
@@ -3470,15 +3673,70 @@
     <macro name='XML_SCHEMAS_FACET_UNKNOWN' file='schemasInternals'>
       <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>
+    </macro>
+    <macro name='XML_SCHEMAS_FINAL_DEFAULT_LIST' file='schemasInternals'>
+      <info>the shema 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>
+    </macro>
+    <macro name='XML_SCHEMAS_FINAL_DEFAULT_UNION' file='schemasInternals'>
+      <info>the shema has &quot;union&quot; in the set of finalDefault.</info>
+    </macro>
     <macro name='XML_SCHEMAS_QUALIF_ATTR' file='schemasInternals'>
       <info>the shemas requires qualified attributes</info>
     </macro>
     <macro name='XML_SCHEMAS_QUALIF_ELEM' file='schemasInternals'>
       <info>the shemas requires qualified elements</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' file='schemasInternals'>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' file='schemasInternals'>
+      <info>the simple or complex type has a derivation method of &quot;extension&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' file='schemasInternals'>
+      <info>the simple or complex type has a derivation method of &quot;restriction&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_DEFAULT' file='schemasInternals'>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_EXTENSION' file='schemasInternals'>
+      <info>the complexType has a final of &quot;extension&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_LIST' file='schemasInternals'>
+      <info>the simpleType has a final of &quot;list&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' file='schemasInternals'>
+      <info>the simpleType/complexType has a final of &quot;restriction&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_UNION' file='schemasInternals'>
+      <info>the simpleType has a final of &quot;union&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_GLOBAL' file='schemasInternals'>
+      <info>the type is global</info>
+    </macro>
     <macro name='XML_SCHEMAS_TYPE_MIXED' file='schemasInternals'>
       <info>the element content type is mixed</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' file='schemasInternals'>
+      <info>the complexType owns an attribute wildcard, i.e. it can be freed by the complexType</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_ABSENT' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;absent&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;union&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_LIST' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;list&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_UNION' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;union&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_WILDCARD_COMPLETE' file='schemasInternals'>
+      <info>If the wildcard is complete.</info>
+    </macro>
     <macro name='XML_SKIP_IDS' file='parser'>
       <info>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize xmlLoadExtDtdDefaultValue in some special cases.</info>
     </macro>
@@ -3965,7 +4223,7 @@
     <enum name='XML_HTML_DOCUMENT_NODE' file='tree' value='13' type='xmlElementType'/>
     <enum name='XML_HTML_STRUCURE_ERROR' file='xmlerror' value='800' type='xmlParserErrors'/>
     <enum name='XML_HTML_UNKNOWN_TAG' file='xmlerror' value='801' type='xmlParserErrors' info='801'/>
-    <enum name='XML_HTTP_UNKNOWN_HOST' file='xmlerror' value='2022' type='xmlParserErrors' info=' 2022'/>
+    <enum name='XML_HTTP_UNKNOWN_HOST' file='xmlerror' value='2022' type='xmlParserErrors' info='2022'/>
     <enum name='XML_HTTP_URL_SYNTAX' file='xmlerror' value='2020' type='xmlParserErrors'/>
     <enum name='XML_HTTP_USE_IP' file='xmlerror' value='2021' type='xmlParserErrors' info='2021'/>
     <enum name='XML_INTERNAL_GENERAL_ENTITY' file='entities' value='1' type='xmlEntityType'/>
@@ -4060,6 +4318,7 @@
     <enum name='XML_PARSER_SUBST_ENTITIES' file='xmlreader' value='4' type='xmlParserProperties'/>
     <enum name='XML_PARSER_SYSTEM_LITERAL' file='parser' value='13' type='xmlParserInputState' info='within a SYSTEM value'/>
     <enum name='XML_PARSER_VALIDATE' file='xmlreader' value='3' type='xmlParserProperties'/>
+    <enum name='XML_PARSE_DOM' file='parser' value='1' type='xmlParserMode'/>
     <enum name='XML_PARSE_DTDATTR' file='parser' value='8' type='xmlParserOption' info='default DTD attributes'/>
     <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'/>
@@ -4072,8 +4331,13 @@
     <enum name='XML_PARSE_NOWARNING' file='parser' value='64' type='xmlParserOption' info='suppress warning reports'/>
     <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'/>
+    <enum name='XML_PARSE_PUSH_SAX' file='parser' value='4' type='xmlParserMode'/>
+    <enum name='XML_PARSE_READER' file='parser' value='5' type='xmlParserMode'/>
     <enum name='XML_PARSE_RECOVER' file='parser' value='1' type='xmlParserOption' info='recover on errors'/>
+    <enum name='XML_PARSE_SAX' file='parser' value='2' type='xmlParserMode'/>
     <enum name='XML_PARSE_SAX1' file='parser' value='512' type='xmlParserOption' info='use the SAX1 interface internally'/>
+    <enum name='XML_PARSE_UNKNOWN' file='parser' value='0' type='xmlParserMode'/>
     <enum name='XML_PARSE_XINCLUDE' file='parser' value='1024' type='xmlParserOption' info='Implement XInclude substitition'/>
     <enum name='XML_PI_NODE' file='tree' value='7' type='xmlElementType'/>
     <enum name='XML_READER_TYPE_ATTRIBUTE' file='xmlreader' value='2' type='xmlReaderTypes'/>
@@ -4269,7 +4533,43 @@
     <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_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_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_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'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' file='xmlerror' value='3024' type='xmlParserErrors' info='3024'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' file='xmlerror' value='3025' type='xmlParserErrors' info='3025'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' file='xmlerror' value='3027' type='xmlParserErrors' info='3027'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' file='xmlerror' value='3026' type='xmlParserErrors' info='3026'/>
+    <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_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'/>
@@ -4284,6 +4584,7 @@
     <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'/>
@@ -4315,9 +4616,27 @@
     <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_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_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_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_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_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'/>
@@ -4347,6 +4666,20 @@
     <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_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'/>
+    <enum name='XML_SCHEMAS_BASE64BINARY' file='schemasInternals' value='44' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_BOOLEAN' file='schemasInternals' value='15' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_BYTE' file='schemasInternals' value='41' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DATE' file='schemasInternals' value='10' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DATETIME' file='schemasInternals' value='11' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DECIMAL' file='schemasInternals' value='3' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DOUBLE' file='schemasInternals' value='14' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DURATION' file='schemasInternals' value='12' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ENTITIES' file='schemasInternals' value='27' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ENTITY' file='schemasInternals' value='26' type='xmlSchemaValType'/>
     <enum name='XML_SCHEMAS_ERR_' file='xmlschemas' value='24' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_ATTRINVALID' file='xmlschemas' value='21' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_ATTRUNKNOWN' file='xmlschemas' value='20' type='xmlSchemaValidError'/>
@@ -4373,9 +4706,64 @@
     <enum name='XML_SCHEMAS_ERR_VALUE' file='xmlschemas' value='22' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_WRONGELEM' file='xmlschemas' value='5' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_XXX' file='xmlschemas' value='25' type='xmlSchemaValidError'/>
+    <enum name='XML_SCHEMAS_FLOAT' file='schemasInternals' value='13' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GDAY' file='schemasInternals' value='5' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GMONTH' file='schemasInternals' value='6' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GMONTHDAY' file='schemasInternals' value='7' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GYEAR' file='schemasInternals' value='8' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GYEARMONTH' file='schemasInternals' value='9' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_HEXBINARY' file='schemasInternals' value='43' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ID' file='schemasInternals' value='23' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_IDREF' file='schemasInternals' value='24' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_IDREFS' file='schemasInternals' value='25' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_INT' file='schemasInternals' value='35' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_INTEGER' file='schemasInternals' value='30' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_LANGUAGE' file='schemasInternals' value='17' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_LONG' file='schemasInternals' value='37' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NAME' file='schemasInternals' value='20' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NCNAME' file='schemasInternals' value='22' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NINTEGER' file='schemasInternals' value='32' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NMTOKEN' file='schemasInternals' value='18' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NMTOKENS' file='schemasInternals' value='19' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NNINTEGER' file='schemasInternals' value='33' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NORMSTRING' file='schemasInternals' value='2' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NOTATION' file='schemasInternals' value='28' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NPINTEGER' file='schemasInternals' value='31' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_PINTEGER' file='schemasInternals' value='34' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_QNAME' file='schemasInternals' value='21' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_SHORT' file='schemasInternals' value='39' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_STRING' file='schemasInternals' value='1' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_TIME' file='schemasInternals' value='4' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_TOKEN' file='schemasInternals' value='16' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_UBYTE' file='schemasInternals' value='42' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_UINT' file='schemasInternals' value='36' type='xmlSchemaValType'/>
+    <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'/>
@@ -4401,7 +4789,7 @@
     <enum name='XML_SCHEMA_CONTENT_ELEMENTS' file='schemasInternals' value='2' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_EMPTY' file='schemasInternals' value='1' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_MIXED' file='schemasInternals' value='3' type='xmlSchemaContentType'/>
-    <enum name='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' file='schemasInternals' value='5' type='xmlSchemaContentType'/>
+    <enum name='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' file='schemasInternals' value='5' type='xmlSchemaContentType' info='obsolete, not used'/>
     <enum name='XML_SCHEMA_CONTENT_SIMPLE' file='schemasInternals' value='4' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_UNKNOWN' file='schemasInternals' value='0' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_FACET_ENUMERATION' file='schemasInternals' value='1007' type='xmlSchemaTypeType'/>
@@ -4421,7 +4809,7 @@
     <enum name='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' file='schemasInternals' value='21' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_ATTRIBUTE' file='schemasInternals' value='15' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' file='schemasInternals' value='16' type='xmlSchemaTypeType'/>
-    <enum name='XML_SCHEMA_TYPE_BASIC' file='schemasInternals' value='1' type='xmlSchemaTypeType'/>
+    <enum name='XML_SCHEMA_TYPE_BASIC' file='schemasInternals' value='1' type='xmlSchemaTypeType' info='A built-in datatype'/>
     <enum name='XML_SCHEMA_TYPE_CHOICE' file='schemasInternals' value='7' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_COMPLEX' file='schemasInternals' value='5' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_COMPLEX_CONTENT' file='schemasInternals' value='10' type='xmlSchemaTypeType'/>
@@ -4835,6 +5223,8 @@
       <field name='xmlDeregisterNodeDefaultValue' type='xmlDeregisterNodeFunc' info=''/>
       <field name='xmlMallocAtomic' type='xmlMallocFunc' info=''/>
       <field name='xmlLastError' type='xmlError' info=''/>
+      <field name='xmlParserInputBufferCreateFilenameValue' type='xmlParserInputBufferCreateFilenameFunc' info=''/>
+      <field name='xmlOutputBufferCreateFilenameValue' type='xmlOutputBufferCreateFilenameFunc' info=''/>
     </struct>
     <typedef name='xmlGlobalStatePtr' file='globals' type='xmlGlobalState *'/>
     <struct name='xmlHashTable' file='hash' type='struct _xmlHashTable'/>
@@ -5001,6 +5391,7 @@
       <field name='freeAttrs' type='xmlAttrPtr' info='* the complete error informations for the last error.
 *'/>
       <field name='lastError' type='xmlError' info=''/>
+      <field name='parseMode' type='xmlParserMode' info=' the parser mode'/>
     </struct>
     <typedef name='xmlParserCtxtPtr' file='tree' type='xmlParserCtxt *'/>
     <typedef name='xmlParserErrors' file='xmlerror' type='enum'/>
@@ -5038,6 +5429,7 @@
     <typedef name='xmlParserInputBufferPtr' file='tree' type='xmlParserInputBuffer *'/>
     <typedef name='xmlParserInputPtr' file='tree' type='xmlParserInput *'/>
     <typedef name='xmlParserInputState' file='parser' type='enum'/>
+    <typedef name='xmlParserMode' file='parser' type='enum'/>
     <struct name='xmlParserNodeInfo' file='parser' type='struct _xmlParserNodeInfo'>
       <field name='node' type='const struct _xmlNode *' info=' Position &amp; line # that text that created the node begins &amp; ends on'/>
       <field name='begin_pos' type='unsigned long' info=''/>
@@ -5210,8 +5602,15 @@
       <field name='annot' type='xmlSchemaAnnotPtr' info=''/>
       <field name='attributes' type='xmlSchemaAttributePtr' info=''/>
       <field name='node' type='xmlNodePtr' info=''/>
+      <field name='flags' type='int' info=''/>
+      <field name='attributeWildcard' type='xmlSchemaWildcardPtr' info=''/>
     </struct>
     <typedef name='xmlSchemaAttributeGroupPtr' file='schemasInternals' type='xmlSchemaAttributeGroup *'/>
+    <struct name='xmlSchemaAttributeLink' file='schemasInternals' type='struct _xmlSchemaAttributeLink'>
+      <field name='next' type='struct _xmlSchemaAttributeLink *' info=' the next attribute link ...'/>
+      <field name='attr' type='struct _xmlSchemaAttribute *' info=' the linked attribute'/>
+    </struct>
+    <typedef name='xmlSchemaAttributeLinkPtr' file='schemasInternals' type='xmlSchemaAttributeLink *'/>
     <typedef name='xmlSchemaAttributePtr' file='schemasInternals' type='xmlSchemaAttribute *'/>
     <typedef name='xmlSchemaContentType' file='schemasInternals' type='enum'/>
     <struct name='xmlSchemaElement' file='schemasInternals' type='struct _xmlSchemaElement'>
@@ -5252,6 +5651,11 @@
       <field name='val' type='xmlSchemaValPtr' info=''/>
       <field name='regexp' type='xmlRegexpPtr' info=''/>
     </struct>
+    <struct name='xmlSchemaFacetLink' file='schemasInternals' type='struct _xmlSchemaFacetLink'>
+      <field name='next' type='struct _xmlSchemaFacetLink *' info=' the next facet link ...'/>
+      <field name='facet' type='xmlSchemaFacetPtr' info=' the linked facet'/>
+    </struct>
+    <typedef name='xmlSchemaFacetLinkPtr' file='schemasInternals' type='xmlSchemaFacetLink *'/>
     <typedef name='xmlSchemaFacetPtr' file='schemasInternals' type='xmlSchemaFacet *'/>
     <struct name='xmlSchemaNotation' file='schemasInternals' type='struct _xmlSchemaNotation'>
       <field name='type' type='xmlSchemaTypeType' info=' The kind of type'/>
@@ -5284,14 +5688,44 @@
       <field name='facets' type='xmlSchemaFacetPtr' info=''/>
       <field name='redef' type='struct _xmlSchemaType *' info=' possible redefinitions for the type'/>
       <field name='recurse' type='int' info=''/>
+      <field name='attributeUses' type='xmlSchemaAttributeLinkPtr' info=''/>
+      <field name='attributeWildcard' type='xmlSchemaWildcardPtr' info=''/>
+      <field name='builtInType' type='int' info=''/>
+      <field name='memberTypes' type='xmlSchemaTypeLinkPtr' info=''/>
+      <field name='facetSet' type='xmlSchemaFacetLinkPtr' info=''/>
     </struct>
+    <struct name='xmlSchemaTypeLink' file='schemasInternals' type='struct _xmlSchemaTypeLink'>
+      <field name='next' type='struct _xmlSchemaTypeLink *' info=' the next type link ...'/>
+      <field name='type' type='xmlSchemaTypePtr' info=' the linked typ'/>
+    </struct>
+    <typedef name='xmlSchemaTypeLinkPtr' file='schemasInternals' type='xmlSchemaTypeLink *'/>
     <typedef name='xmlSchemaTypePtr' file='schemasInternals' type='xmlSchemaType *'/>
     <typedef name='xmlSchemaTypeType' file='schemasInternals' type='enum'/>
     <struct name='xmlSchemaVal' file='schemasInternals' type='struct _xmlSchemaVal'/>
     <typedef name='xmlSchemaValPtr' file='schemasInternals' type='xmlSchemaVal *'/>
+    <typedef name='xmlSchemaValType' file='schemasInternals' type='enum'/>
     <struct name='xmlSchemaValidCtxt' file='xmlschemas' type='struct _xmlSchemaValidCtxt'/>
     <typedef name='xmlSchemaValidCtxtPtr' file='xmlschemas' type='xmlSchemaValidCtxt *'/>
     <typedef name='xmlSchemaValidError' 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=''/>
+      <field name='annot' type='xmlSchemaAnnotPtr' info=''/>
+      <field name='node' type='xmlNodePtr' info=''/>
+      <field name='minOccurs' type='int' info=''/>
+      <field name='maxOccurs' type='int' info=''/>
+      <field name='processContents' type='int' info=''/>
+      <field name='any' type='int' info=' Indicates if the ns constraint is of ##any'/>
+      <field name='nsSet' type='xmlSchemaWildcardNsPtr' info=' The list of allowed namespaces'/>
+      <field name='negNsSet' type='xmlSchemaWildcardNsPtr' info=' The negated namespace'/>
+      <field name='flags' type='int' info=''/>
+    </struct>
+    <struct name='xmlSchemaWildcardNs' file='schemasInternals' type='struct _xmlSchemaWildcardNs'>
+      <field name='next' type='struct _xmlSchemaWildcardNs *' info=' the next constraint link ...'/>
+      <field name='value' type='const xmlChar *' info=' the value'/>
+    </struct>
+    <typedef name='xmlSchemaWildcardNsPtr' file='schemasInternals' type='xmlSchemaWildcardNs *'/>
+    <typedef name='xmlSchemaWildcardPtr' file='schemasInternals' type='xmlSchemaWildcard *'/>
     <struct name='xmlShellCtxt' file='debugXML' type='struct _xmlShellCtxt'>
       <field name='filename' type='char *' info=''/>
       <field name='doc' type='xmlDocPtr' info=''/>
@@ -5464,7 +5898,9 @@
     <variable name='xmlMalloc' file='globals' type='xmlMallocFunc'/>
     <variable name='xmlMallocAtomic' file='globals' type='xmlMallocFunc'/>
     <variable name='xmlMemStrdup' file='globals' type='xmlStrdupFunc'/>
+    <variable name='xmlOutputBufferCreateFilenameValue' file='globals' type='xmlOutputBufferCreateFilenameFunc'/>
     <variable name='xmlParserDebugEntities' file='globals' type='int'/>
+    <variable name='xmlParserInputBufferCreateFilenameValue' file='globals' type='xmlParserInputBufferCreateFilenameFunc'/>
     <variable name='xmlParserMaxDepth' file='parserInternals' type='unsigned int'/>
     <variable name='xmlParserVersion' file='globals' type='const char *'/>
     <variable name='xmlPedanticParserDefaultValue' file='globals' type='int'/>
@@ -5481,6 +5917,7 @@
     <variable name='xmlXPathNINF' file='xpath' type='double'/>
     <variable name='xmlXPathPINF' file='xpath' type='double'/>
     <function name='UTF8ToHtml' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML 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'/>
@@ -5497,6 +5934,7 @@
       <arg name='inlen' type='int *' info='the length of @in'/>
     </function>
     <function name='attribute' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element. DEPRECATED: use xmlSAX2Attribute()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5504,6 +5942,7 @@
       <arg name='value' type='const xmlChar *' info='The attribute value'/>
     </function>
     <function name='attributeDecl' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>An attribute definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5533,6 +5972,7 @@
       <arg name='value' type='const xmlChar *' info='The attribute value'/>
     </functype>
     <function name='cdataBlock' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5547,6 +5987,7 @@
       <arg name='len' type='int' info='the block length'/>
     </functype>
     <function name='characters' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5561,12 +6002,14 @@
       <arg name='len' type='int' info='the number of xmlChar'/>
     </functype>
     <function name='checkNamespace' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
       <arg name='namespace' type='xmlChar *' info='the namespace to check against'/>
     </function>
     <function name='comment' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>A comment has been parsed. DEPRECATED: use xmlSAX2Comment()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5654,6 +6097,7 @@
       <arg name='userData' type='void *' info='if using SAX, this pointer will be provided on callbacks.'/>
     </function>
     <function name='elementDecl' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5670,6 +6114,7 @@
       <arg name='content' type='xmlElementContentPtr' info='the element value tree'/>
     </functype>
     <function name='endDocument' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5680,6 +6125,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </functype>
     <function name='endElement' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5700,6 +6146,7 @@
       <arg name='name' type='const xmlChar *' info='The element name'/>
     </functype>
     <function name='entityDecl' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5727,6 +6174,7 @@
       <arg name='...' type='...' info='extra parameters for the message display'/>
     </functype>
     <function name='externalSubset' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5750,6 +6198,7 @@
       <arg name='...' type='...' info='extra parameters for the message display'/>
     </functype>
     <functype name='ftpDataCallback' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>A callback for the xmlNanoFTPGet command.</info>
       <return type='void'/>
       <arg name='userData' type='void *' info='the user provided context'/>
@@ -5757,6 +6206,7 @@
       <arg name='len' type='int' info='its size in bytes'/>
     </functype>
     <functype name='ftpListCallback' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>A callback for the xmlNanoFTPList command. Note that only one of year and day:minute are specified.</info>
       <return type='void'/>
       <arg name='userData' type='void *' info='user provided data for the callback'/>
@@ -5773,11 +6223,13 @@
       <arg name='minute' type='int' info='the minute'/>
     </functype>
     <function name='getColumnNumber' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</info>
       <return type='int' info='an int'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='getEntity' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</info>
       <return type='xmlEntityPtr' info='the xmlEntityPtr if found.'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5790,16 +6242,19 @@
       <arg name='name' type='const xmlChar *' info='The entity name'/>
     </functype>
     <function name='getLineNumber' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</info>
       <return type='int' info='an int'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='getNamespace' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Get the current element namespace. DEPRECATED</info>
       <return type='xmlNsPtr' info='the xmlNsPtr or NULL if none'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='getParameterEntity' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</info>
       <return type='xmlEntityPtr' info='the xmlEntityPtr if found.'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5812,16 +6267,19 @@
       <arg name='name' type='const xmlChar *' info='The entity name'/>
     </functype>
     <function name='getPublicId' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Provides the public ID e.g. &quot;-//SGMLSOURCE//DTD DEMO//EN&quot; DEPRECATED: use xmlSAX2GetPublicId()</info>
       <return type='const xmlChar *' info='a xmlChar *'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='getSystemId' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()</info>
       <return type='const xmlChar *' info='a xmlChar *'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='globalNamespace' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>An old global namespace has been parsed. DEPRECATED</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5829,6 +6287,7 @@
       <arg name='prefix' type='const xmlChar *' info='the namespace prefix'/>
     </function>
     <function name='hasExternalSubset' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</info>
       <return type='int' info='1 if true'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5839,6 +6298,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </functype>
     <function name='hasInternalSubset' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</info>
       <return type='int' info='1 if true'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -5849,6 +6309,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </functype>
     <function name='htmlAttrAllowed' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Checks whether an attribute is valid for an element Has full knowledge of Required and Deprecated attributes</info>
       <return type='htmlStatus' info='one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, HTML_INVALID'/>
       <arg name='elt' type='const htmlElemDesc *' info='HTML element'/>
@@ -5856,6 +6317,7 @@
       <arg name='legacy' type='int' info='whether to allow deprecated attributes'/>
     </function>
     <function name='htmlAutoCloseTag' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if the element or one of it&apos;s children would autoclose the given tag.</info>
       <return type='int' info='1 if autoclose, 0 otherwise'/>
       <arg name='doc' type='htmlDocPtr' info='the HTML document'/>
@@ -5863,18 +6325,22 @@
       <arg name='elem' type='htmlNodePtr' info='the HTML element'/>
     </function>
     <function name='htmlCreateFileParserCtxt' file='parserInternals'>
+      <cond>LIBXML_HTML_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='htmlParserCtxtPtr' info='the new parser context or NULL'/>
       <arg name='filename' type='const char *' info='the filename'/>
       <arg name='encoding' type='const char *' info='a free form C string describing the HTML document encoding, or NULL'/>
     </function>
     <function name='htmlCreateMemoryParserCtxt' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Create a parser context for an HTML in-memory document.</info>
       <return type='htmlParserCtxtPtr' info='the new parser context or NULL'/>
       <arg name='buffer' type='const char *' info='a pointer to a char array'/>
       <arg name='size' type='int' info='the size of the array'/>
     </function>
     <function name='htmlCreatePushParserCtxt' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_PUSH_ENABLED</cond>
       <info>Create a parser context for using the HTML parser in push mode The value of @filename is used for fetching external entities and error/warning reports.</info>
       <return type='htmlParserCtxtPtr' info='the new parser context or NULL'/>
       <arg name='sax' type='htmlSAXHandlerPtr' info='a SAX handler'/>
@@ -5885,6 +6351,7 @@
       <arg name='enc' type='xmlCharEncoding' info='an optional encoding'/>
     </function>
     <function name='htmlCtxtReadDoc' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
@@ -5894,6 +6361,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlCtxtReadFd' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
@@ -5903,6 +6371,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlCtxtReadFile' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
@@ -5911,6 +6380,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlCtxtReadIO' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
@@ -5922,6 +6392,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlCtxtReadMemory' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
@@ -5932,11 +6403,13 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlCtxtReset' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Reset a parser context</info>
       <return type='void'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
     </function>
     <function name='htmlCtxtUseOptions' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Applies the options to the parser context</info>
       <return type='int' info='0 in case of success, the set of unknown or unimplemented options in case of error.'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
@@ -5947,6 +6420,8 @@
       <return type='void'/>
     </function>
     <function name='htmlDocContentDumpFormatOutput' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML document.</info>
       <return type='void'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
@@ -5955,6 +6430,8 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='htmlDocContentDumpOutput' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML document. Formating return/spaces are added.</info>
       <return type='void'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
@@ -5962,12 +6439,16 @@
       <arg name='encoding' type='const char *' info='the encoding string'/>
     </function>
     <function name='htmlDocDump' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML document to an open FILE.</info>
       <return type='int' info='the number of byte written or -1 in case of failure.'/>
       <arg name='f' type='FILE *' info='the FILE*'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='htmlDocDumpMemory' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML document in memory and return the xmlChar * and it&apos;s size. It&apos;s up to the caller to free the memory.</info>
       <return type='void'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
@@ -5975,18 +6456,21 @@
       <arg name='size' type='int *' info='OUT: the memory length'/>
     </function>
     <function name='htmlElementAllowedHere' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Checks whether an HTML element may be a direct child of a parent element. Note - doesn&apos;t check for deprecated elements</info>
       <return type='int' info='1 if allowed; 0 otherwise.'/>
       <arg name='parent' type='const htmlElemDesc *' info='HTML parent element'/>
       <arg name='elt' type='const xmlChar *' info='HTML element'/>
     </function>
     <function name='htmlElementStatusHere' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.</info>
       <return type='htmlStatus' info='one of HTML_VALID, HTML_DEPRECATED, HTML_INVALID'/>
       <arg name='parent' type='const htmlElemDesc *' info='HTML parent element'/>
       <arg name='elt' type='const htmlElemDesc *' info='HTML element'/>
     </function>
     <function name='htmlEncodeEntities' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML 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'/>
@@ -5996,63 +6480,76 @@
       <arg name='quoteChar' type='int' info='the quote character to escape (&apos; or &quot;) or zero.'/>
     </function>
     <function name='htmlEntityLookup' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Lookup the given entity in EntitiesTable  TODO: the linear scan is really ugly, an hash table is really needed.</info>
       <return type='const htmlEntityDesc *' info='the associated htmlEntityDescPtr if found, NULL otherwise.'/>
       <arg name='name' type='const xmlChar *' info='the entity name'/>
     </function>
     <function name='htmlEntityValueLookup' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Lookup the given entity in EntitiesTable  TODO: the linear scan is really ugly, an hash table is really needed.</info>
       <return type='const htmlEntityDesc *' info='the associated htmlEntityDescPtr if found, NULL otherwise.'/>
       <arg name='value' type='unsigned int' info='the entity&apos;s unicode value'/>
     </function>
     <function name='htmlFreeParserCtxt' file='HTMLparser'>
+      <cond>LIBXML_HTML_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='htmlParserCtxtPtr' info='an HTML parser context'/>
     </function>
     <function name='htmlGetMetaEncoding' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Encoding definition lookup in the Meta tags</info>
       <return type='const xmlChar *' info='the current encoding as flagged in the HTML source'/>
       <arg name='doc' type='htmlDocPtr' info='the document'/>
     </function>
     <function name='htmlHandleOmittedElem' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Set and return the previous value for handling HTML omitted tags.</info>
       <return type='int' info='the last value for 0 for no handling, 1 for auto insertion.'/>
       <arg name='val' type='int' info='int 0 or 1'/>
     </function>
     <function name='htmlInitAutoClose' file='parserInternals'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Initialize the htmlStartCloseIndex for fast lookup of closing tags names. This is not reentrant. Call xmlInitParser() once before processing in case of use in multithreaded programs.</info>
       <return type='void'/>
     </function>
     <function name='htmlIsAutoClosed' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if a tag is autoclosed by one of it&apos;s child</info>
       <return type='int' info='1 if autoclosed, 0 otherwise'/>
       <arg name='doc' type='htmlDocPtr' info='the HTML document'/>
       <arg name='elem' type='htmlNodePtr' info='the HTML element'/>
     </function>
     <function name='htmlIsBooleanAttr' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Determine if a given attribute is a boolean attribute.</info>
       <return type='int' info='false if the attribute is not boolean, true otherwise.'/>
       <arg name='name' type='const xmlChar *' info='the name of the attribute to check'/>
     </function>
     <function name='htmlIsScriptAttribute' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Check if an attribute is of content type Script</info>
       <return type='int' info='1 is the attribute is a script 0 otherwise'/>
       <arg name='name' type='const xmlChar *' info='an attribute name'/>
     </function>
     <function name='htmlNewDoc' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Creates a new HTML document</info>
       <return type='htmlDocPtr' info='a new document'/>
       <arg name='URI' type='const xmlChar *' info='URI for the dtd, or NULL'/>
       <arg name='ExternalID' type='const xmlChar *' info='the external ID of the DTD, or NULL'/>
     </function>
     <function name='htmlNewDocNoDtD' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</info>
       <return type='htmlDocPtr' info='a new document, do not initialize the DTD if not provided'/>
       <arg name='URI' type='const xmlChar *' info='URI for the dtd, or NULL'/>
       <arg name='ExternalID' type='const xmlChar *' info='the external ID of the DTD, or NULL'/>
     </function>
     <function name='htmlNodeDump' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</info>
       <return type='int' info='the number of byte written or -1 in case of error'/>
       <arg name='buf' type='xmlBufferPtr' info='the HTML buffer output'/>
@@ -6060,6 +6557,8 @@
       <arg name='cur' type='xmlNodePtr' info='the current node'/>
     </function>
     <function name='htmlNodeDumpFile' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</info>
       <return type='void'/>
       <arg name='out' type='FILE *' info='the FILE pointer'/>
@@ -6067,6 +6566,8 @@
       <arg name='cur' type='xmlNodePtr' info='the current node'/>
     </function>
     <function name='htmlNodeDumpFileFormat' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML node, recursive behaviour,children are printed too.  TODO: if encoding == NULL try to save in the doc encoding</info>
       <return type='int' info='the number of byte written or -1 in case of failure.'/>
       <arg name='out' type='FILE *' info='the FILE pointer'/>
@@ -6076,6 +6577,8 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='htmlNodeDumpFormatOutput' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML node, recursive behaviour,children are printed too.</info>
       <return type='void'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
@@ -6085,6 +6588,8 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='htmlNodeDumpOutput' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.</info>
       <return type='void'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
@@ -6093,17 +6598,21 @@
       <arg name='encoding' type='const char *' info='the encoding string'/>
     </function>
     <function name='htmlNodeStatus' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Checks whether the tree node is valid.  Experimental (the author only uses the HTML enhancements in a SAX parser)</info>
       <return type='htmlStatus' info='for Element nodes, a return from htmlElementAllowedHere (if legacy allowed) or htmlElementStatusHere (otherwise). for Attribute nodes, a return from htmlAttrAllowed for other nodes, HTML_NA (no checks performed)'/>
       <arg name='node' type='const htmlNodePtr' info='an htmlNodePtr in a tree'/>
       <arg name='legacy' type='int' info='whether to allow deprecated elements (YES is faster here for Element nodes)'/>
     </function>
     <function name='htmlParseCharRef' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse Reference declarations  [66] CharRef ::= &apos;&amp;#&apos; [0-9]+ &apos;;&apos; | &apos;&amp;#x&apos; [0-9a-fA-F]+ &apos;;&apos;</info>
       <return type='int' info='the value parsed (as an int)'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
     </function>
     <function name='htmlParseChunk' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_PUSH_ENABLED</cond>
       <info>Parse a Chunk of memory</info>
       <return type='int' info='zero if no error, the xmlParserErrors otherwise.'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
@@ -6112,34 +6621,40 @@
       <arg name='terminate' type='int' info='last chunk indicator'/>
     </function>
     <function name='htmlParseDoc' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML in-memory document and build a tree.</info>
       <return type='htmlDocPtr' 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 HTML document encoding, or NULL'/>
     </function>
     <function name='htmlParseDocument' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML 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='htmlParserCtxtPtr' info='an HTML parser context'/>
     </function>
     <function name='htmlParseElement' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML element, this is highly recursive  [39] element ::= EmptyElemTag | STag content ETag  [41] Attribute ::= Name Eq AttValue</info>
       <return type='void'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
     </function>
     <function name='htmlParseEntityRef' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML ENTITY references  [68] EntityRef ::= &apos;&amp;&apos; Name &apos;;&apos;</info>
       <return type='const htmlEntityDesc *' info='the associated htmlEntityDescPtr if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.'/>
       <arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
       <arg name='str' type='const xmlChar **' info='location to store the entity name'/>
     </function>
     <function name='htmlParseFile' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
       <return type='htmlDocPtr' 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 the HTML document encoding, or NULL'/>
     </function>
     <function name='htmlReadDoc' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML in-memory document and build a tree.</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to a zero terminated string'/>
@@ -6148,6 +6663,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlReadFd' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML from a file descriptor and build a tree.</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='fd' type='int' info='an open file descriptor'/>
@@ -6156,6 +6672,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlReadFile' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML file from the filesystem or the network.</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='filename' type='const char *' info='a file or URL'/>
@@ -6163,6 +6680,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlReadIO' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML document from I/O functions and source and build a tree.</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='ioread' type='xmlInputReadCallback' info='an I/O read function'/>
@@ -6173,6 +6691,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlReadMemory' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an XML in-memory document and build a tree.</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
       <arg name='buffer' type='const char *' info='a pointer to a char array'/>
@@ -6182,6 +6701,7 @@
       <arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
     </function>
     <function name='htmlSAXParseDoc' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.</info>
       <return type='htmlDocPtr' info='the resulting document tree unless SAX is NULL or the document is not well formed.'/>
       <arg name='cur' type='xmlChar *' info='a pointer to an array of xmlChar'/>
@@ -6190,6 +6710,7 @@
       <arg name='userData' type='void *' info='if using SAX, this pointer will be provided on callbacks.'/>
     </function>
     <function name='htmlSAXParseFile' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>parse an HTML 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='htmlDocPtr' info='the resulting document tree unless SAX is NULL or the document is not well formed.'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -6198,12 +6719,16 @@
       <arg name='userData' type='void *' info='if using SAX, this pointer will be provided on callbacks.'/>
     </function>
     <function name='htmlSaveFile' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML document to a file. If @filename is &quot;-&quot; the stdout file is used.</info>
       <return type='int' info='the number of byte written or -1 in case of failure.'/>
       <arg name='filename' type='const char *' info='the filename (or URL)'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='htmlSaveFileEnc' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</info>
       <return type='int' info='the number of byte written or -1 in case of failure.'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -6211,6 +6736,8 @@
       <arg name='encoding' type='const char *' info='the document encoding'/>
     </function>
     <function name='htmlSaveFileFormat' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an HTML document to a file using a given encoding.</info>
       <return type='int' info='the number of byte written or -1 in case of failure.'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -6219,17 +6746,20 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='htmlSetMetaEncoding' file='HTMLtree'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='doc' type='htmlDocPtr' info='the document'/>
       <arg name='encoding' type='const xmlChar *' info='the encoding string'/>
     </function>
     <function name='htmlTagLookup' file='HTMLparser'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Lookup the HTML tag in the ElementTable</info>
       <return type='const htmlElemDesc *' info='the related htmlElemDescPtr or NULL if not found.'/>
       <arg name='tag' type='const xmlChar *' info='The tag name in lowercase'/>
     </function>
     <function name='ignorableWhitespace' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters DEPRECATED: use xmlSAX2IgnorableWhitespace()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6249,16 +6779,21 @@
       <arg name='handler' type='xmlGenericErrorFunc *' info='the handler'/>
     </function>
     <function name='initdocbDefaultSAXHandler' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>Initialize the default DocBook SAX version 1 handler DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks</info>
       <return type='void'/>
       <arg name='hdlr' type='xmlSAXHandlerV1 *' info='the SAX handler'/>
     </function>
     <function name='inithtmlDefaultSAXHandler' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</info>
       <return type='void'/>
       <arg name='hdlr' type='xmlSAXHandlerV1 *' info='the SAX handler'/>
     </function>
     <function name='initxmlDefaultSAXHandler' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks</info>
       <return type='void'/>
       <arg name='hdlr' type='xmlSAXHandlerV1 *' info='the SAX handler'/>
@@ -6276,6 +6811,7 @@
       <arg name='value' type='xmlParserInputPtr' info='the parser input'/>
     </function>
     <function name='internalSubset' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6292,6 +6828,7 @@
       <arg name='SystemID' type='const xmlChar *' info='the SYSTEM ID (e.g. filename or URL)'/>
     </functype>
     <function name='isStandalone' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</info>
       <return type='int' info='1 if true'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6321,6 +6858,7 @@
       <arg name='value' type='const xmlChar *' info='the element name'/>
     </function>
     <function name='namespaceDecl' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>A namespace has been parsed. DEPRECATED</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6339,6 +6877,7 @@
       <arg name='value' type='xmlNodePtr' info='the element node'/>
     </function>
     <function name='notationDecl' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6355,6 +6894,7 @@
       <arg name='systemId' type='const xmlChar *' info='The system ID of the entity'/>
     </functype>
     <function name='processingInstruction' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6369,6 +6909,7 @@
       <arg name='data' type='const xmlChar *' info='the PI data&apos;s'/>
     </functype>
     <function name='reference' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>called when an entity reference is detected. DEPRECATED: use xmlSAX2Reference()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6381,6 +6922,7 @@
       <arg name='name' type='const xmlChar *' info='The entity name'/>
     </functype>
     <function name='resolveEntity' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>The entity loader, to control the loading of external entities, the application can either: - override this resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it&apos;s own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()</info>
       <return type='xmlParserInputPtr' info='the xmlParserInputPtr if inlined or NULL for DOM behaviour.'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6395,6 +6937,7 @@
       <arg name='systemId' type='const xmlChar *' info='The system ID of the entity'/>
     </functype>
     <function name='setDocumentLocator' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case. DEPRECATED</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6407,12 +6950,14 @@
       <arg name='loc' type='xmlSAXLocatorPtr' info='A SAX Locator'/>
     </functype>
     <function name='setNamespace' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>Set the current element namespace. DEPRECATED</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
       <arg name='name' type='const xmlChar *' info='the namespace prefix'/>
     </function>
     <function name='startDocument' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6423,6 +6968,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </functype>
     <function name='startElement' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6450,6 +6996,7 @@
       <arg name='atts' type='const xmlChar **' info='An array of name/value attributes pairs, NULL terminated'/>
     </functype>
     <function name='unparsedEntityDecl' file='SAX'>
+      <cond>LIBXML_SAX1_ENABLED</cond>
       <info>What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -6468,11 +7015,13 @@
       <arg name='notationName' type='const xmlChar *' info='the name of the notation'/>
     </functype>
     <function name='valuePop' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Pops the top XPath object from the value stack</info>
       <return type='xmlXPathObjectPtr' info='the XPath object just removed'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath evaluation context'/>
     </function>
     <function name='valuePush' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Pushes a new XPath object on top of the value stack</info>
       <return type='int' info='the number of items on the value stack'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath evaluation context'/>
@@ -6554,6 +7103,7 @@
       <arg name='title' type='const xlinkTitle' info='the link title'/>
     </functype>
     <function name='xmlACatalogAdd' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Add an entry in the catalog, it may overwrite existing but different entries.</info>
       <return type='int' info='0 if successful, -1 otherwise'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
@@ -6562,18 +7112,22 @@
       <arg name='replace' type='const xmlChar *' info='the replacement value for the match'/>
     </function>
     <function name='xmlACatalogDump' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump the given catalog to the given file.</info>
       <return type='void'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
       <arg name='out' type='FILE *' info='the file.'/>
     </function>
     <function name='xmlACatalogRemove' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Remove an entry from the catalog</info>
       <return type='int' info='the number of entries removed if successful, -1 otherwise'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
       <arg name='value' type='const xmlChar *' info='the value to remove'/>
     </function>
     <function name='xmlACatalogResolve' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Do a complete resolution lookup of an External Identifier</info>
       <return type='xmlChar *' info='the URI of the resource or NULL if not found, it must be freed by the caller.'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
@@ -6581,18 +7135,21 @@
       <arg name='sysID' type='const xmlChar *' info='the system ID string'/>
     </function>
     <function name='xmlACatalogResolvePublic' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Try to lookup the catalog local reference associated to a public ID in that catalog</info>
       <return type='xmlChar *' info='the local resource if found or NULL otherwise, the value returned must be freed by the caller.'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
       <arg name='pubID' type='const xmlChar *' info='the public ID string'/>
     </function>
     <function name='xmlACatalogResolveSystem' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Try to lookup the catalog resource for a system ID</info>
       <return type='xmlChar *' info='the resource if found or NULL otherwise, the value returned must be freed by the caller.'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
       <arg name='sysID' type='const xmlChar *' info='the system ID string'/>
     </function>
     <function name='xmlACatalogResolveURI' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Do a complete resolution lookup of an URI</info>
       <return type='xmlChar *' info='the URI of the resource or NULL if not found, it must be freed by the caller.'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
@@ -6682,6 +7239,7 @@
       <arg name='SystemID' type='const xmlChar *' info='the system identifier or NULL'/>
     </function>
     <function name='xmlAddPrevSibling' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an attribute with equal name, it is first destroyed.</info>
       <return type='xmlNodePtr' info='the new node or NULL in case of error.'/>
       <arg name='cur' type='xmlNodePtr' info='the child node'/>
@@ -6702,6 +7260,7 @@
       <arg name='elem' type='xmlNodePtr' info='the new node'/>
     </function>
     <function name='xmlAllocOutputBuffer' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a buffered parser output</info>
       <return type='xmlOutputBufferPtr' info='the new parser output or NULL'/>
       <arg name='encoder' type='xmlCharEncodingHandlerPtr' info='the encoding converter or NULL'/>
@@ -6720,21 +7279,25 @@
       <arg name='string' type='const xmlChar *' info='the text content'/>
     </function>
     <function name='xmlAutomataCompile' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.</info>
       <return type='xmlRegexpPtr' info='the compiled regexp or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
     </function>
     <function name='xmlAutomataGetInitState' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Initial state lookup</info>
       <return type='xmlAutomataStatePtr' info='the initial state of the automata'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
     </function>
     <function name='xmlAutomataIsDeterminist' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Checks if an automata is determinist.</info>
       <return type='int' info='1 if true, 0 if not, and -1 in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
     </function>
     <function name='xmlAutomataNewAllTrans' 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 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.</info>
       <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
@@ -6743,6 +7306,7 @@
       <arg name='lax' type='int' info='allow to transition if not all all transitions have been activated'/>
     </function>
     <function name='xmlAutomataNewCountTrans' 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 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'/>
@@ -6754,6 +7318,7 @@
       <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>
       <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
@@ -6762,6 +7327,7 @@
       <arg name='counter' type='int' info='the counter associated to that transition'/>
     </function>
     <function name='xmlAutomataNewCounter' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Create a new counter</info>
       <return type='int' info='the counter number or -1 in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
@@ -6769,6 +7335,7 @@
       <arg name='max' type='int' info='the maximal value on the counter'/>
     </function>
     <function name='xmlAutomataNewCounterTrans' 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 be allowed only if the counter is within the right range.</info>
       <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
@@ -6777,6 +7344,7 @@
       <arg name='counter' type='int' info='the counter associated to that transition'/>
     </function>
     <function name='xmlAutomataNewEpsilon' 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</info>
       <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
@@ -6784,6 +7352,7 @@
       <arg name='to' type='xmlAutomataStatePtr' info='the target point of the transition or NULL'/>
     </function>
     <function name='xmlAutomataNewOnceTrans' 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 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'/>
@@ -6795,11 +7364,13 @@
       <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>
       <return type='xmlAutomataStatePtr' info='the new state or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
     </function>
     <function name='xmlAutomataNewTransition' 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 the value of @token</info>
       <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
@@ -6809,6 +7380,7 @@
       <arg name='data' type='void *' info='data passed to the callback function if the transition is activated'/>
     </function>
     <function name='xmlAutomataNewTransition2' 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 the value of @token</info>
       <return type='xmlAutomataStatePtr' info='the target state or NULL in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
@@ -6819,12 +7391,14 @@
       <arg name='data' type='void *' info='data passed to the callback function if the transition is activated'/>
     </function>
     <function name='xmlAutomataSetFinalState' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Makes that state a final state</info>
       <return type='int' info='0 or -1 in case of error'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
       <arg name='state' type='xmlAutomataStatePtr' info='a state in this automata'/>
     </function>
     <function name='xmlBoolToText' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Convenient way to turn bool into text</info>
       <return type='const char *' info='a pointer to either &quot;True&quot; or &quot;False&quot;'/>
       <arg name='boolval' type='int' info='a bool to turn into text'/>
@@ -6946,6 +7520,12 @@
       <arg name='memory' type='xmlChar *' info='preallocated memory'/>
       <arg name='len' type='int' info='preallocated memory length'/>
     </function>
+    <function name='xmlBuildRelativeURI' file='uri'>
+      <info>Expresses the URI of the reference in terms relative to the base.  Some examples of this operation include: base = &quot;http://site1.com/docs/book1.html&quot; URI input                        URI returned docs/pic1.gif                    pic1.gif docs/img/pic1.gif                img/pic1.gif img/pic1.gif                     ../img/pic1.gif http://site1.com/docs/pic1.gif   pic1.gif http://site2.com/docs/pic1.gif   http://site2.com/docs/pic1.gif  base = &quot;docs/book1.html&quot; URI input                        URI returned docs/pic1.gif                    pic1.gif docs/img/pic1.gif                img/pic1.gif img/pic1.gif                     ../img/pic1.gif http://site1.com/docs/pic1.gif   http://site1.com/docs/pic1.gif   Note: if the URI reference is really wierd or complicated, it may be worthwhile to first convert it into a &quot;nice&quot; one by calling xmlBuildURI (using &apos;base&apos;) before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</info>
+      <return type='xmlChar *' info='a new URI string (to be freed by the caller) or NULL in case error.'/>
+      <arg name='URI' type='const xmlChar *' info='the URI reference under consideration'/>
+      <arg name='base' type='const xmlChar *' info='the base value'/>
+    </function>
     <function name='xmlBuildURI' file='uri'>
       <info>Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396  5.2. Resolving Relative References to Absolute Form</info>
       <return type='xmlChar *' info='a new URI string (to be freed by the caller) or NULL in case of error.'/>
@@ -6958,6 +7538,8 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlC14NDocDumpMemory' file='c14n'>
+      <cond>LIBXML_C14N_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dumps the canonized image of given XML document into memory. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
       <return type='int' info='the number of bytes written on success or a negative value on fail'/>
       <arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -6968,6 +7550,8 @@
       <arg name='doc_txt_ptr' type='xmlChar **' info='the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory'/>
     </function>
     <function name='xmlC14NDocSave' file='c14n'>
+      <cond>LIBXML_C14N_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dumps the canonized image of given XML document into the file. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
       <return type='int' info='the number of bytes written success or a negative value on fail'/>
       <arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -6979,6 +7563,8 @@
       <arg name='compression' type='int' info='the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, &gt;0 - compression level'/>
     </function>
     <function name='xmlC14NDocSaveTo' file='c14n'>
+      <cond>LIBXML_C14N_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dumps the canonized image of given XML document into the provided buffer. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
       <return type='int' info='non-negative value on success or a negative value on fail'/>
       <arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -6989,6 +7575,8 @@
       <arg name='buf' type='xmlOutputBufferPtr' info='the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output'/>
     </function>
     <function name='xmlC14NExecute' file='c14n'>
+      <cond>LIBXML_C14N_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dumps the canonized image of given XML document into the provided buffer. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
       <return type='int' info='non-negative value on success or a negative value on fail'/>
       <arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -7000,6 +7588,8 @@
       <arg name='buf' type='xmlOutputBufferPtr' info='the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output'/>
     </function>
     <functype name='xmlC14NIsVisibleCallback' file='c14n'>
+      <cond>LIBXML_C14N_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info></info>
       <return type='int' info=''/>
       <arg name='user_data' type='void *' info=''/>
@@ -7012,6 +7602,7 @@
       <arg name='path' type='const xmlChar *' info='the resource locator in a filesystem notation'/>
     </function>
     <function name='xmlCatalogAdd' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Add an entry in the catalog, it may overwrite existing but different entries. If called before any other catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog();</info>
       <return type='int' info='0 if successful, -1 otherwise'/>
       <arg name='type' type='const xmlChar *' info='the type of record to add to the catalog'/>
@@ -7019,49 +7610,60 @@
       <arg name='replace' type='const xmlChar *' info='the replacement value for the match'/>
     </function>
     <function name='xmlCatalogAddLocal' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Add the new entry to the catalog list</info>
       <return type='void *' info='the updated list'/>
       <arg name='catalogs' type='void *' info='a document&apos;s list of catalogs'/>
       <arg name='URL' type='const xmlChar *' info='the URL to a new local catalog'/>
     </function>
     <function name='xmlCatalogCleanup' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Free up all the memory associated with catalogs</info>
       <return type='void'/>
     </function>
     <function name='xmlCatalogConvert' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Convert all the SGML catalog entries as XML ones</info>
       <return type='int' info='the number of entries converted if successful, -1 otherwise'/>
     </function>
     <function name='xmlCatalogDump' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump all the global catalog content to the given file.</info>
       <return type='void'/>
       <arg name='out' type='FILE *' info='the file.'/>
     </function>
     <function name='xmlCatalogFreeLocal' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Free up the memory associated to the catalog list</info>
       <return type='void'/>
       <arg name='catalogs' type='void *' info='a document&apos;s list of catalogs'/>
     </function>
     <function name='xmlCatalogGetDefaults' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Used to get the user preference w.r.t. to what catalogs should be accepted</info>
       <return type='xmlCatalogAllow' info='the current xmlCatalogAllow value'/>
     </function>
     <function name='xmlCatalogGetPublic' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Try to lookup the catalog reference associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</info>
       <return type='const xmlChar *' info='the resource if found or NULL otherwise.'/>
       <arg name='pubID' type='const xmlChar *' info='the public ID string'/>
     </function>
     <function name='xmlCatalogGetSystem' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Try to lookup the catalog reference associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</info>
       <return type='const xmlChar *' info='the resource if found or NULL otherwise.'/>
       <arg name='sysID' type='const xmlChar *' info='the system ID string'/>
     </function>
     <function name='xmlCatalogIsEmpty' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Check is a catalog is empty</info>
       <return type='int' info='1 if the catalog is empty, 0 if not, amd -1 in case of error.'/>
       <arg name='catal' type='xmlCatalogPtr' info='should this create an SGML catalog'/>
     </function>
     <function name='xmlCatalogLocalResolve' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Do a complete resolution lookup of an External Identifier using a document&apos;s private catalog list</info>
       <return type='xmlChar *' info='the URI of the resource or NULL if not found, it must be freed by the caller.'/>
       <arg name='catalogs' type='void *' info='a document&apos;s list of catalogs'/>
@@ -7069,48 +7671,57 @@
       <arg name='sysID' type='const xmlChar *' info='the system ID string'/>
     </function>
     <function name='xmlCatalogLocalResolveURI' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Do a complete resolution lookup of an URI using a document&apos;s private catalog list</info>
       <return type='xmlChar *' info='the URI of the resource or NULL if not found, it must be freed by the caller.'/>
       <arg name='catalogs' type='void *' info='a document&apos;s list of catalogs'/>
       <arg name='URI' type='const xmlChar *' info='the URI'/>
     </function>
     <function name='xmlCatalogRemove' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Remove an entry from the catalog</info>
       <return type='int' info='the number of entries removed if successful, -1 otherwise'/>
       <arg name='value' type='const xmlChar *' info='the value to remove'/>
     </function>
     <function name='xmlCatalogResolve' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Do a complete resolution lookup of an External Identifier</info>
       <return type='xmlChar *' info='the URI of the resource or NULL if not found, it must be freed by the caller.'/>
       <arg name='pubID' type='const xmlChar *' info='the public ID string'/>
       <arg name='sysID' type='const xmlChar *' info='the system ID string'/>
     </function>
     <function name='xmlCatalogResolvePublic' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Try to lookup the catalog reference associated to a public ID</info>
       <return type='xmlChar *' info='the resource if found or NULL otherwise, the value returned must be freed by the caller.'/>
       <arg name='pubID' type='const xmlChar *' info='the public ID string'/>
     </function>
     <function name='xmlCatalogResolveSystem' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Try to lookup the catalog resource for a system ID</info>
       <return type='xmlChar *' info='the resource if found or NULL otherwise, the value returned must be freed by the caller.'/>
       <arg name='sysID' type='const xmlChar *' info='the system ID string'/>
     </function>
     <function name='xmlCatalogResolveURI' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Do a complete resolution lookup of an URI</info>
       <return type='xmlChar *' info='the URI of the resource or NULL if not found, it must be freed by the caller.'/>
       <arg name='URI' type='const xmlChar *' info='the URI'/>
     </function>
     <function name='xmlCatalogSetDebug' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</info>
       <return type='int' info='the previous value of the catalog debugging level'/>
       <arg name='level' type='int' info='the debug level of catalogs required'/>
     </function>
     <function name='xmlCatalogSetDefaultPrefer' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are XML_CATA_PREFER_PUBLIC or XML_CATA_PREFER_SYSTEM</info>
       <return type='xmlCatalogPrefer' info='the previous value of the default preference for delegation'/>
       <arg name='prefer' type='xmlCatalogPrefer' info='the default preference for delegation'/>
     </function>
     <function name='xmlCatalogSetDefaults' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Used to set the user preference w.r.t. to what catalogs should be accepted</info>
       <return type='void'/>
       <arg name='allow' type='xmlCatalogAllow' info='what catalogs should be accepted'/>
@@ -7221,6 +7832,7 @@
       <return type='void'/>
     </function>
     <function name='xmlCleanupOutputCallbacks' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>clears the entire output callback table. this includes the compiled-in I/O callbacks.</info>
       <return type='void'/>
     </function>
@@ -7247,6 +7859,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlConvertSGMLCatalog' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Convert all the SGML catalog entries as XML ones</info>
       <return type='int' info='the number of entries converted if successful, -1 otherwise'/>
       <arg name='catal' type='xmlCatalogPtr' info='the catalog'/>
@@ -7270,12 +7883,14 @@
       <arg name='val' type='int' info='the char value'/>
     </function>
     <function name='xmlCopyDoc' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.</info>
       <return type='xmlDocPtr' info='a new #xmlDocPtr, or NULL in case of error.'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='recursive' type='int' info='if not zero do a recursive copy.'/>
     </function>
     <function name='xmlCopyDtd' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Do a copy of the dtd.</info>
       <return type='xmlDtdPtr' info='a new #xmlDtdPtr, or NULL in case of error.'/>
       <arg name='dtd' type='xmlDtdPtr' info='the dtd'/>
@@ -7395,6 +8010,7 @@
       <arg name='size' type='int' info='the size of the array'/>
     </function>
     <function name='xmlCreatePushParserCtxt' file='parser'>
+      <cond>LIBXML_PUSH_ENABLED</cond>
       <info>Create a parser context for using the XML parser in push mode. If @buffer and @size are non-NULL, the data is used to detect the encoding.  The remaining characters will be parsed so they don&apos;t need to be fed in again through xmlParseChunk. 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='xmlParserCtxtPtr' info='the new parser context or NULL'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='a SAX handler'/>
@@ -7497,6 +8113,7 @@
       <arg name='len' type='int *' info='pointer to the length of the char read'/>
     </function>
     <function name='xmlDebugDumpAttr' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the attribute</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -7504,6 +8121,7 @@
       <arg name='depth' type='int' info='the indentation level.'/>
     </function>
     <function name='xmlDebugDumpAttrList' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the attribute list</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -7511,30 +8129,35 @@
       <arg name='depth' type='int' info='the indentation level.'/>
     </function>
     <function name='xmlDebugDumpDTD' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the DTD</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
       <arg name='dtd' type='xmlDtdPtr' info='the DTD'/>
     </function>
     <function name='xmlDebugDumpDocument' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the document, it&apos;s recursive</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='xmlDebugDumpDocumentHead' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information cncerning the document, not recursive</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='xmlDebugDumpEntities' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for all the entities in use by the document</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='xmlDebugDumpNode' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the element node, it is recursive</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -7542,6 +8165,7 @@
       <arg name='depth' type='int' info='the indentation level.'/>
     </function>
     <function name='xmlDebugDumpNodeList' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the list of element node, it is recursive</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -7549,6 +8173,7 @@
       <arg name='depth' type='int' info='the indentation level.'/>
     </function>
     <function name='xmlDebugDumpOneNode' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps debug information for the element node, it is not recursive</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -7556,6 +8181,7 @@
       <arg name='depth' type='int' info='the indentation level.'/>
     </function>
     <function name='xmlDebugDumpString' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps informations about the string, shorten it if necessary</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -7648,12 +8274,14 @@
       <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='xmlDocDump' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document to an open FILE.</info>
       <return type='int' info='the number of bytes written or -1 in case of failure.'/>
       <arg name='f' type='FILE *' info='the FILE*'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='xmlDocDumpFormatMemory' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document in memory and return the #xmlChar * and it&apos;s size. It&apos;s up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</info>
       <return type='void'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
@@ -7662,6 +8290,7 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='xmlDocDumpFormatMemoryEnc' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump the current DOM tree into memory using the character encoding specified by the caller.  Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</info>
       <return type='void'/>
       <arg name='out_doc' type='xmlDocPtr' info='Document to generate XML text from'/>
@@ -7671,6 +8300,7 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='xmlDocDumpMemory' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document in memory and return the #xmlChar * and it&apos;s size in bytes. It&apos;s up to the caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not included in the returned size.</info>
       <return type='void'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
@@ -7678,6 +8308,7 @@
       <arg name='size' type='int *' info='OUT: the memory length'/>
     </function>
     <function name='xmlDocDumpMemoryEnc' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump the current DOM tree into memory using the character encoding specified by the caller.  Note it is up to the caller of this function to free the allocated memory with xmlFree().</info>
       <return type='void'/>
       <arg name='out_doc' type='xmlDocPtr' info='Document to generate XML text from'/>
@@ -7686,6 +8317,7 @@
       <arg name='txt_encoding' type='const char *' info='Character encoding to use when generating XML text'/>
     </function>
     <function name='xmlDocFormatDump' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document to an open FILE.</info>
       <return type='int' info='the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called'/>
       <arg name='f' type='FILE *' info='the FILE*'/>
@@ -7698,60 +8330,70 @@
       <arg name='doc' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='xmlDocSetRootElement' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</info>
       <return type='xmlNodePtr' info='the old root element if any was found'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='root' type='xmlNodePtr' info='the new document root element'/>
     </function>
     <function name='xmlDumpAttributeDecl' file='valid'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content of the attribute declaration as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/>
       <arg name='attr' type='xmlAttributePtr' info='An attribute declaration'/>
     </function>
     <function name='xmlDumpAttributeTable' file='valid'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content of the attribute table as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/>
       <arg name='table' type='xmlAttributeTablePtr' info='An attribute table'/>
     </function>
     <function name='xmlDumpElementDecl' file='valid'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content of the element declaration as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/>
       <arg name='elem' type='xmlElementPtr' info='An element table'/>
     </function>
     <function name='xmlDumpElementTable' file='valid'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content of the element table as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/>
       <arg name='table' type='xmlElementTablePtr' info='An element table'/>
     </function>
     <function name='xmlDumpEntitiesTable' file='entities'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content of the entity table as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='An XML buffer.'/>
       <arg name='table' type='xmlEntitiesTablePtr' info='An entity table'/>
     </function>
     <function name='xmlDumpEntityDecl' file='entities'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content of the entity table as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='An XML buffer.'/>
       <arg name='ent' type='xmlEntityPtr' info='An entity table'/>
     </function>
     <function name='xmlDumpNotationDecl' file='valid'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content the notation declaration as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/>
       <arg name='nota' type='xmlNotationPtr' info='A notation declaration'/>
     </function>
     <function name='xmlDumpNotationTable' file='valid'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This will dump the content of the notation table as an XML DTD definition</info>
       <return type='void'/>
       <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/>
       <arg name='table' type='xmlNotationTablePtr' info='A notation table'/>
     </function>
     <function name='xmlElemDump' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML/HTML node, recursive behaviour, children are printed too.</info>
       <return type='void'/>
       <arg name='f' type='FILE *' info='the FILE * for the output'/>
@@ -7829,11 +8471,13 @@
       <arg name='table' type='xmlAttributeTablePtr' info='An attribute table'/>
     </function>
     <function name='xmlFreeAutomata' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Free an automata</info>
       <return type='void'/>
       <arg name='am' type='xmlAutomataPtr' info='an automata'/>
     </function>
     <function name='xmlFreeCatalog' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Free the memory allocated to a Catalog</info>
       <return type='void'/>
       <arg name='catal' type='xmlCatalogPtr' info='a Catalog'/>
@@ -7924,11 +8568,13 @@
       <arg name='in' type='xmlParserInputBufferPtr' info='a buffered parser input'/>
     </function>
     <function name='xmlFreePattern' file='pattern'>
+      <cond>LIBXML_PATTERN_ENABLED</cond>
       <info>Free up the memory allocated by @comp</info>
       <return type='void'/>
       <arg name='comp' type='xmlPatternPtr' info='an XSLT comp'/>
     </function>
     <function name='xmlFreePatternList' file='pattern'>
+      <cond>LIBXML_PATTERN_ENABLED</cond>
       <info>Free up the memory allocated by all the elements of @comp</info>
       <return type='void'/>
       <arg name='comp' type='xmlPatternPtr' info='an XSLT comp list'/>
@@ -7954,11 +8600,13 @@
       <arg name='table' type='xmlRefTablePtr' info='An ref table'/>
     </function>
     <function name='xmlFreeTextReader' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Deallocate all the resources associated to the reader</info>
       <return type='void'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr'/>
     </function>
     <function name='xmlFreeTextWriter' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Deallocate all the resources associated to the writer</info>
       <return type='void'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -8125,11 +8773,13 @@
       <arg name='name' type='const xmlChar *' info='the attribute name'/>
     </function>
     <function name='xmlGetNodePath' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Build a structure based Path for the given node</info>
       <return type='xmlChar *' info='the new path or NULL in case of error. The caller must free the returned string'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlGetNsList' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Search all the namespace applying to a given element.</info>
       <return type='xmlNsPtr *' info='an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
@@ -8402,21 +9052,25 @@
       <arg name='f' type='xmlHashDeallocator' info='the deallocator function for replaced item (if any)'/>
     </function>
     <function name='xmlIOFTPClose' file='xmlIO'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Close an FTP I/O channel</info>
       <return type='int' info='0'/>
       <arg name='context' type='void *' info='the I/O context'/>
     </function>
     <function name='xmlIOFTPMatch' file='xmlIO'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>check if the URI matches an FTP one</info>
       <return type='int' info='1 if matches, 0 otherwise'/>
       <arg name='filename' type='const char *' info='the URI for matching'/>
     </function>
     <function name='xmlIOFTPOpen' file='xmlIO'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>open an FTP I/O channel</info>
       <return type='void *' info='an I/O context or NULL in case of error'/>
       <arg name='filename' type='const char *' info='the URI for matching'/>
     </function>
     <function name='xmlIOFTPRead' file='xmlIO'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Read @len bytes to @buffer from the I/O channel.</info>
       <return type='int' info='the number of bytes written'/>
       <arg name='context' type='void *' info='the I/O context'/>
@@ -8424,27 +9078,32 @@
       <arg name='len' type='int' info='number of bytes to write'/>
     </function>
     <function name='xmlIOHTTPClose' file='xmlIO'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Close an HTTP I/O channel</info>
       <return type='int' info='0'/>
       <arg name='context' type='void *' info='the I/O context'/>
     </function>
     <function name='xmlIOHTTPMatch' file='xmlIO'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>check if the URI matches an HTTP one</info>
       <return type='int' info='1 if matches, 0 otherwise'/>
       <arg name='filename' type='const char *' info='the URI for matching'/>
     </function>
     <function name='xmlIOHTTPOpen' file='xmlIO'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>open an HTTP I/O channel</info>
       <return type='void *' info='an I/O context or NULL in case of error'/>
       <arg name='filename' type='const char *' info='the URI for matching'/>
     </function>
     <function name='xmlIOHTTPOpenW' file='xmlIO'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Open a temporary buffer to collect the document for a subsequent HTTP POST request.  Non-static as is called from the output buffer creation routine.</info>
       <return type='void *' info='an I/O context or NULL in case of error.'/>
       <arg name='post_uri' type='const char *' info='The destination URI for the document'/>
       <arg name='compression' type='int' info='The compression desired for the document.'/>
     </function>
     <function name='xmlIOHTTPRead' file='xmlIO'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Read @len bytes to @buffer from the I/O channel.</info>
       <return type='int' info='the number of bytes written'/>
       <arg name='context' type='void *' info='the I/O context'/>
@@ -8489,6 +9148,7 @@
       <return type='void'/>
     </function>
     <function name='xmlInitializeCatalog' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup</info>
       <return type='void'/>
     </function>
@@ -8777,16 +9437,19 @@
       <arg name='user' type='const void *' info='extra user provided data to the walker'/>
     </functype>
     <function name='xmlLoadACatalog' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled recursively.</info>
       <return type='xmlCatalogPtr' info='the catalog parsed or NULL in case of error'/>
       <arg name='filename' type='const char *' info='a file path'/>
     </function>
     <function name='xmlLoadCatalog' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Load the catalog and makes its definitions effective for the default external entity loader. It will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably be done once at startup</info>
       <return type='int' info='0 in case of success -1 in case of error'/>
       <arg name='filename' type='const char *' info='a file path'/>
     </function>
     <function name='xmlLoadCatalogs' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Load the catalogs and makes their definitions effective for the default external entity loader. this function is not thread safe, catalog initialization should preferably be done once at startup</info>
       <return type='void'/>
       <arg name='pathss' type='const char *' info='a list of directories separated by a colon or a space.'/>
@@ -8799,6 +9462,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='the context in which the entity is called or NULL'/>
     </function>
     <function name='xmlLoadSGMLSuperCatalog' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>Load an SGML super catalog. It won&apos;t expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</info>
       <return type='xmlCatalogPtr' info='the catalog parsed or NULL in case of error'/>
       <arg name='filename' type='const char *' info='a file path'/>
@@ -8808,11 +9472,13 @@
       <return type='void'/>
     </function>
     <function name='xmlLsCountNode' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Count the children of @node.</info>
       <return type='int' info='the number of children of @node.'/>
       <arg name='node' type='xmlNodePtr' info='the node to count'/>
     </function>
     <function name='xmlLsOneNode' file='debugXML'>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dump to @output the type and name of @node.</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -8843,9 +9509,9 @@
       <arg name='fp' type='FILE *' info='a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist'/>
     </function>
     <function name='xmlMemFree' file='xmlmemory'>
-      <info>a free() equivalent, with error checking.</info>
+      <info></info>
       <return type='void'/>
-      <arg name='ptr' type='void *' info='the memory block pointer'/>
+      <arg name='ptr' type='void *' info=''/>
     </function>
     <function name='xmlMemGet' file='xmlmemory'>
       <info>Provides the memory access functions set currently in use</info>
@@ -8856,15 +9522,15 @@
       <arg name='strdupFunc' type='xmlStrdupFunc *' info='place to save the strdup() function in use'/>
     </function>
     <function name='xmlMemMalloc' file='xmlmemory'>
-      <info>a malloc() equivalent, with logging of the allocation info.</info>
-      <return type='void *' info='a pointer to the allocated area or NULL in case of lack of memory.'/>
-      <arg name='size' type='size_t' info='an int specifying the size in byte to allocate.'/>
+      <info></info>
+      <return type='void *' info=''/>
+      <arg name='size' type='size_t' info=''/>
     </function>
     <function name='xmlMemRealloc' file='xmlmemory'>
-      <info>a realloc() equivalent, with logging of the allocation info.</info>
-      <return type='void *' info='a pointer to the allocated area or NULL in case of lack of memory.'/>
-      <arg name='ptr' type='void *' info='the initial memory block pointer'/>
-      <arg name='size' type='size_t' info='an int specifying the size in byte to allocate.'/>
+      <info></info>
+      <return type='void *' info=''/>
+      <arg name='ptr' type='void *' info=''/>
+      <arg name='size' type='size_t' info=''/>
     </function>
     <function name='xmlMemSetup' file='xmlmemory'>
       <info>Override the default memory access functions with a new set This has to be called before any other libxml routines !  Should this be blocked if there was already some allocations done ?</info>
@@ -8896,9 +9562,9 @@
       <return type='void'/>
     </function>
     <function name='xmlMemoryStrdup' file='xmlmemory'>
-      <info>a strdup() equivalent, with logging of the allocation info.</info>
-      <return type='char *' info='a pointer to the new string or NULL if allocation error occurred.'/>
-      <arg name='str' type='const char *' info='the initial string pointer'/>
+      <info></info>
+      <return type='char *' info=''/>
+      <arg name='str' type='const char *' info=''/>
     </function>
     <function name='xmlMutexLock' file='threads'>
       <info>xmlMutexLock() is used to lock a libxml2 token.</info>
@@ -8927,53 +9593,63 @@
       <arg name='prefix' type='xmlChar **' info='a xmlChar **'/>
     </function>
     <function name='xmlNanoFTPCheckResponse' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Check if there is a response from the FTP server after a command.</info>
       <return type='int' info='the code number, or 0'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPCleanup' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Cleanup the FTP protocol layer. This cleanup proxy informations.</info>
       <return type='void'/>
     </function>
     <function name='xmlNanoFTPClose' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Close the connection and both control and transport</info>
       <return type='int' info='-1 incase of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPCloseConnection' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Close the data connection from the server</info>
       <return type='int' info='-1 incase of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPConnect' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Tries to open a control connection</info>
       <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPConnectTo' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Tries to open a control connection to the given server/port</info>
       <return type='void *' info='an fTP context or NULL if it failed'/>
       <arg name='server' type='const char *' info='an FTP server name'/>
       <arg name='port' type='int' info='the port (use 21 if 0)'/>
     </function>
     <function name='xmlNanoFTPCwd' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <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'/>
     </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'/>
     </function>
     <function name='xmlNanoFTPFreeCtxt' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Frees the context after closing the connection.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPGet' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.</info>
       <return type='int' info='-1 incase of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
@@ -8982,26 +9658,31 @@
       <arg name='filename' type='const char *' info='the file to retrieve'/>
     </function>
     <function name='xmlNanoFTPGetConnection' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Try to open a data connection to the server. Currently only passive mode is supported.</info>
       <return type='int' info='-1 incase of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPGetResponse' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Get the response from the FTP server after a command.</info>
       <return type='int' info='the code number'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPGetSocket' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Initiate fetch of the given file from the server.</info>
       <return type='int' info='the socket for the data connection, or &lt;0 in case of error'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
       <arg name='filename' type='const char *' info='the file to retrieve (or NULL if path is in context).'/>
     </function>
     <function name='xmlNanoFTPInit' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the hostname</info>
       <return type='void'/>
     </function>
     <function name='xmlNanoFTPList' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Do a listing on the server. All files info are passed back in the callbacks.</info>
       <return type='int' info='-1 incase of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
@@ -9010,16 +9691,19 @@
       <arg name='filename' type='char *' info='optional files to list'/>
     </function>
     <function name='xmlNanoFTPNewCtxt' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Allocate and initialize a new FTP context.</info>
       <return type='void *' info='an FTP context or NULL in case of error.'/>
       <arg name='URL' type='const char *' info='The URL used to initialize the context'/>
     </function>
     <function name='xmlNanoFTPOpen' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Start to fetch the given ftp:// resource</info>
       <return type='void *' info='an FTP context, or NULL'/>
       <arg name='URL' type='const char *' info='the URL to the resource'/>
     </function>
     <function name='xmlNanoFTPProxy' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Setup the FTP proxy informations. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.</info>
       <return type='void'/>
       <arg name='host' type='const char *' info='the proxy host name'/>
@@ -9029,11 +9713,13 @@
       <arg name='type' type='int' info='the type of proxy 1 for using SITE, 2 for USER a at b'/>
     </function>
     <function name='xmlNanoFTPQuit' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Send a QUIT command to the server</info>
       <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPRead' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.</info>
       <return type='int' info='the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.'/>
       <arg name='ctx' type='void *' info='the FTP context'/>
@@ -9041,36 +9727,43 @@
       <arg name='len' type='int' info='the buffer length'/>
     </function>
     <function name='xmlNanoFTPScanProxy' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy informations.</info>
       <return type='void'/>
       <arg name='URL' type='const char *' info='The proxy URL used to initialize the proxy context'/>
     </function>
     <function name='xmlNanoFTPUpdateURL' file='nanoftp'>
+      <cond>LIBXML_FTP_ENABLED</cond>
       <info>Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to be established.</info>
       <return type='int' info='0 if Ok, -1 in case of error (other host).'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
       <arg name='URL' type='const char *' info='The URL used to update the context'/>
     </function>
     <function name='xmlNanoHTTPAuthHeader' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Get the authentication header of an HTTP context</info>
       <return type='const char *' info='the stashed value of the WWW-Authenticate or Proxy-Authenticate header.'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
     </function>
     <function name='xmlNanoHTTPCleanup' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Cleanup the HTTP protocol layer.</info>
       <return type='void'/>
     </function>
     <function name='xmlNanoHTTPClose' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>This function closes an HTTP context, it ends up the connection and free all data related to it.</info>
       <return type='void'/>
       <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>
       <return type='const char *' info='the specified encoding or NULL if not available'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
     </function>
     <function name='xmlNanoHTTPFetch' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>This function try to fetch the indicated resource via HTTP GET and save it&apos;s content in the file.</info>
       <return type='int' info='-1 in case of failure, 0 incase of success. The contentType, if provided must be freed by the caller'/>
       <arg name='URL' type='const char *' info='The URL to load'/>
@@ -9078,10 +9771,12 @@
       <arg name='contentType' type='char **' info='if available the Content-Type information will be returned at that location'/>
     </function>
     <function name='xmlNanoHTTPInit' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Initialize the HTTP protocol layer. Currently it just checks for proxy informations</info>
       <return type='void'/>
     </function>
     <function name='xmlNanoHTTPMethod' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.</info>
       <return type='void *' info='NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller'/>
       <arg name='URL' type='const char *' info='The URL to load'/>
@@ -9092,6 +9787,7 @@
       <arg name='ilen' type='int' info='input length'/>
     </function>
     <function name='xmlNanoHTTPMethodRedir' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.</info>
       <return type='void *' info='NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller'/>
       <arg name='URL' type='const char *' info='The URL to load'/>
@@ -9103,17 +9799,20 @@
       <arg name='ilen' type='int' info='input length'/>
     </function>
     <function name='xmlNanoHTTPMimeType' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Provides the specified Mime-Type if specified in the HTTP headers.</info>
       <return type='const char *' info='the specified Mime-Type or NULL if not available'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
     </function>
     <function name='xmlNanoHTTPOpen' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>This function try to open a connection to the indicated resource via HTTP GET.</info>
       <return type='void *' info='NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller'/>
       <arg name='URL' type='const char *' info='The URL to load'/>
       <arg name='contentType' type='char **' info='if available the Content-Type information will be returned at that location'/>
     </function>
     <function name='xmlNanoHTTPOpenRedir' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>This function try to open a connection to the indicated resource via HTTP GET.</info>
       <return type='void *' info='NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller'/>
       <arg name='URL' type='const char *' info='The URL to load'/>
@@ -9121,6 +9820,7 @@
       <arg name='redir' type='char **' info='if available the redirected URL will be returned'/>
     </function>
     <function name='xmlNanoHTTPRead' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.</info>
       <return type='int' info='the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
@@ -9128,27 +9828,33 @@
       <arg name='len' type='int' info='the buffer length'/>
     </function>
     <function name='xmlNanoHTTPRedir' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Provides the specified redirection URL if available from the HTTP header.</info>
       <return type='const char *' info='the specified redirection URL or NULL if not redirected.'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
     </function>
     <function name='xmlNanoHTTPReturnCode' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>Get the latest HTTP return code received</info>
       <return type='int' info='the HTTP return code for the request.'/>
       <arg name='ctx' type='void *' info='the HTTP context'/>
     </function>
     <function name='xmlNanoHTTPSave' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>This function saves the output of the HTTP transaction to a file It closes and free the context at the end</info>
       <return type='int' info='-1 in case of failure, 0 incase of success.'/>
       <arg name='ctxt' type='void *' info='the HTTP context'/>
       <arg name='filename' type='const char *' info='the filename where the content should be saved'/>
     </function>
     <function name='xmlNanoHTTPScanProxy' file='nanohttp'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy informations.</info>
       <return type='void'/>
       <arg name='URL' type='const char *' info='The proxy URL used to initialize the proxy context'/>
     </function>
     <function name='xmlNewAutomata' file='xmlautomata'>
+      <cond>LIBXML_AUTOMATA_ENABLED</cond>
       <info>Create a new automata</info>
       <return type='xmlAutomataPtr' info='the new object or NULL in case of failure'/>
     </function>
@@ -9160,6 +9866,7 @@
       <arg name='len' type='int' info='the length of the block'/>
     </function>
     <function name='xmlNewCatalog' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>create a new Catalog.</info>
       <return type='xmlCatalogPtr' info='the xmlCatalogPtr or NULL in case of error'/>
       <arg name='sgml' type='int' info='should this create an SGML catalog'/>
@@ -9202,6 +9909,7 @@
       <arg name='content' type='const xmlChar *' info='the comment content'/>
     </function>
     <function name='xmlNewDocFragment' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Creation of a new Fragment node.</info>
       <return type='xmlNodePtr' info='a pointer to the new node object.'/>
       <arg name='doc' type='xmlDocPtr' info='the document owning the fragment'/>
@@ -9387,46 +10095,54 @@
       <arg name='len' type='int' info='the text len.'/>
     </function>
     <function name='xmlNewTextReader' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Create an xmlTextReader structure fed with @input</info>
       <return type='xmlTextReaderPtr' info='the new xmlTextReaderPtr or NULL in case of error'/>
       <arg name='input' type='xmlParserInputBufferPtr' info='the xmlParserInputBufferPtr used to read data'/>
       <arg name='URI' type='const char *' info='the URI information for the source if available'/>
     </function>
     <function name='xmlNewTextReaderFilename' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Create an xmlTextReader structure fed with the resource at @URI</info>
       <return type='xmlTextReaderPtr' info='the new xmlTextReaderPtr or NULL in case of error'/>
       <arg name='URI' type='const char *' info='the URI of the resource to process'/>
     </function>
     <function name='xmlNewTextWriter' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr</info>
       <return type='xmlTextWriterPtr' info='the new xmlTextWriterPtr or NULL in case of error'/>
       <arg name='out' type='xmlOutputBufferPtr' info='an xmlOutputBufferPtr'/>
     </function>
     <function name='xmlNewTextWriterDoc' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Create a new xmlNewTextWriter structure with @*doc as output</info>
       <return type='xmlTextWriterPtr' info='the new xmlTextWriterPtr or NULL in case of error'/>
       <arg name='doc' type='xmlDocPtr *' info='address of a xmlDocPtr to hold the new XML document tree'/>
       <arg name='compression' type='int' info='compress the output?'/>
     </function>
     <function name='xmlNewTextWriterFilename' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Create a new xmlNewTextWriter structure with @uri as output</info>
       <return type='xmlTextWriterPtr' info='the new xmlTextWriterPtr or NULL in case of error'/>
       <arg name='uri' type='const char *' info='the URI of the resource for the output'/>
       <arg name='compression' type='int' info='compress the output?'/>
     </function>
     <function name='xmlNewTextWriterMemory' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Create a new xmlNewTextWriter structure with @buf as output TODO: handle compression</info>
       <return type='xmlTextWriterPtr' info='the new xmlTextWriterPtr or NULL in case of error'/>
       <arg name='buf' type='xmlBufferPtr' info='xmlBufferPtr'/>
       <arg name='compression' type='int' info='compress the output?'/>
     </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>
       <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?'/>
     </function>
     <function name='xmlNewTextWriterTree' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Create a new xmlNewTextWriter structure with @doc as output starting at @node</info>
       <return type='xmlTextWriterPtr' info='the new xmlTextWriterPtr or NULL in case of error'/>
       <arg name='doc' type='xmlDocPtr' info='xmlDocPtr'/>
@@ -9469,6 +10185,7 @@
       <arg name='cur' type='xmlNodePtr' info='the node being read'/>
     </function>
     <function name='xmlNodeDump' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</info>
       <return type='int' info='the number of bytes written to the buffer or -1 in case of error'/>
       <arg name='buf' type='xmlBufferPtr' info='the XML buffer output'/>
@@ -9478,6 +10195,7 @@
       <arg name='format' type='int' info='is formatting allowed'/>
     </function>
     <function name='xmlNodeDumpOutput' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</info>
       <return type='void'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the XML buffer output'/>
@@ -9514,6 +10232,7 @@
       <arg name='node' type='xmlNodePtr' info='the node'/>
     </function>
     <function name='xmlNodeListGetRawString' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn&apos;t do any character encoding handling.</info>
       <return type='xmlChar *' info='a pointer to the string copy, the caller must free it with xmlFree().'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
@@ -9528,6 +10247,7 @@
       <arg name='inLine' type='int' info='should we replace entity contents or show their external form'/>
     </function>
     <function name='xmlNodeSetBase' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodePtr' info='the node being changed'/>
@@ -9540,6 +10260,7 @@
       <arg name='content' type='const xmlChar *' info='the new value of the content'/>
     </function>
     <function name='xmlNodeSetContentLen' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Replace the content of a node.</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodePtr' info='the node being modified'/>
@@ -9547,18 +10268,21 @@
       <arg name='len' type='int' info='the size of @content'/>
     </function>
     <function name='xmlNodeSetLang' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Set the language of a node, i.e. the values of the xml:lang attribute.</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodePtr' info='the node being changed'/>
       <arg name='lang' type='const xmlChar *' info='the language description'/>
     </function>
     <function name='xmlNodeSetName' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Set (or reset) the name of a node.</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodePtr' info='the node being changed'/>
       <arg name='name' type='const xmlChar *' info='the new tag name'/>
     </function>
     <function name='xmlNodeSetSpacePreserve' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodePtr' info='the node being changed'/>
@@ -9575,30 +10299,47 @@
       <arg name='path' type='const xmlChar *' info='the input file path'/>
     </function>
     <function name='xmlOutputBufferClose' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>flushes and close the output I/O channel and free up all the associated resources</info>
       <return type='int' info='the number of byte written or -1 in case of error.'/>
       <arg name='out' type='xmlOutputBufferPtr' info='a buffered output'/>
     </function>
     <function name='xmlOutputBufferCreateFd' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a buffered output for the progressive saving to a file descriptor</info>
       <return type='xmlOutputBufferPtr' info='the new parser output or NULL'/>
       <arg name='fd' type='int' info='a file descriptor number'/>
       <arg name='encoder' type='xmlCharEncodingHandlerPtr' info='the encoding converter or NULL'/>
     </function>
     <function name='xmlOutputBufferCreateFile' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a buffered output for the progressive saving to a FILE * buffered C I/O</info>
       <return type='xmlOutputBufferPtr' info='the new parser output or NULL'/>
       <arg name='file' type='FILE *' info='a FILE*'/>
       <arg name='encoder' type='xmlCharEncodingHandlerPtr' info='the encoding converter or NULL'/>
     </function>
     <function name='xmlOutputBufferCreateFilename' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a buffered  output for the progressive saving of a file If filename is &quot;-&apos; then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.</info>
       <return type='xmlOutputBufferPtr' info='the new output or NULL'/>
       <arg name='URI' type='const char *' info='a C string containing the URI or filename'/>
       <arg name='encoder' type='xmlCharEncodingHandlerPtr' info='the encoding converter or NULL'/>
       <arg name='compression' type='int' info='the compression ration (0 none, 9 max).'/>
     </function>
+    <function name='xmlOutputBufferCreateFilenameDefault' file='globals'>
+      <info>Registers a callback for URI output file handling</info>
+      <return type='xmlOutputBufferCreateFilenameFunc' info='the old value of the registration function'/>
+      <arg name='func' type='xmlOutputBufferCreateFilenameFunc' info='function pointer to the new OutputBufferCreateFilenameFunc'/>
+    </function>
+    <functype name='xmlOutputBufferCreateFilenameFunc' file='globals'>
+      <info></info>
+      <return type='xmlOutputBufferPtr' info=''/>
+      <arg name='URI' type='const char *' info=''/>
+      <arg name='encoder' type='xmlCharEncodingHandlerPtr' info=''/>
+      <arg name='compression' type='int' info=''/>
+    </functype>
     <function name='xmlOutputBufferCreateIO' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a buffered output for the progressive saving to an I/O handler</info>
       <return type='xmlOutputBufferPtr' info='the new parser output or NULL'/>
       <arg name='iowrite' type='xmlOutputWriteCallback' info='an I/O write function'/>
@@ -9607,11 +10348,13 @@
       <arg name='encoder' type='xmlCharEncodingHandlerPtr' info='the charset encoding if known'/>
     </function>
     <function name='xmlOutputBufferFlush' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>flushes the output I/O channel</info>
       <return type='int' info='the number of byte written or -1 in case of error.'/>
       <arg name='out' type='xmlOutputBufferPtr' info='a buffered output'/>
     </function>
     <function name='xmlOutputBufferWrite' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</info>
       <return type='int' info='the number of chars immediately written, or -1 in case of error.'/>
       <arg name='out' type='xmlOutputBufferPtr' info='a buffered parser output'/>
@@ -9619,6 +10362,7 @@
       <arg name='buf' type='const char *' info='an char array'/>
     </function>
     <function name='xmlOutputBufferWriteEscape' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Write the content of the string in the output I/O buffer This routine escapes the caracters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</info>
       <return type='int' info='the number of chars immediately written, or -1 in case of error.'/>
       <arg name='out' type='xmlOutputBufferPtr' info='a buffered parser output'/>
@@ -9626,27 +10370,32 @@
       <arg name='escaping' type='xmlCharEncodingOutputFunc' info='an optional escaping function (or NULL)'/>
     </function>
     <function name='xmlOutputBufferWriteString' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</info>
       <return type='int' info='the number of chars immediately written, or -1 in case of error.'/>
       <arg name='out' type='xmlOutputBufferPtr' info='a buffered parser output'/>
       <arg name='str' type='const char *' info='a zero terminated C string'/>
     </function>
     <functype name='xmlOutputCloseCallback' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Callback used in the I/O Output API to close the resource</info>
       <return type='int' info='0 or -1 in case of error'/>
       <arg name='context' type='void *' info='an Output context'/>
     </functype>
     <functype name='xmlOutputMatchCallback' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Callback used in the I/O Output API to detect if the current handler can provide output fonctionnalities for this resource.</info>
       <return type='int' info='1 if yes and 0 if another Output module should be used'/>
       <arg name='filename' type='char const *' info='the filename or URI'/>
     </functype>
     <functype name='xmlOutputOpenCallback' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Callback used in the I/O Output API to open the resource</info>
       <return type='void *' info='an Output context or NULL in case or error'/>
       <arg name='filename' type='char const *' info='the filename or URI'/>
     </functype>
     <functype name='xmlOutputWriteCallback' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Callback used in the I/O Output API to write to the resource</info>
       <return type='int' info='the number of bytes written or -1 in case of error'/>
       <arg name='context' type='void *' info='an Output context'/>
@@ -9702,6 +10451,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseCatalogFile' file='catalog'>
+      <cond>LIBXML_CATALOG_ENABLED</cond>
       <info>parse an XML file and build a tree. It&apos;s like xmlParseFile() except it bypass all catalog lookups.</info>
       <return type='xmlDocPtr' info='the resulting document tree or NULL in case of error'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -9723,6 +10473,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseChunk' file='parser'>
+      <cond>LIBXML_PUSH_ENABLED</cond>
       <info>Parse a Chunk of memory</info>
       <return type='int' info='zero if no error, the xmlParserErrors otherwise.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
@@ -10061,6 +10812,17 @@
       <arg name='URI' type='const char *' info='a C string containing the URI or filename'/>
       <arg name='enc' type='xmlCharEncoding' info='the charset encoding if known'/>
     </function>
+    <function name='xmlParserInputBufferCreateFilenameDefault' file='globals'>
+      <info>Registers a callback for URI input file handling</info>
+      <return type='xmlParserInputBufferCreateFilenameFunc' info='the old value of the registration function'/>
+      <arg name='func' type='xmlParserInputBufferCreateFilenameFunc' info='function pointer to the new ParserInputBufferCreateFilenameFunc'/>
+    </function>
+    <functype name='xmlParserInputBufferCreateFilenameFunc' file='globals'>
+      <info></info>
+      <return type='xmlParserInputBufferPtr' info=''/>
+      <arg name='URI' type='const char *' info=''/>
+      <arg name='enc' type='xmlCharEncoding' info=''/>
+    </functype>
     <function name='xmlParserInputBufferCreateIO' file='xmlIO'>
       <info>Create a buffered parser input for the progressive parsing for the input from an I/O handler</info>
       <return type='xmlParserInputBufferPtr' info='the new parser input or NULL'/>
@@ -10156,12 +10918,14 @@
       <arg name='...' type='...' info='extra parameters for the message display'/>
     </function>
     <function name='xmlPatternMatch' file='pattern'>
+      <cond>LIBXML_PATTERN_ENABLED</cond>
       <info>Test wether the node matches the pattern</info>
       <return type='int' info='1 if it matches, 0 if it doesn&apos;t and -1 in case of failure'/>
       <arg name='comp' type='xmlPatternPtr' info='the precompiled pattern'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlPatterncompile' file='pattern'>
+      <cond>LIBXML_PATTERN_ENABLED</cond>
       <info>Compile a pattern.</info>
       <return type='xmlPatternPtr' info='the compiled for of the pattern or NULL in case of error'/>
       <arg name='pattern' type='const xmlChar *' info='the pattern to compile'/>
@@ -10248,6 +11012,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderForDoc' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</info>
       <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to a zero terminated string'/>
@@ -10256,6 +11021,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderForFd' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.</info>
       <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
       <arg name='fd' type='int' info='an open file descriptor'/>
@@ -10264,6 +11030,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderForFile' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.</info>
       <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
       <arg name='filename' type='const char *' info='a file or URL'/>
@@ -10271,6 +11038,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderForIO' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.</info>
       <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
       <arg name='ioread' type='xmlInputReadCallback' info='an I/O read function'/>
@@ -10281,6 +11049,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderForMemory' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</info>
       <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
       <arg name='buffer' type='const char *' info='a pointer to a char array'/>
@@ -10290,6 +11059,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderNewDoc' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
@@ -10299,6 +11069,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderNewFd' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
@@ -10308,6 +11079,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderNewFile' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
@@ -10316,6 +11088,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderNewIO' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
@@ -10327,6 +11100,7 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderNewMemory' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
@@ -10337,12 +11111,14 @@
       <arg name='options' type='int' info='a combination of xmlParserOption'/>
     </function>
     <function name='xmlReaderNewWalker' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
       <arg name='doc' type='xmlDocPtr' info='a preparsed document'/>
     </function>
     <function name='xmlReaderWalker' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Create an xmltextReader for a preparsed document.</info>
       <return type='xmlTextReaderPtr' info='the new reader or NULL in case of error.'/>
       <arg name='doc' type='xmlDocPtr' info='a preparsed document'/>
@@ -10384,6 +11160,7 @@
       <arg name='size' type='int' info='the size of the array'/>
     </function>
     <functype name='xmlRegExecCallbacks' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info></info>
       <return type='void'/>
       <arg name='exec' type='xmlRegExecCtxtPtr' info=''/>
@@ -10392,6 +11169,7 @@
       <arg name='inputdata' type='void *' info=''/>
     </functype>
     <function name='xmlRegExecPushString' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Push one input token in the execution context</info>
       <return type='int' info='1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.'/>
       <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context or NULL to indicate the end'/>
@@ -10399,6 +11177,7 @@
       <arg name='data' type='void *' info='data associated to the token to reuse in callbacks'/>
     </function>
     <function name='xmlRegExecPushString2' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Push one input token in the execution context</info>
       <return type='int' info='1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.'/>
       <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context or NULL to indicate the end'/>
@@ -10407,16 +11186,19 @@
       <arg name='data' type='void *' info='data associated to the token to reuse in callbacks'/>
     </function>
     <function name='xmlRegFreeExecCtxt' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Free the structures associated to a regular expression evaulation context.</info>
       <return type='void'/>
       <arg name='exec' type='xmlRegExecCtxtPtr' info='a regular expression evaulation context'/>
     </function>
     <function name='xmlRegFreeRegexp' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Free a regexp</info>
       <return type='void'/>
       <arg name='regexp' type='xmlRegexpPtr' info='the regexp'/>
     </function>
     <function name='xmlRegNewExecCtxt' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Build a context used for progressive evaluation of a regexp.</info>
       <return type='xmlRegExecCtxtPtr' info='the new context'/>
       <arg name='comp' type='xmlRegexpPtr' info='a precompiled regular expression'/>
@@ -10424,22 +11206,26 @@
       <arg name='data' type='void *' info='the context data associated to the callback in this context'/>
     </function>
     <function name='xmlRegexpCompile' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata suitable for testing strings against that regular expression</info>
       <return type='xmlRegexpPtr' info='the compiled expression or NULL in case of error'/>
       <arg name='regexp' type='const xmlChar *' info='a regular expression string'/>
     </function>
     <function name='xmlRegexpExec' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Check if the regular expression generates the value</info>
       <return type='int' info='1 if it matches, 0 if not and a negative value in case of error'/>
       <arg name='comp' type='xmlRegexpPtr' info='the compiled regular expression'/>
       <arg name='content' type='const xmlChar *' info='the value to check against the regular expression'/>
     </function>
     <function name='xmlRegexpIsDeterminist' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Check if the regular expression is determinist</info>
       <return type='int' info='1 if it yes, 0 if not and a negative value in case of error'/>
       <arg name='comp' type='xmlRegexpPtr' info='the compiled regular expression'/>
     </function>
     <function name='xmlRegexpPrint' file='xmlregexp'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Print the content of the compiled regular expression</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the file for the output debug'/>
@@ -10455,10 +11241,12 @@
       <return type='void'/>
     </function>
     <function name='xmlRegisterDefaultOutputCallbacks' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Registers the default compiled-in I/O handlers.</info>
       <return type='void'/>
     </function>
     <function name='xmlRegisterHTTPPostCallbacks' file='xmlIO'>
+      <cond>LIBXML_HTTP_ENABLED</cond>
       <info>By default, libxml submits HTTP output requests using the &quot;PUT&quot; method. Calling this method changes the HTTP output method to use the &quot;POST&quot; method instead.</info>
       <return type='void'/>
     </function>
@@ -10481,6 +11269,7 @@
       <arg name='node' type='xmlNodePtr' info=''/>
     </functype>
     <function name='xmlRegisterOutputCallbacks' file='xmlIO'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Register a new set of I/O callback for handling output.</info>
       <return type='int' info='the registered handler number or -1 in case of error'/>
       <arg name='matchFunc' type='xmlOutputMatchCallback' info='the xmlOutputMatchCallback'/>
@@ -10489,37 +11278,46 @@
       <arg name='closeFunc' type='xmlOutputCloseCallback' info='the xmlOutputCloseCallback'/>
     </function>
     <function name='xmlRelaxNGCleanupTypes' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Cleanup the default Schemas type library associated to RelaxNG</info>
       <return type='void'/>
     </function>
     <function name='xmlRelaxNGDump' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump a RelaxNG structure back</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the file output'/>
       <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
     </function>
     <function name='xmlRelaxNGDumpTree' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump the transformed RelaxNG tree.</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the file output'/>
       <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
     </function>
     <function name='xmlRelaxNGFree' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Deallocate a RelaxNG structure.</info>
       <return type='void'/>
       <arg name='schema' type='xmlRelaxNGPtr' info='a schema structure'/>
     </function>
     <function name='xmlRelaxNGFreeParserCtxt' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Free the resources associated to the schema parser context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='the schema parser context'/>
     </function>
     <function name='xmlRelaxNGFreeValidCtxt' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Free the resources associated to the schema validation context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='the schema validation context'/>
     </function>
     <function name='xmlRelaxNGGetParserErrors' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Get the callback information used to handle errors for a validation context</info>
       <return type='int' info='-1 in case of failure, 0 otherwise.'/>
       <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='a Relax-NG validation context'/>
@@ -10528,6 +11326,7 @@
       <arg name='ctx' type='void **' info='contextual data for the callbacks result'/>
     </function>
     <function name='xmlRelaxNGGetValidErrors' file='relaxng'>
+      <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='xmlRelaxNGValidCtxtPtr' info='a Relax-NG validation context'/>
@@ -10536,32 +11335,38 @@
       <arg name='ctx' type='void **' info='the functions context result'/>
     </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>
       <return type='xmlRelaxNGParserCtxtPtr' info='the parser context or NULL in case of error'/>
       <arg name='doc' type='xmlDocPtr' info='a preparsed document tree'/>
     </function>
     <function name='xmlRelaxNGNewMemParserCtxt' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</info>
       <return type='xmlRelaxNGParserCtxtPtr' info='the parser context or NULL in case of error'/>
       <arg name='buffer' type='const char *' info='a pointer to a char array containing the schemas'/>
       <arg name='size' type='int' info='the size of the array'/>
     </function>
     <function name='xmlRelaxNGNewParserCtxt' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</info>
       <return type='xmlRelaxNGParserCtxtPtr' info='the parser context or NULL in case of error'/>
       <arg name='URL' type='const char *' info='the location of the schema'/>
     </function>
     <function name='xmlRelaxNGNewValidCtxt' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML RelaxNGs validation context based on the given schema</info>
       <return type='xmlRelaxNGValidCtxtPtr' info='the validation context or NULL in case of error'/>
       <arg name='schema' type='xmlRelaxNGPtr' info='a precompiled XML RelaxNGs'/>
     </function>
     <function name='xmlRelaxNGParse' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change</info>
       <return type='xmlRelaxNGPtr' info='the internal XML RelaxNG structure built from the resource or NULL in case of error'/>
       <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='a Relax-NG parser context'/>
     </function>
     <function name='xmlRelaxNGSetParserErrors' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Set the callback functions used to handle errors for a validation context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='a Relax-NG validation context'/>
@@ -10570,6 +11375,7 @@
       <arg name='ctx' type='void *' info='contextual data for the callbacks'/>
     </function>
     <function name='xmlRelaxNGSetValidErrors' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Set the error and warning callback informations</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='a Relax-NG validation context'/>
@@ -10578,12 +11384,14 @@
       <arg name='ctx' type='void *' info='the functions context'/>
     </function>
     <function name='xmlRelaxNGValidateDoc' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Validate a document tree in memory.</info>
       <return type='int' info='0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='a Relax-NG validation context'/>
       <arg name='doc' type='xmlDocPtr' info='a parsed document tree'/>
     </function>
     <function name='xmlRelaxNGValidateFullElement' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.</info>
       <return type='int' info='1 if no validation problem was found or -1 in case of error.'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='the validation context'/>
@@ -10591,6 +11399,7 @@
       <arg name='elem' type='xmlNodePtr' info='an element instance'/>
     </function>
     <function name='xmlRelaxNGValidatePopElement' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Pop the element end from the RelaxNG validation stack.</info>
       <return type='int' info='1 if no validation problem was found or 0 otherwise'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='the RelaxNG validation context'/>
@@ -10598,6 +11407,7 @@
       <arg name='elem' type='xmlNodePtr' info='an element instance'/>
     </function>
     <function name='xmlRelaxNGValidatePushCData' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>check the CData parsed for validation in the current stack</info>
       <return type='int' info='1 if no validation problem was found or -1 otherwise'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='the RelaxNG validation context'/>
@@ -10605,6 +11415,7 @@
       <arg name='len' type='int' info='the lenght of the data'/>
     </function>
     <function name='xmlRelaxNGValidatePushElement' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Push a new element start on the RelaxNG validation stack.</info>
       <return type='int' info='1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='the validation context'/>
@@ -10612,6 +11423,7 @@
       <arg name='elem' type='xmlNodePtr' info='an element instance'/>
     </function>
     <functype name='xmlRelaxNGValidityErrorFunc' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info></info>
       <return type='void'/>
       <arg name='ctx' type='void *' info=''/>
@@ -10619,6 +11431,7 @@
       <arg name='...' type='...' info=''/>
     </functype>
     <functype name='xmlRelaxNGValidityWarningFunc' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info></info>
       <return type='void'/>
       <arg name='ctx' type='void *' info=''/>
@@ -10626,6 +11439,7 @@
       <arg name='...' type='...' info=''/>
     </functype>
     <function name='xmlRelaxParserSetFlag' file='relaxng'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Semi private function used to pass informations to a parser context which are a combination of xmlRelaxNGParserFlag .</info>
       <return type='int' info='0 if success and -1 in case of error'/>
       <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='a RelaxNG parser context'/>
@@ -10638,6 +11452,7 @@
       <arg name='attr' type='xmlAttrPtr' info='the attribute'/>
     </function>
     <function name='xmlRemoveProp' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Unlink and free one attribute, all the content is freed too Note this doesn&apos;t work for namespace definition attributes</info>
       <return type='int' info='0 if success and -1 in case of error.'/>
       <arg name='cur' type='xmlAttrPtr' info='an attribute'/>
@@ -10649,6 +11464,7 @@
       <arg name='attr' type='xmlAttrPtr' info='the attribute'/>
     </function>
     <function name='xmlReplaceNode' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Unlink the old node from its current context, prune the new one at the same place. If @cur was already inserted in a document it is first unlinked from its existing context.</info>
       <return type='xmlNodePtr' info='the @old node'/>
       <arg name='old' type='xmlNodePtr' info='the old node'/>
@@ -10795,11 +11611,13 @@
       <arg name='warning' type='int' info='flag if non-zero sets the handler warning procedure'/>
     </function>
     <function name='xmlSAX2InitDocbDefaultSAXHandler' file='SAX2'>
+      <cond>LIBXML_DOCB_ENABLED</cond>
       <info>Initialize the default DocBook SAX2 handler</info>
       <return type='void'/>
       <arg name='hdlr' type='xmlSAXHandler *' info='the SAX handler'/>
     </function>
     <function name='xmlSAX2InitHtmlDefaultSAXHandler' file='SAX2'>
+      <cond>LIBXML_HTML_ENABLED</cond>
       <info>Initialize the default HTML SAX2 handler</info>
       <return type='void'/>
       <arg name='hdlr' type='xmlSAXHandler *' info='the SAX handler'/>
@@ -10886,7 +11704,7 @@
       <arg name='notationName' type='const xmlChar *' info='the name of the notation'/>
     </function>
     <function name='xmlSAXDefaultVersion' file='SAX2'>
-      <info>Set the default version of SAX used globally by the library. Note that this may not be a good thing to do from a library it is better to use xmlSAXVersion() to set up specifically the version for a given parsing context.</info>
+      <info>Set the default version of SAX used globally by the library. By default, during initialization the default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</info>
       <return type='int' info='the previous value in case of success and -1 in case of error.'/>
       <arg name='version' type='int' info='the version, 1 or 2'/>
     </function>
@@ -10964,23 +11782,27 @@
       <arg name='version' type='int' info='the version, 1 or 2'/>
     </function>
     <function name='xmlSaveClose' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</info>
       <return type='int' info='the number of byte written or -1 in case of error.'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
     </function>
     <function name='xmlSaveDoc' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Save a full document to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</info>
       <return type='long' info='the number of byte written or -1 in case of error'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
       <arg name='doc' type='xmlDocPtr' info='a document'/>
     </function>
     <function name='xmlSaveFile' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is &quot;-&quot; the stdout file is used.</info>
       <return type='int' info='the number of bytes written or -1 in case of failure.'/>
       <arg name='filename' type='const char *' info='the filename (or URL)'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
     </function>
     <function name='xmlSaveFileEnc' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document, converting it to the given encoding</info>
       <return type='int' info='the number of bytes written or -1 in case of failure.'/>
       <arg name='filename' type='const char *' info='the filename (or URL)'/>
@@ -10988,6 +11810,7 @@
       <arg name='encoding' type='const char *' info='the name of an encoding (or NULL)'/>
     </function>
     <function name='xmlSaveFileTo' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document to an I/O buffer.</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'/>
@@ -10995,11 +11818,13 @@
       <arg name='encoding' type='const char *' info='the encoding if any assuming the I/O layer handles the trancoding'/>
     </function>
     <function name='xmlSaveFlush' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Flush a document saving context, i.e. make sure that all bytes have been output.</info>
       <return type='int' info='the number of byte written or -1 in case of error.'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
     </function>
     <function name='xmlSaveFormatFile' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is &quot;-&quot; 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 xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</info>
       <return type='int' info='the number of bytes written or -1 in case of failure.'/>
       <arg name='filename' type='const char *' info='the filename (or URL)'/>
@@ -11007,6 +11832,7 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='xmlSaveFormatFileEnc' file='tree'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump an XML document to a file or an URL.</info>
       <return type='int' info='the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called'/>
       <arg name='filename' type='const char *' info='the filename or URL to output'/>
@@ -11015,6 +11841,7 @@
       <arg name='format' type='int' info='should formatting spaces be added.'/>
     </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>
       <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'/>
@@ -11023,25 +11850,21 @@
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='xmlSaveSetAttrEscape' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Set a custom escaping function to be used for text in attribute content</info>
       <return type='int' info='0 if successful or -1 in case of error.'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
       <arg name='escape' type='xmlCharEncodingOutputFunc' info='the escaping function'/>
     </function>
     <function name='xmlSaveSetEscape' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Set a custom escaping function to be used for text in element content</info>
       <return type='int' info='0 if successful or -1 in case of error.'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
       <arg name='escape' type='xmlCharEncodingOutputFunc' info='the escaping function'/>
     </function>
-    <function name='xmlSaveToBuffer' file='xmlsave'>
-      <info>Create a document saving context serializing to a buffer with the encoding and the options given</info>
-      <return type='xmlSaveCtxtPtr' info='a new serialization context or NULL in case of error.'/>
-      <arg name='buffer' type='xmlBufferPtr' info='a buffer'/>
-      <arg name='encoding' type='const char *' info='the encoding name to use or NULL'/>
-      <arg name='options' type='int' info='a set of xmlSaveOptions'/>
-    </function>
     <function name='xmlSaveToFd' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a document saving context serializing to a file descriptor with the encoding and the options given.</info>
       <return type='xmlSaveCtxtPtr' info='a new serialization context or NULL in case of error.'/>
       <arg name='fd' type='int' info='a file descriptor number'/>
@@ -11049,6 +11872,7 @@
       <arg name='options' type='int' info='a set of xmlSaveOptions'/>
     </function>
     <function name='xmlSaveToFilename' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.</info>
       <return type='xmlSaveCtxtPtr' info='a new serialization context or NULL in case of error.'/>
       <arg name='filename' type='const char *' info='a file name or an URL'/>
@@ -11056,6 +11880,7 @@
       <arg name='options' type='int' info='a set of xmlSaveOptions'/>
     </function>
     <function name='xmlSaveToIO' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Create a document saving context serializing to a file descriptor with the encoding and the options given</info>
       <return type='xmlSaveCtxtPtr' info='a new serialization context or NULL in case of error.'/>
       <arg name='iowrite' type='xmlOutputWriteCallback' info='an I/O write function'/>
@@ -11065,6 +11890,7 @@
       <arg name='options' type='int' info='a set of xmlSaveOptions'/>
     </function>
     <function name='xmlSaveTree' file='xmlsave'>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</info>
       <return type='long' info='the number of byte written or -1 in case of error'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
@@ -11081,6 +11907,7 @@
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlSchemaCheckFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Checks the default values types, especially for facets</info>
       <return type='int' info='0 if okay or -1 in cae of error'/>
       <arg name='facet' type='xmlSchemaFacetPtr' info='the facet'/>
@@ -11089,92 +11916,142 @@
       <arg name='name' type='const xmlChar *' info='name of the type'/>
     </function>
     <function name='xmlSchemaCleanupTypes' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Cleanup the default XML Schemas type library</info>
       <return type='void'/>
     </function>
+    <function name='xmlSchemaCollapseString' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Removes and normalize white spaces in the string</info>
+      <return type='xmlChar *' info='the new string or NULL if no change was required.'/>
+      <arg name='value' type='const xmlChar *' info='a value'/>
+    </function>
     <function name='xmlSchemaCompareValues' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Compare 2 values</info>
       <return type='int' info='-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error'/>
       <arg name='x' type='xmlSchemaValPtr' info='a first value'/>
       <arg name='y' type='xmlSchemaValPtr' info='a second value'/>
     </function>
     <function name='xmlSchemaDump' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <cond>LIBXML_OUTPUT_ENABLED</cond>
       <info>Dump a Schema structure.</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the file output'/>
       <arg name='schema' type='xmlSchemaPtr' info='a schema structure'/>
     </function>
     <function name='xmlSchemaFree' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Deallocate a Schema structure.</info>
       <return type='void'/>
       <arg name='schema' type='xmlSchemaPtr' info='a schema structure'/>
     </function>
     <function name='xmlSchemaFreeFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Deallocate a Schema Facet structure.</info>
       <return type='void'/>
       <arg name='facet' type='xmlSchemaFacetPtr' info='a schema facet structure'/>
     </function>
     <function name='xmlSchemaFreeParserCtxt' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Free the resources associated to the schema parser context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlSchemaParserCtxtPtr' info='the schema parser context'/>
     </function>
     <function name='xmlSchemaFreeType' file='schemasInternals'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Deallocate a Schema Type structure.</info>
       <return type='void'/>
       <arg name='type' type='xmlSchemaTypePtr' info='a schema type structure'/>
     </function>
     <function name='xmlSchemaFreeValidCtxt' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Free the resources associated to the schema validation context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='the schema validation context'/>
     </function>
     <function name='xmlSchemaFreeValue' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Cleanup the default XML Schemas type library</info>
       <return type='void'/>
       <arg name='value' type='xmlSchemaValPtr' info='the value to free'/>
     </function>
+    <function name='xmlSchemaFreeWildcard' file='schemasInternals'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Deallocates a wildcard structure.</info>
+      <return type='void'/>
+      <arg name='wildcard' type='xmlSchemaWildcardPtr' info='a wildcard structure'/>
+    </function>
+    <function name='xmlSchemaGetBuiltInListSimpleTypeItemType' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info></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>
+    <function name='xmlSchemaGetBuiltInType' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Gives you the type struct for a built-in type by its type id.</info>
+      <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='xmlSchemaGetPredefinedType' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Lookup a type in the default XML Schemas type library</info>
       <return type='xmlSchemaTypePtr' info='the type if found, NULL otherwise'/>
       <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='xmlSchemaInitTypes' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Initialize the default XML Schemas type library</info>
       <return type='void'/>
     </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=''/>
+    </function>
     <function name='xmlSchemaNewDocParserCtxt' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</info>
       <return type='xmlSchemaParserCtxtPtr' info='the parser context or NULL in case of error'/>
       <arg name='doc' type='xmlDocPtr' info='a preparsed document tree'/>
     </function>
     <function name='xmlSchemaNewFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Allocate a new Facet structure.</info>
       <return type='xmlSchemaFacetPtr' info='the newly allocated structure or NULL in case or error'/>
     </function>
     <function name='xmlSchemaNewMemParserCtxt' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</info>
       <return type='xmlSchemaParserCtxtPtr' info='the parser context or NULL in case of error'/>
       <arg name='buffer' type='const char *' info='a pointer to a char array containing the schemas'/>
       <arg name='size' type='int' info='the size of the array'/>
     </function>
     <function name='xmlSchemaNewParserCtxt' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</info>
       <return type='xmlSchemaParserCtxtPtr' info='the parser context or NULL in case of error'/>
       <arg name='URL' type='const char *' info='the location of the schema'/>
     </function>
     <function name='xmlSchemaNewValidCtxt' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML Schemas validation context based on the given schema</info>
       <return type='xmlSchemaValidCtxtPtr' info='the validation context or NULL in case of error'/>
       <arg name='schema' type='xmlSchemaPtr' info='a precompiled XML Schemas'/>
     </function>
     <function name='xmlSchemaParse' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances. *WARNING* this interface is highly subject to change</info>
       <return type='xmlSchemaPtr' info='the internal XML Schema structure built from the resource or NULL in case of error'/>
       <arg name='ctxt' type='xmlSchemaParserCtxtPtr' info='a schema validation context'/>
     </function>
     <function name='xmlSchemaSetParserErrors' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Set the callback functions used to handle errors for a validation context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlSchemaParserCtxtPtr' info='a schema validation context'/>
@@ -11183,6 +12060,7 @@
       <arg name='ctx' type='void *' info='contextual data for the callbacks'/>
     </function>
     <function name='xmlSchemaSetValidErrors' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Set the error and warning callback informations</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
@@ -11191,6 +12069,7 @@
       <arg name='ctx' type='void *' info='the functions context'/>
     </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>
       <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'/>
@@ -11199,12 +12078,14 @@
       <arg name='node' type='xmlNodePtr' info='the node containing the value'/>
     </function>
     <function name='xmlSchemaValidateDoc' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Validate a document tree in memory.</info>
       <return type='int' info='0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
       <arg name='doc' type='xmlDocPtr' info='a parsed document tree'/>
     </function>
     <function name='xmlSchemaValidateFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Check a value against a facet condition</info>
       <return type='int' info='0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
       <arg name='base' type='xmlSchemaTypePtr' info='the base type'/>
@@ -11212,7 +12093,17 @@
       <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='xmlSchemaValidateListSimpleTypeFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Checks the value of a list simple type against a facet.</info>
+      <return type='int' info='0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.'/>
+      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
+      <arg name='value' type='const xmlChar *' info='the lexical repr of the value to validate'/>
+      <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='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>
       <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'/>
@@ -11220,6 +12111,7 @@
       <arg name='val' type='xmlSchemaValPtr *' info='the return computed value'/>
     </function>
     <function name='xmlSchemaValidateStream' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Validate a document tree in memory.</info>
       <return type='int' info='0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.'/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
@@ -11229,6 +12121,7 @@
       <arg name='user_data' type='void *' info='the context to provide to the SAX handler.'/>
     </function>
     <functype name='xmlSchemaValidityErrorFunc' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info></info>
       <return type='void'/>
       <arg name='ctx' type='void *' info=''/>
@@ -11236,6 +12129,7 @@
       <arg name='...' type='...' info=''/>
     </functype>
     <functype name='xmlSchemaValidityWarningFunc' file='xmlschemas'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info></info>
       <return type='void'/>
       <arg name='ctx' type='void *' info=''/>
@@ -11308,6 +12202,7 @@
       <arg name='ns' type='xmlNsPtr' info='a namespace pointer'/>
     </function>
     <function name='xmlSetNsProp' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Set (or reset) an attribute carried by a node. The ns structure must be in scope, this is not checked.</info>
       <return type='xmlAttrPtr' info='the attribute pointer.'/>
       <arg name='node' type='xmlNodePtr' info='the node'/>
@@ -11316,6 +12211,7 @@
       <arg name='value' type='const xmlChar *' info='the attribute value'/>
     </function>
     <function name='xmlSetProp' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Set (or reset) an attribute carried by a node.</info>
       <return type='xmlAttrPtr' info='the attribute pointer.'/>
       <arg name='node' type='xmlNodePtr' info='the node'/>
@@ -11342,6 +12238,7 @@
       <arg name='filename' type='const char *' info='a file name'/>
     </function>
     <function name='xmlShell' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11350,6 +12247,7 @@
       <arg name='output' type='FILE *' info='the output FILE*, defaults to stdout if NULL'/>
     </function>
     <function name='xmlShellBase' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11358,6 +12256,7 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <function name='xmlShellCat' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11366,6 +12265,7 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <functype name='xmlShellCmd' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11374,6 +12274,7 @@
       <arg name='node2' type='xmlNodePtr' info='a second node'/>
     </functype>
     <function name='xmlShellDir' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11382,6 +12283,7 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <function name='xmlShellDu' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11390,6 +12292,7 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <function name='xmlShellList' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11398,6 +12301,7 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <function name='xmlShellLoad' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11406,22 +12310,26 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <function name='xmlShellPrintNode' file='debugXML'>
+      <cond>LIBXML_DEBUG_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>
       <info>Print the xpath error to libxml default error channel</info>
       <return type='void'/>
       <arg name='errorType' type='int' info='valid xpath error id'/>
       <arg name='arg' type='const char *' info='the argument that cause xpath to fail'/>
     </function>
     <function name='xmlShellPrintXPathResult' file='debugXML'>
+      <cond>LIBXML_DEBUG_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>
       <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'/>
@@ -11430,11 +12338,14 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <functype name='xmlShellReadlineFunc' file='debugXML'>
+      <cond>LIBXML_DEBUG_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_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'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -11443,6 +12354,7 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <function name='xmlShellValidate' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
@@ -11451,6 +12363,8 @@
       <arg name='node2' type='xmlNodePtr' info='unused'/>
     </function>
     <function name='xmlShellWrite' file='debugXML'>
+      <cond>LIBXML_DEBUG_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'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
@@ -11708,77 +12622,92 @@
       <arg name='second' type='xmlNodePtr' info='the second text node being merged'/>
     </function>
     <function name='xmlTextReaderAttributeCount' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Provides the number of attributes of the current node</info>
       <return type='int' info='0 i no attributes, -1 in case of error or the attribute count'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderBaseUri' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The base URI of the node.</info>
       <return type='xmlChar *' info='the base URI or NULL if not available'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderClose' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.</info>
       <return type='int' info='0 or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderConstBaseUri' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The base URI of the node.</info>
       <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='xmlTextReaderConstLocalName' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The local name of the node.</info>
       <return type='const xmlChar *' info='the local name 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='xmlTextReaderConstName' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The qualified name of the node, equal to Prefix :LocalName.</info>
       <return type='const xmlChar *' info='the local name or NULL if not available, the string is deallocated with the reader.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderConstNamespaceUri' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The URI defining the namespace associated with the node.</info>
       <return type='const xmlChar *' info='the namespace 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='xmlTextReaderConstPrefix' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>A shorthand reference to the namespace associated with the node.</info>
       <return type='const xmlChar *' info='the prefix or NULL if not available, the string is deallocated with the reader.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderConstString' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Get an interned string from the reader, allows for example to speedup string name comparisons</info>
       <return type='const xmlChar *' info='an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='str' type='const xmlChar *' info='the string to intern.'/>
     </function>
     <function name='xmlTextReaderConstValue' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Provides the text value of the node if present</info>
       <return type='const xmlChar *' info='the string or NULL if not available. The result will be deallocated on the next Read() operation.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderConstXmlLang' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The xml:lang scope within which the node resides.</info>
       <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='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>
       <return type='xmlDocPtr' info='the xmlDocPtr or NULL in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderCurrentNode' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Hacking interface allowing to get the xmlNodePtr correponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</info>
       <return type='xmlNodePtr' info='the xmlNodePtr or NULL in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderDepth' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The depth of the node in the tree.</info>
       <return type='int' info='the depth or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <functype name='xmlTextReaderErrorFunc' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info></info>
       <return type='void'/>
       <arg name='arg' type='void *' info=''/>
@@ -11787,23 +12716,27 @@
       <arg name='locator' type='xmlTextReaderLocatorPtr' info=''/>
     </functype>
     <function name='xmlTextReaderExpand' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call</info>
       <return type='xmlNodePtr' info='a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderGetAttribute' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Provides the value of the attribute with the specified qualified name.</info>
       <return type='xmlChar *' info='a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='name' type='const xmlChar *' info='the qualified name of the attribute.'/>
     </function>
     <function name='xmlTextReaderGetAttributeNo' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Provides the value of the attribute with the specified index relative to the containing element.</info>
       <return type='xmlChar *' info='a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='no' type='int' info='the zero-based index of the attribute relative to the containing element'/>
     </function>
     <function name='xmlTextReaderGetAttributeNs' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Provides the value of the specified attribute</info>
       <return type='xmlChar *' info='a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
@@ -11811,6 +12744,7 @@
       <arg name='namespaceURI' type='const xmlChar *' info='the namespace URI of the attribute.'/>
     </function>
     <function name='xmlTextReaderGetErrorHandler' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Retrieve the error callback function and user argument.</info>
       <return type='void'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
@@ -11818,75 +12752,89 @@
       <arg name='arg' type='void **' info='a user argument'/>
     </function>
     <function name='xmlTextReaderGetParserProp' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Read the parser internal property.</info>
       <return type='int' info='the value, usually 0 or 1, or -1 in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='prop' type='int' info='the xmlParserProperties to get'/>
     </function>
     <function name='xmlTextReaderGetRemainder' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use.  The implementation is not good, the parser certainly procgressed past what&apos;s left in reader-&gt;input, and there is an allocation problem. Best would be to rewrite it differently.</info>
       <return type='xmlParserInputBufferPtr' info='the xmlParserInputBufferPtr attached to the XML or NULL in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderHasAttributes' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Whether the node has attributes.</info>
       <return type='int' info='1 if true, 0 if false, and -1 in case or error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderHasValue' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Whether the node can have a text value.</info>
       <return type='int' info='1 if true, 0 if false, and -1 in case or error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderIsDefault' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Whether an Attribute  node was generated from the default value defined in the DTD or schema.</info>
       <return type='int' info='0 if not defaulted, 1 if defaulted, and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderIsEmptyElement' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Check if the current node is empty</info>
       <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='xmlTextReaderIsValid' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Retrieve the validity status from the parser context</info>
       <return type='int' info='the flag value 1 if valid, 0 if no, and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderLocalName' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The local name of the node.</info>
       <return type='xmlChar *' info='the local name or NULL if not available'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderLocatorBaseURI' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Obtain the base URI for the given locator.</info>
       <return type='xmlChar *' info='the base URI or NULL in case of error.'/>
       <arg name='locator' type='xmlTextReaderLocatorPtr' info='the xmlTextReaderLocatorPtr used'/>
     </function>
     <function name='xmlTextReaderLocatorLineNumber' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Obtain the line number for the given locator.</info>
       <return type='int' info='the line number or -1 in case of error.'/>
       <arg name='locator' type='xmlTextReaderLocatorPtr' info='the xmlTextReaderLocatorPtr used'/>
     </function>
     <function name='xmlTextReaderLookupNamespace' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Resolves a namespace prefix in the scope of the current element.</info>
       <return type='xmlChar *' info='a string containing the namespace URI to which the prefix maps or NULL in case of error. The string must be deallocated by the caller.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='prefix' type='const xmlChar *' info='the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL'/>
     </function>
     <function name='xmlTextReaderMoveToAttribute' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Moves the position of the current instance to the attribute with the specified qualified name.</info>
       <return type='int' info='1 in case of success, -1 in case of error, 0 if not found'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='name' type='const xmlChar *' info='the qualified name of the attribute.'/>
     </function>
     <function name='xmlTextReaderMoveToAttributeNo' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Moves the position of the current instance to the attribute with the specified index relative to the containing element.</info>
       <return type='int' info='1 in case of success, -1 in case of error, 0 if not found'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='no' type='int' info='the zero-based index of the attribute relative to the containing element.'/>
     </function>
     <function name='xmlTextReaderMoveToAttributeNs' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Moves the position of the current instance to the attribute with the specified local name and namespace URI.</info>
       <return type='int' info='1 in case of success, -1 in case of error, 0 if not found'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
@@ -11894,61 +12842,73 @@
       <arg name='namespaceURI' type='const xmlChar *' info='the namespace URI of the attribute.'/>
     </function>
     <function name='xmlTextReaderMoveToElement' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Moves the position of the current instance to the node that contains the current Attribute  node.</info>
       <return type='int' info='1 in case of success, -1 in case of error, 0 if not moved'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderMoveToFirstAttribute' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Moves the position of the current instance to the first attribute associated with the current node.</info>
       <return type='int' info='1 in case of success, -1 in case of error, 0 if not found'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderMoveToNextAttribute' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Moves the position of the current instance to the next attribute associated with the current node.</info>
       <return type='int' info='1 in case of success, -1 in case of error, 0 if not found'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderName' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The qualified name of the node, equal to Prefix :LocalName.</info>
       <return type='xmlChar *' info='the local name or NULL if not available'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderNamespaceUri' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The URI defining the namespace associated with the node.</info>
       <return type='xmlChar *' info='the namespace URI or NULL if not available'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderNext' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Skip to the node following the current one in document order while avoiding the subtree if any.</info>
       <return type='int' info='1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderNextSibling' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document</info>
       <return type='int' info='1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderNodeType' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Get the node type of the current node Reference: http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html</info>
       <return type='int' info='the xmlNodeType of the current node or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderNormalization' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The value indicating whether to normalize white space and attribute values. Since attribute value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken bahaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</info>
       <return type='int' info='1 or -1 in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderPrefix' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>A shorthand reference to the namespace associated with the node.</info>
       <return type='xmlChar *' info='the prefix or NULL if not available'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderPreserve' file='xmlreader'>
-      <info>current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</info>
+      <cond>LIBXML_READER_ENABLED</cond>
+      <info>This tells the XML Reader to preserve the current node. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</info>
       <return type='xmlNodePtr' info='the xmlNodePtr or NULL in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderPreservePattern' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</info>
       <return type='int' info='a positive number in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
@@ -11956,53 +12916,65 @@
       <arg name='namespaces' type='const xmlChar **' info='the prefix definitions, array of [URI, prefix] or NULL'/>
     </function>
     <function name='xmlTextReaderQuoteChar' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The quotation mark character used to enclose the value of an attribute.</info>
       <return type='int' info='&quot; or &apos; and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderRead' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Moves the position of the current instance to the next node in the stream, exposing its properties.</info>
       <return type='int' info='1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderReadAttributeValue' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Parses an attribute value into one or more Text and EntityReference nodes.</info>
       <return type='int' info='1 in case of success, 0 if the reader was not positionned on an ttribute node or all the attribute values have been read, or -1 in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderReadInnerXml' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Reads the contents of the current node, including child nodes and markup.</info>
       <return type='xmlChar *' info='a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderReadOuterXml' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Reads the contents of the current node, including child nodes and markup.</info>
       <return type='xmlChar *' info='a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderReadState' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Gets the read state of the reader.</info>
       <return type='int' info='the state value, or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderReadString' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Reads the contents of an element or a text node as a string.</info>
       <return type='xmlChar *' info='a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderRelaxNGSetSchema' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is desactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</info>
       <return type='int' info='0 in case the RelaxNG validation could be (des)activated and -1 in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='schema' type='xmlRelaxNGPtr' info='a precompiled RelaxNG schema'/>
     </function>
     <function name='xmlTextReaderRelaxNGValidate' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @rng is NULL, then RelaxNG validation is desactivated.</info>
       <return type='int' info='0 in case the RelaxNG validation could be (des)activated and -1 in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='rng' type='const char *' info='the path to a RelaxNG schema or NULL'/>
     </function>
     <function name='xmlTextReaderSetErrorHandler' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Register a callback function that will be called on error and warnings.  If @f is NULL, the default error and warning handlers are restored.</info>
       <return type='void'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
@@ -12010,6 +12982,7 @@
       <arg name='arg' type='void *' info='a user argument to pass to the callback function'/>
     </function>
     <function name='xmlTextReaderSetParserProp' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>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.</info>
       <return type='int' info='0 if the call was successful, or -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
@@ -12017,6 +12990,7 @@
       <arg name='value' type='int' info='usually 0 or 1 to (de)activate it'/>
     </function>
     <function name='xmlTextReaderSetStructuredErrorHandler' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Register a callback function that will be called on error and warnings.  If @f is NULL, the default error and warning handlers are restored.</info>
       <return type='void'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
@@ -12024,94 +12998,112 @@
       <arg name='arg' type='void *' info='a user argument to pass to the callback function'/>
     </function>
     <function name='xmlTextReaderValue' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>Provides the text value of the node if present</info>
       <return type='xmlChar *' info='the string or NULL if not available. The result must be deallocated with xmlFree()'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextReaderXmlLang' file='xmlreader'>
+      <cond>LIBXML_READER_ENABLED</cond>
       <info>The xml:lang scope within which the node resides.</info>
       <return type='xmlChar *' info='the xml:lang value or NULL if none exists.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
     <function name='xmlTextWriterEndAttribute' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End the current xml element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndCDATA' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End an xml CDATA section.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndComment' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End the current xml coment.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndDTD' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End an xml DTD.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndDTDAttlist' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End an xml DTD attribute list.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndDTDElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End an xml DTD element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndDTDEntity' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End an xml DTD entity.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndDocument' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End an xml document. All open elements are closed</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End the current xml element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterEndPI' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End the current xml PI.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterFlush' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Flush the output buffer.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterFullEndElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>End the current xml element. Writes an end tag even if the element is empty</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterSetIndent' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</info>
       <return type='int' info='-1 on error or 0 otherwise.'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='indent' type='int' info='do indentation?'/>
     </function>
     <function name='xmlTextWriterSetIndentString' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Set string indentation.</info>
       <return type='int' info='-1 on error or 0 otherwise.'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='str' type='const xmlChar *' info='the xmlChar string'/>
     </function>
     <function name='xmlTextWriterStartAttribute' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml attribute.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='name' type='const xmlChar *' info='element name'/>
     </function>
     <function name='xmlTextWriterStartAttributeNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml attribute with namespace support.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12120,16 +13112,19 @@
       <arg name='namespaceURI' type='const xmlChar *' info='namespace URI or NULL'/>
     </function>
     <function name='xmlTextWriterStartCDATA' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml CDATA section.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterStartComment' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml comment.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
     </function>
     <function name='xmlTextWriterStartDTD' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml DTD.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12138,18 +13133,21 @@
       <arg name='sysid' type='const xmlChar *' info='the system identifier, which is the URI of the DTD'/>
     </function>
     <function name='xmlTextWriterStartDTDAttlist' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml DTD ATTLIST.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='name' type='const xmlChar *' info='the name of the DTD ATTLIST'/>
     </function>
     <function name='xmlTextWriterStartDTDElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml DTD element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='name' type='const xmlChar *' info='the name of the DTD element'/>
     </function>
     <function name='xmlTextWriterStartDTDEntity' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml DTD ATTLIST.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12157,6 +13155,7 @@
       <arg name='name' type='const xmlChar *' info='the name of the DTD ATTLIST'/>
     </function>
     <function name='xmlTextWriterStartDocument' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start a new xml document</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12165,12 +13164,14 @@
       <arg name='standalone' type='const char *' info='&quot;yes&quot; or &quot;no&quot; or NULL for default'/>
     </function>
     <function name='xmlTextWriterStartElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='name' type='const xmlChar *' info='element name'/>
     </function>
     <function name='xmlTextWriterStartElementNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml element with namespace support.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12179,12 +13180,14 @@
       <arg name='namespaceURI' type='const xmlChar *' info='namespace URI or NULL'/>
     </function>
     <function name='xmlTextWriterStartPI' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Start an xml PI.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='target' type='const xmlChar *' info='PI target'/>
     </function>
     <function name='xmlTextWriterWriteAttribute' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml attribute.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12192,6 +13195,7 @@
       <arg name='content' type='const xmlChar *' info='attribute content'/>
     </function>
     <function name='xmlTextWriterWriteAttributeNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml attribute.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12201,6 +13205,7 @@
       <arg name='content' type='const xmlChar *' info='attribute content'/>
     </function>
     <function name='xmlTextWriterWriteBase64' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an base64 encoded xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12209,6 +13214,7 @@
       <arg name='len' type='int' info='the number of bytes to encode'/>
     </function>
     <function name='xmlTextWriterWriteBinHex' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a BinHex encoded xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12217,18 +13223,21 @@
       <arg name='len' type='int' info='the number of bytes to encode'/>
     </function>
     <function name='xmlTextWriterWriteCDATA' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml CDATA.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='content' type='const xmlChar *' info='CDATA content'/>
     </function>
     <function name='xmlTextWriterWriteComment' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml comment.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='content' type='const xmlChar *' info='comment string'/>
     </function>
     <function name='xmlTextWriterWriteDTD' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12238,6 +13247,7 @@
       <arg name='subset' type='const xmlChar *' info='string content of the DTD'/>
     </function>
     <function name='xmlTextWriterWriteDTDAttlist' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD ATTLIST.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12245,6 +13255,7 @@
       <arg name='content' type='const xmlChar *' info='content of the ATTLIST'/>
     </function>
     <function name='xmlTextWriterWriteDTDElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12252,6 +13263,7 @@
       <arg name='content' type='const xmlChar *' info='content of the element'/>
     </function>
     <function name='xmlTextWriterWriteDTDEntity' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD entity.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12263,6 +13275,7 @@
       <arg name='content' type='const xmlChar *' info='content of the entity'/>
     </function>
     <function name='xmlTextWriterWriteDTDExternalEntity' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD external entity. The entity must have been started with xmlTextWriterStartDTDEntity</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12273,6 +13286,7 @@
       <arg name='ndataid' type='const xmlChar *' info='the xml notation name.'/>
     </function>
     <function name='xmlTextWriterWriteDTDExternalEntityContents' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write the contents of a DTD external entity.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12281,6 +13295,7 @@
       <arg name='ndataid' type='const xmlChar *' info='the xml notation name.'/>
     </function>
     <function name='xmlTextWriterWriteDTDInternalEntity' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD internal entity.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12289,6 +13304,7 @@
       <arg name='content' type='const xmlChar *' info='content of the entity'/>
     </function>
     <function name='xmlTextWriterWriteDTDNotation' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD entity.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12297,6 +13313,7 @@
       <arg name='sysid' type='const xmlChar *' info='the system identifier, which is the URI of the DTD'/>
     </function>
     <function name='xmlTextWriterWriteElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12304,6 +13321,7 @@
       <arg name='content' type='const xmlChar *' info='element content'/>
     </function>
     <function name='xmlTextWriterWriteElementNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml element with namespace support.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12313,6 +13331,7 @@
       <arg name='content' type='const xmlChar *' info='element content'/>
     </function>
     <function name='xmlTextWriterWriteFormatAttribute' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml attribute.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12321,6 +13340,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatAttributeNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml attribute.with namespace support</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12331,6 +13351,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatCDATA' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml CDATA.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12338,6 +13359,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatComment' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml comment.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12345,6 +13367,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatDTD' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD with a formatted markup declarations part.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12355,6 +13378,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatDTDAttlist' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted DTD ATTLIST.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12363,6 +13387,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatDTDElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted DTD element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12371,6 +13396,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatDTDInternalEntity' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted DTD internal entity.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12380,6 +13406,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12388,6 +13415,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatElementNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml element with namespace support.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12398,6 +13426,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatPI' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted PI.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12406,6 +13435,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatRaw' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted raw xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12413,6 +13443,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWriteFormatString' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12420,6 +13451,7 @@
       <arg name='...' type='...' info='extra parameters for the format'/>
     </function>
     <function name='xmlTextWriterWritePI' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml PI.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12427,12 +13459,14 @@
       <arg name='content' type='const xmlChar *' info='PI content'/>
     </function>
     <function name='xmlTextWriterWriteRaw' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a raw xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='content' type='const xmlChar *' info='text string'/>
     </function>
     <function name='xmlTextWriterWriteRawLen' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml text. TODO: what about entities and special chars??</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12440,12 +13474,14 @@
       <arg name='len' type='int' info='length of the text string'/>
     </function>
     <function name='xmlTextWriterWriteString' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
       <arg name='content' type='const xmlChar *' info='text string'/>
     </function>
     <function name='xmlTextWriterWriteVFormatAttribute' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml attribute.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12454,6 +13490,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatAttributeNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml attribute.with namespace support</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12464,6 +13501,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatCDATA' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml CDATA.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12471,6 +13509,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatComment' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write an xml comment.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12478,6 +13517,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatDTD' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a DTD with a formatted markup declarations part.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12488,6 +13528,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatDTDAttlist' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted DTD ATTLIST.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12496,6 +13537,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatDTDElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted DTD element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12504,6 +13546,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatDTDInternalEntity' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted DTD internal entity.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12513,6 +13556,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatElement' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml element.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12521,6 +13565,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatElementNS' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml element with namespace support.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12531,6 +13576,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatPI' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml PI.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12539,6 +13585,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatRaw' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted raw xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12546,6 +13593,7 @@
       <arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
     </function>
     <function name='xmlTextWriterWriteVFormatString' file='xmlwriter'>
+      <cond>LIBXML_WRITER_ENABLED</cond>
       <info>Write a formatted xml text.</info>
       <return type='int' info='the bytes written (may be 0 because of buffering) or -1 in case of error'/>
       <arg name='writer' type='xmlTextWriterPtr' info='the xmlTextWriterPtr'/>
@@ -12597,11 +13645,21 @@
       <return type='int' info=''/>
       <arg name='v' type='int' info=''/>
     </function>
+    <function name='xmlThrDefOutputBufferCreateFilenameDefault' file='globals'>
+      <info></info>
+      <return type='xmlOutputBufferCreateFilenameFunc' info=''/>
+      <arg name='func' type='xmlOutputBufferCreateFilenameFunc' info=''/>
+    </function>
     <function name='xmlThrDefParserDebugEntities' file='globals'>
       <info></info>
       <return type='int' info=''/>
       <arg name='v' type='int' info=''/>
     </function>
+    <function name='xmlThrDefParserInputBufferCreateFilenameDefault' file='globals'>
+      <info></info>
+      <return type='xmlParserInputBufferCreateFilenameFunc' info=''/>
+      <arg name='func' type='xmlParserInputBufferCreateFilenameFunc' info=''/>
+    </function>
     <function name='xmlThrDefPedanticParserDefaultValue' file='globals'>
       <info></info>
       <return type='int' info=''/>
@@ -12640,833 +13698,999 @@
       <arg name='v' type='const char *' info=''/>
     </function>
     <function name='xmlUCSIsAegeanNumbers' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of AegeanNumbers UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsAlphabeticPresentationForms' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of AlphabeticPresentationForms UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsArabic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Arabic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsArabicPresentationFormsA' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of ArabicPresentationForms-A UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsArabicPresentationFormsB' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of ArabicPresentationForms-B UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsArmenian' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Armenian UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsArrows' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Arrows UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBasicLatin' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of BasicLatin UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBengali' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Bengali UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBlock' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of the UCS Block</info>
       <return type='int' info='1 if true, 0 if false and -1 on unknown block'/>
       <arg name='code' type='int' info='UCS code point'/>
       <arg name='block' type='const char *' info='UCS block name'/>
     </function>
     <function name='xmlUCSIsBlockElements' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of BlockElements UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBopomofo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Bopomofo UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBopomofoExtended' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of BopomofoExtended UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBoxDrawing' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of BoxDrawing UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBraillePatterns' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of BraillePatterns UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsBuhid' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Buhid UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsByzantineMusicalSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of ByzantineMusicalSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKCompatibility' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKCompatibility UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKCompatibilityForms' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKCompatibilityForms UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKCompatibilityIdeographs' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKCompatibilityIdeographsSupplement' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKRadicalsSupplement' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKRadicalsSupplement UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKSymbolsandPunctuation' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKUnifiedIdeographs' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKUnifiedIdeographs UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKUnifiedIdeographsExtensionA' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCJKUnifiedIdeographsExtensionB' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCat' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of the UCS Category</info>
       <return type='int' info='1 if true, 0 if false and -1 on unknown category'/>
       <arg name='code' type='int' info='UCS code point'/>
       <arg name='cat' type='const char *' info='UCS Category name'/>
     </function>
     <function name='xmlUCSIsCatC' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of C UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatCc' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Cc UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatCf' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Cf UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatCo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Co UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatCs' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Cs UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatL' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of L UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatLl' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Ll UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatLm' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Lm UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatLo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Lo UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatLt' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Lt UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatLu' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Lu UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatM' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of M UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatMc' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Mc UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatMe' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Me UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatMn' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Mn UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatN' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of N UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatNd' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Nd UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatNl' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Nl UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatNo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of No UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatP' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of P UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatPc' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Pc UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatPd' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Pd UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatPe' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Pe UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatPf' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Pf UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatPi' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Pi UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatPo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Po UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatPs' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Ps UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatS' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of S UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatSc' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Sc UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatSk' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Sk UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatSm' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Sm UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatSo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of So UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatZ' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Z UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatZl' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Zl UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatZp' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Zp UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCatZs' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Zs UCS Category</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCherokee' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Cherokee UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCombiningDiacriticalMarks' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CombiningDiacriticalMarks UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCombiningDiacriticalMarksforSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCombiningHalfMarks' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CombiningHalfMarks UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCombiningMarksforSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CombiningMarksforSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsControlPictures' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of ControlPictures UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCurrencySymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CurrencySymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCypriotSyllabary' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CypriotSyllabary UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCyrillic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Cyrillic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsCyrillicSupplement' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of CyrillicSupplement UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsDeseret' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Deseret UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsDevanagari' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Devanagari UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsDingbats' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Dingbats UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsEnclosedAlphanumerics' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of EnclosedAlphanumerics UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsEnclosedCJKLettersandMonths' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsEthiopic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Ethiopic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGeneralPunctuation' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of GeneralPunctuation UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGeometricShapes' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of GeometricShapes UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGeorgian' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Georgian UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGothic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Gothic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGreek' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Greek UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGreekExtended' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of GreekExtended UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGreekandCoptic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of GreekandCoptic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGujarati' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Gujarati UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsGurmukhi' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Gurmukhi UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHalfwidthandFullwidthForms' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHangulCompatibilityJamo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of HangulCompatibilityJamo UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHangulJamo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of HangulJamo UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHangulSyllables' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of HangulSyllables UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHanunoo' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Hanunoo UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHebrew' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Hebrew UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHighPrivateUseSurrogates' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of HighPrivateUseSurrogates UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHighSurrogates' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of HighSurrogates UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsHiragana' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Hiragana UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsIPAExtensions' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of IPAExtensions UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsIdeographicDescriptionCharacters' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsKanbun' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Kanbun UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsKangxiRadicals' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of KangxiRadicals UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsKannada' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Kannada UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsKatakana' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Katakana UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsKatakanaPhoneticExtensions' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsKhmer' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Khmer UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsKhmerSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of KhmerSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLao' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Lao UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLatin1Supplement' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Latin-1Supplement UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLatinExtendedA' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of LatinExtended-A UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLatinExtendedAdditional' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of LatinExtendedAdditional UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLatinExtendedB' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of LatinExtended-B UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLetterlikeSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of LetterlikeSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLimbu' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Limbu UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLinearBIdeograms' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of LinearBIdeograms UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLinearBSyllabary' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of LinearBSyllabary UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsLowSurrogates' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of LowSurrogates UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMalayalam' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Malayalam UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMathematicalAlphanumericSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMathematicalOperators' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MathematicalOperators UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMiscellaneousMathematicalSymbolsA' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMiscellaneousMathematicalSymbolsB' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMiscellaneousSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MiscellaneousSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMiscellaneousSymbolsandArrows' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMiscellaneousTechnical' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MiscellaneousTechnical UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMongolian' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Mongolian UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMusicalSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of MusicalSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsMyanmar' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Myanmar UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsNumberForms' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of NumberForms UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsOgham' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Ogham UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsOldItalic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of OldItalic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsOpticalCharacterRecognition' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of OpticalCharacterRecognition UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsOriya' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Oriya UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsOsmanya' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Osmanya UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsPhoneticExtensions' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of PhoneticExtensions UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsPrivateUse' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of PrivateUse UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsPrivateUseArea' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of PrivateUseArea UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsRunic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Runic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsShavian' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Shavian UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSinhala' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Sinhala UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSmallFormVariants' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SmallFormVariants UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSpacingModifierLetters' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SpacingModifierLetters UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSpecials' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Specials UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSuperscriptsandSubscripts' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SuperscriptsandSubscripts UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSupplementalArrowsA' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SupplementalArrows-A UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSupplementalArrowsB' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SupplementalArrows-B UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSupplementalMathematicalOperators' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SupplementalMathematicalOperators UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSupplementaryPrivateUseAreaA' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSupplementaryPrivateUseAreaB' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsSyriac' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Syriac UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTagalog' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Tagalog UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTagbanwa' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Tagbanwa UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTags' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Tags UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTaiLe' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of TaiLe UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTaiXuanJingSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of TaiXuanJingSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTamil' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Tamil UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTelugu' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Telugu UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsThaana' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Thaana UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsThai' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Thai UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsTibetan' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Tibetan UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsUgaritic' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of Ugaritic UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsUnifiedCanadianAboriginalSyllabics' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsVariationSelectors' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of VariationSelectors UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsVariationSelectorsSupplement' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of VariationSelectorsSupplement UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsYiRadicals' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of YiRadicals UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsYiSyllables' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of YiSyllables UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
     </function>
     <function name='xmlUCSIsYijingHexagramSymbols' file='xmlunicode'>
+      <cond>LIBXML_UNICODE_ENABLED</cond>
       <info>Check whether the character is part of YijingHexagramSymbols UCS Block</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='code' type='int' info='UCS code point'/>
@@ -13546,6 +14770,7 @@
       <return type='void'/>
     </function>
     <function name='xmlUnsetNsProp' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Remove an attribute carried by a node.</info>
       <return type='int' info='0 if successful, -1 if not found'/>
       <arg name='node' type='xmlNodePtr' info='the node'/>
@@ -13553,18 +14778,21 @@
       <arg name='name' type='const xmlChar *' info='the attribute name'/>
     </function>
     <function name='xmlUnsetProp' file='tree'>
+      <cond>LIBXML_TREE_ENABLED</cond>
       <info>Remove an attribute carried by a node.</info>
       <return type='int' info='0 if successful, -1 if not found'/>
       <arg name='node' type='xmlNodePtr' info='the node'/>
       <arg name='name' type='const xmlChar *' info='the attribute name'/>
     </function>
     <function name='xmlValidBuildContentModel' file='valid'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>(Re)Build the automata associated to the content model of this element</info>
       <return type='int' info='1 in case of success, 0 in case of error'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='a validation context'/>
       <arg name='elem' type='xmlElementPtr' info='an element declaration node'/>
     </function>
     <function name='xmlValidCtxtNormalizeAttributeValue' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Does the validation related extra step of the normalization of attribute values:  If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character.  Also  check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</info>
       <return type='xmlChar *' info='a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context or NULL'/>
@@ -13590,6 +14818,7 @@
       <arg name='max' type='int' info='the size of the array'/>
     </function>
     <function name='xmlValidNormalizeAttributeValue' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Does the validation related extra step of the normalization of attribute values:  If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character.</info>
       <return type='xmlChar *' info='a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
@@ -13598,6 +14827,7 @@
       <arg name='value' type='const xmlChar *' info='the attribute value'/>
     </function>
     <function name='xmlValidateAttributeDecl' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate a single attribute definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ]  The ID/IDREF uniqueness and matching are done separately</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13605,24 +14835,28 @@
       <arg name='attr' type='xmlAttributePtr' info='an attribute definition'/>
     </function>
     <function name='xmlValidateAttributeValue' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Validate that the given attribute value match  the proper production  [ VC: ID ] Values of type ID must match the Name production....  [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ...  [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ...  [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='type' type='xmlAttributeType' info='an attribute type'/>
       <arg name='value' type='const xmlChar *' info='an attribute value'/>
     </function>
     <function name='xmlValidateDocument' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate the document instance  basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.</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'/>
     </function>
     <function name='xmlValidateDocumentFinal' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>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</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'/>
     </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>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13630,12 +14864,14 @@
       <arg name='dtd' type='xmlDtdPtr' info='a dtd instance'/>
     </function>
     <function name='xmlValidateDtdFinal' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>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.</info>
       <return type='int' info='1 if valid or 0 if invalid and -1 if not well-formed'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
       <arg name='doc' type='xmlDocPtr' info='a document instance'/>
     </function>
     <function name='xmlValidateElement' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate the subtree under an element</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13643,6 +14879,7 @@
       <arg name='elem' type='xmlNodePtr' info='an element instance'/>
     </function>
     <function name='xmlValidateElementDecl' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element Type Declaration ]</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13668,26 +14905,31 @@
       <arg name='space' type='int' info='allow spaces in front and end of the string'/>
     </function>
     <function name='xmlValidateNameValue' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Validate that the given value match Name production</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='value' type='const xmlChar *' info='an Name value'/>
     </function>
     <function name='xmlValidateNamesValue' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Validate that the given value match Names production</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='value' type='const xmlChar *' info='an Names value'/>
     </function>
     <function name='xmlValidateNmtokenValue' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Validate that the given value match Nmtoken production  [ VC: Name Token ]</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='value' type='const xmlChar *' info='an Nmtoken value'/>
     </function>
     <function name='xmlValidateNmtokensValue' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Validate that the given value match Nmtokens production  [ VC: Name Token ]</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='value' type='const xmlChar *' info='an Nmtokens value'/>
     </function>
     <function name='xmlValidateNotationDecl' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this function get called anyway ...</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13695,6 +14937,7 @@
       <arg name='nota' type='xmlNotationPtr' info='a notation definition'/>
     </function>
     <function name='xmlValidateNotationUse' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13702,6 +14945,7 @@
       <arg name='notationName' type='const xmlChar *' info='the notation name to check'/>
     </function>
     <function name='xmlValidateOneAttribute' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate a single attribute for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF uniqueness and matching are done separately</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13711,6 +14955,7 @@
       <arg name='value' type='const xmlChar *' info='the attribute value (without entities processing)'/>
     </function>
     <function name='xmlValidateOneElement' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate a single element and it&apos;s attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each attribute present.  The ID/IDREF checkings are done separately</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13718,6 +14963,7 @@
       <arg name='elem' type='xmlNodePtr' info='an element instance'/>
     </function>
     <function name='xmlValidateOneNamespace' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>Try to validate a single namespace declaration for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF uniqueness and matching are done separately</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13728,6 +14974,7 @@
       <arg name='value' type='const xmlChar *' info='the attribute value (without entities processing)'/>
     </function>
     <function name='xmlValidatePopElement' file='valid'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Pop the element end from the validation stack.</info>
       <return type='int' info='1 if no validation problem was found or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13736,6 +14983,7 @@
       <arg name='qname' type='const xmlChar *' info='the qualified name as appearing in the serialization'/>
     </function>
     <function name='xmlValidatePushCData' file='valid'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>check the CData parsed for validation in the current stack</info>
       <return type='int' info='1 if no validation problem was found or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13743,6 +14991,7 @@
       <arg name='len' type='int' info='the lenght of the data'/>
     </function>
     <function name='xmlValidatePushElement' file='valid'>
+      <cond>LIBXML_REGEXP_ENABLED</cond>
       <info>Push a new element start on the validation stack.</info>
       <return type='int' info='1 if no validation problem was found or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13757,6 +15006,7 @@
       <arg name='space' type='int' info='allow spaces in front and end of the string'/>
     </function>
     <function name='xmlValidateRoot' file='valid'>
+      <cond>LIBXML_VALID_ENABLED</cond>
       <info>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&apos;t try to recurse or apply other check to the element</info>
       <return type='int' info='1 if valid or 0 otherwise'/>
       <arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
@@ -13777,149 +15027,177 @@
       <arg name='...' type='...' info='remaining arguments to the format'/>
     </functype>
     <function name='xmlXIncludeFreeContext' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Free an XInclude context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXIncludeCtxtPtr' info='the XInclude context'/>
     </function>
     <function name='xmlXIncludeNewContext' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Creates a new XInclude context</info>
       <return type='xmlXIncludeCtxtPtr' info='the new set'/>
       <arg name='doc' type='xmlDocPtr' info='an XML Document'/>
     </function>
     <function name='xmlXIncludeProcess' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Implement the XInclude substitution on the XML document @doc</info>
       <return type='int' info='0 if no substitution were done, -1 if some processing failed or the number of substitutions done.'/>
       <arg name='doc' type='xmlDocPtr' info='an XML document'/>
     </function>
     <function name='xmlXIncludeProcessFlags' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Implement the XInclude substitution on the XML document @doc</info>
       <return type='int' info='0 if no substitution were done, -1 if some processing failed or the number of substitutions done.'/>
       <arg name='doc' type='xmlDocPtr' info='an XML document'/>
       <arg name='flags' type='int' info='a set of xmlParserOption used for parsing XML includes'/>
     </function>
     <function name='xmlXIncludeProcessNode' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context.</info>
       <return type='int' info='0 if no substitution were done, -1 if some processing failed or the number of substitutions done.'/>
       <arg name='ctxt' type='xmlXIncludeCtxtPtr' info='an existing XInclude context'/>
       <arg name='node' type='xmlNodePtr' info='a node in an XML document'/>
     </function>
     <function name='xmlXIncludeProcessTree' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Implement the XInclude substitution for the given subtree</info>
       <return type='int' info='0 if no substitution were done, -1 if some processing failed or the number of substitutions done.'/>
       <arg name='tree' type='xmlNodePtr' info='a node in an XML document'/>
     </function>
     <function name='xmlXIncludeProcessTreeFlags' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Implement the XInclude substitution for the given subtree</info>
       <return type='int' info='0 if no substitution were done, -1 if some processing failed or the number of substitutions done.'/>
       <arg name='tree' type='xmlNodePtr' info='a node in an XML document'/>
       <arg name='flags' type='int' info='a set of xmlParserOption used for parsing XML includes'/>
     </function>
     <function name='xmlXIncludeSetFlags' file='xinclude'>
+      <cond>LIBXML_XINCLUDE_ENABLED</cond>
       <info>Set the flags used for further processing of XML resources.</info>
       <return type='int' info='0 in case of success and -1 in case of error.'/>
       <arg name='ctxt' type='xmlXIncludeCtxtPtr' info='an XInclude processing context'/>
       <arg name='flags' type='int' info='a set of xmlParserOption used for parsing XML includes'/>
     </function>
     <function name='xmlXPathAddValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <functype name='xmlXPathAxisFunc' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and repeat until the function returns NULL indicating the end of the axis traversal.</info>
       <return type='xmlXPathObjectPtr' info='the next node in that axis or NULL if at the end of the axis.'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath interpreter context'/>
       <arg name='cur' type='xmlXPathObjectPtr' info='the previous node being explored on that axis'/>
     </functype>
     <function name='xmlXPathBooleanFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is non-zero</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathCastBooleanToNumber' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a boolean to its number value</info>
       <return type='double' info='the number value'/>
       <arg name='val' type='int' info='a boolean'/>
     </function>
     <function name='xmlXPathCastBooleanToString' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a boolean to its string value.</info>
       <return type='xmlChar *' info='a newly allocated string.'/>
       <arg name='val' type='int' info='a boolean'/>
     </function>
     <function name='xmlXPathCastNodeSetToBoolean' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a node-set to its boolean value</info>
       <return type='int' info='the boolean value'/>
       <arg name='ns' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathCastNodeSetToNumber' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a node-set to its number value</info>
       <return type='double' info='the number value'/>
       <arg name='ns' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathCastNodeSetToString' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a node-set to its string value.</info>
       <return type='xmlChar *' info='a newly allocated string.'/>
       <arg name='ns' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathCastNodeToNumber' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a node to its number value</info>
       <return type='double' info='the number value'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlXPathCastNodeToString' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a node to its string value.</info>
       <return type='xmlChar *' info='a newly allocated string.'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlXPathCastNumberToBoolean' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a number to its boolean value</info>
       <return type='int' info='the boolean value'/>
       <arg name='val' type='double' info='a number'/>
     </function>
     <function name='xmlXPathCastNumberToString' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a number to its string value.</info>
       <return type='xmlChar *' info='a newly allocated string.'/>
       <arg name='val' type='double' info='a number'/>
     </function>
     <function name='xmlXPathCastStringToBoolean' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a string to its boolean value</info>
       <return type='int' info='the boolean value'/>
       <arg name='val' type='const xmlChar *' info='a string'/>
     </function>
     <function name='xmlXPathCastStringToNumber' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts a string to its number value</info>
       <return type='double' info='the number value'/>
       <arg name='val' type='const xmlChar *' info='a string'/>
     </function>
     <function name='xmlXPathCastToBoolean' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts an XPath object to its boolean value</info>
       <return type='int' info='the boolean value'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an XPath object'/>
     </function>
     <function name='xmlXPathCastToNumber' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts an XPath object to its number value</info>
       <return type='double' info='the number value'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an XPath object'/>
     </function>
     <function name='xmlXPathCastToString' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts an existing object to its string() equivalent</info>
       <return type='xmlChar *' info='the string value of the object, NULL in case of error. A new string is allocated only if needed (@val isn&apos;t a string object).'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an XPath object'/>
     </function>
     <function name='xmlXPathCeilingFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the ceiling() XPath function number ceiling(number) The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathCmpNodes' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Compare two nodes w.r.t document order</info>
       <return type='int' info='-2 in case of error 1 if first point &lt; second point, 0 if it&apos;s the same node, -1 otherwise'/>
       <arg name='node1' type='xmlNodePtr' info='the first node'/>
       <arg name='node2' type='xmlNodePtr' info='the second node'/>
     </function>
     <function name='xmlXPathCompareValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the compare operation on XPath objects: @arg1 &lt; @arg2    (1, 1, ... @arg1 &lt;= @arg2   (1, 0, ... @arg1 &gt; @arg2    (0, 1, ... @arg1 &gt;= @arg2   (0, 0, ...  When neither object to be compared is a node-set and the operator is &lt;=, &lt;, &gt;=, &gt;, then the objects are compared by converted both objects to numbers and comparing the numbers according to IEEE 754. The &lt; comparison will be true if and only if the first number is less than the second number. The &lt;= comparison will be true if and only if the first number is less than or equal to the second number. The &gt; comparison will be true if and only if the first number is greater than the second number. The &gt;= comparison will be true if and only if the first number is greater than or equal to the second number.</info>
       <return type='int' info='1 if the comparison succeeded, 0 if it failed'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
@@ -13927,62 +15205,74 @@
       <arg name='strict' type='int' info='is the comparison strict'/>
     </function>
     <function name='xmlXPathCompile' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Compile an XPath expression</info>
       <return type='xmlXPathCompExprPtr' info='the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.'/>
       <arg name='str' type='const xmlChar *' info='the XPath expression'/>
     </function>
     <function name='xmlXPathCompiledEval' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Evaluate the Precompiled XPath expression in the given context.</info>
       <return type='xmlXPathObjectPtr' info='the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.'/>
       <arg name='comp' type='xmlXPathCompExprPtr' info='the compiled XPath expression'/>
       <arg name='ctx' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <function name='xmlXPathConcatFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathContainsFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the contains() XPath function boolean contains(string, string) The contains function returns true if the first argument string contains the second argument string, and otherwise returns false.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathConvertBoolean' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts an existing object to its boolean() equivalent</info>
       <return type='xmlXPathObjectPtr' info='the new object, the old one is freed (or the operation is done directly on @val)'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an XPath object'/>
     </function>
     <functype name='xmlXPathConvertFunc' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>A conversion function is associated to a type and used to cast the new type to primitive values.</info>
       <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='obj' type='xmlXPathObjectPtr' info='an XPath object'/>
       <arg name='type' type='int' info='the number of the target type'/>
     </functype>
     <function name='xmlXPathConvertNumber' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts an existing object to its number() equivalent</info>
       <return type='xmlXPathObjectPtr' info='the new object, the old one is freed (or the operation is done directly on @val)'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an XPath object'/>
     </function>
     <function name='xmlXPathConvertString' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Converts an existing object to its string() equivalent</info>
       <return type='xmlXPathObjectPtr' info='the new object, the old one is freed (or the operation is done directly on @val)'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an XPath object'/>
     </function>
     <function name='xmlXPathCountFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the count() XPath function number count(node-set)</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathCtxtCompile' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Compile an XPath expression</info>
       <return type='xmlXPathCompExprPtr' info='the xmlXPathCompExprPtr resulting from the compilation or NULL. the caller has to free the object.'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='an XPath context'/>
       <arg name='str' type='const xmlChar *' info='the XPath expression'/>
     </function>
     <function name='xmlXPathDebugDumpCompExpr' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dumps the tree of the compiled XPath expression.</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
@@ -13990,6 +15280,8 @@
       <arg name='depth' type='int' info='the indentation level.'/>
     </function>
     <function name='xmlXPathDebugDumpObject' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
+      <cond>LIBXML_DEBUG_ENABLED</cond>
       <info>Dump the content of the object for debugging purposes</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * to dump the output'/>
@@ -13997,115 +15289,136 @@
       <arg name='depth' type='int' info='indentation level'/>
     </function>
     <function name='xmlXPathDifference' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</info>
       <return type='xmlNodeSetPtr' info='the difference between the two node sets, or nodes1 if nodes2 is empty'/>
       <arg name='nodes1' type='xmlNodeSetPtr' info='a node-set'/>
       <arg name='nodes2' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathDistinct' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted by document order, then #exslSetsDistinctSorted is called with the sorted node-set</info>
       <return type='xmlNodeSetPtr' info='a subset of the nodes contained in @nodes, or @nodes if it is empty'/>
       <arg name='nodes' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathDistinctSorted' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</info>
       <return type='xmlNodeSetPtr' info='a subset of the nodes contained in @nodes, or @nodes if it is empty'/>
       <arg name='nodes' type='xmlNodeSetPtr' info='a node-set, sorted by document order'/>
     </function>
     <function name='xmlXPathDivValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathEqualValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the equal operation on XPath objects content: @arg1 == @arg2</info>
       <return type='int' info='0 or 1 depending on the results of the test.'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathErr' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Handle a Relax NG Parsing error</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='a XPath parser context'/>
       <arg name='error' type='int' info='the error code'/>
     </function>
     <function name='xmlXPathEval' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Evaluate the XPath Location Path in the given context.</info>
       <return type='xmlXPathObjectPtr' info='the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.'/>
       <arg name='str' type='const xmlChar *' info='the XPath expression'/>
       <arg name='ctx' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <function name='xmlXPathEvalExpr' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Parse and evaluate an XPath expression in the given context, then push the result on the context stack</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathEvalExpression' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Evaluate the XPath expression in the given context.</info>
       <return type='xmlXPathObjectPtr' info='the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.'/>
       <arg name='str' type='const xmlChar *' info='the XPath expression'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <functype name='xmlXPathEvalFunc' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>An XPath evaluation function, the parameters are on the XPath context stack.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath parser context'/>
       <arg name='nargs' type='int' info='the number of arguments passed to the function'/>
     </functype>
     <function name='xmlXPathEvalPredicate' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.</info>
       <return type='int' info='1 if predicate is true, 0 otherwise'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
       <arg name='res' type='xmlXPathObjectPtr' info='the Predicate Expression evaluation result'/>
     </function>
     <function name='xmlXPathEvaluatePredicateResult' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.</info>
       <return type='int' info='1 if predicate is true, 0 otherwise'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='res' type='xmlXPathObjectPtr' info='the Predicate Expression evaluation result'/>
     </function>
     <function name='xmlXPathFalseFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the false() XPath function boolean false()</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathFloorFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>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.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathFreeCompExpr' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Free up the memory allocated by @comp</info>
       <return type='void'/>
       <arg name='comp' type='xmlXPathCompExprPtr' info='an XPATH comp'/>
     </function>
     <function name='xmlXPathFreeContext' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Free up an xmlXPathContext</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the context to free'/>
     </function>
     <function name='xmlXPathFreeNodeSet' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Free the NodeSet compound (not the actual nodes !).</info>
       <return type='void'/>
       <arg name='obj' type='xmlNodeSetPtr' info='the xmlNodeSetPtr to free'/>
     </function>
     <function name='xmlXPathFreeNodeSetList' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Free up the xmlXPathObjectPtr @obj but don&apos;t deallocate the objects in the list contrary to xmlXPathFreeObject().</info>
       <return type='void'/>
       <arg name='obj' type='xmlXPathObjectPtr' info='an existing NodeSetList object'/>
     </function>
     <function name='xmlXPathFreeObject' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Free up an xmlXPathObjectPtr object.</info>
       <return type='void'/>
       <arg name='obj' type='xmlXPathObjectPtr' info='the object to free'/>
     </function>
     <function name='xmlXPathFreeParserContext' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Free up an xmlXPathParserContext</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the context to free'/>
     </function>
     <functype name='xmlXPathFuncLookupFunc' file='xpathInternals'>
+      <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.'/>
       <arg name='ctxt' type='void *' info='an XPath context'/>
@@ -14113,18 +15426,21 @@
       <arg name='ns_uri' type='const xmlChar *' info='the namespace name hosting this function'/>
     </functype>
     <functype name='xmlXPathFunction' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath interprestation context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </functype>
     <function name='xmlXPathFunctionLookup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Search in the Function array of the context for the given function.</info>
       <return type='xmlXPathFunction' info='the xmlXPathFunction or NULL if not found'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
       <arg name='name' type='const xmlChar *' info='the function name'/>
     </function>
     <function name='xmlXPathFunctionLookupNS' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Search in the Function array of the context for the given function.</info>
       <return type='xmlXPathFunction' info='the xmlXPathFunction or NULL if not found'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14132,231 +15448,272 @@
       <arg name='ns_uri' type='const xmlChar *' info='the function namespace URI'/>
     </function>
     <function name='xmlXPathHasSameNodes' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)</info>
       <return type='int' info='true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise'/>
       <arg name='nodes1' type='xmlNodeSetPtr' info='a node-set'/>
       <arg name='nodes2' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathIdFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the id() XPath function node-set id(object) The id function selects elements by their unique ID (see [5.2.1 Unique IDs]). When the argument to id is of type node-set, then the result is the union of the result of applying id to the string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of characters matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathInit' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Initialize the XPath environment</info>
       <return type='void'/>
     </function>
     <function name='xmlXPathIntersection' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)</info>
       <return type='xmlNodeSetPtr' info='a node set comprising the nodes that are within both the node sets passed as arguments'/>
       <arg name='nodes1' type='xmlNodeSetPtr' info='a node-set'/>
       <arg name='nodes2' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathIsInf' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/</info>
       <return type='int' info='1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise'/>
       <arg name='val' type='double' info='a double value'/>
     </function>
     <function name='xmlXPathIsNaN' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/</info>
       <return type='int' info='1 if the value is a NaN, 0 otherwise'/>
       <arg name='val' type='double' info='a double value'/>
     </function>
     <function name='xmlXPathIsNodeType' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Is the name given a NodeType one.  [38]   NodeType ::=   &apos;comment&apos; | &apos;text&apos; | &apos;processing-instruction&apos; | &apos;node&apos;</info>
       <return type='int' info='1 if true 0 otherwise'/>
       <arg name='name' type='const xmlChar *' info='a name string'/>
     </function>
     <function name='xmlXPathLangFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the lang() XPath function boolean lang(string) The lang function returns true or false depending on whether the language of the context node as specified by xml:lang attributes is the same as or is a sublanguage of the language specified by the argument string. The language of the context node is determined by the value of the xml:lang attribute on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang attribute on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathLastFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathLeading' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #exslSetsLeadingSorted is called.</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn&apos;t contain @nodes2'/>
       <arg name='nodes1' type='xmlNodeSetPtr' info='a node-set'/>
       <arg name='nodes2' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathLeadingSorted' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn&apos;t contain @nodes2'/>
       <arg name='nodes1' type='xmlNodeSetPtr' info='a node-set, sorted by document order'/>
       <arg name='nodes2' type='xmlNodeSetPtr' info='a node-set, sorted by document order'/>
     </function>
     <function name='xmlXPathLocalNameFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the local-name() XPath function string local-name(node-set?) The local-name function returns a string containing the local part of the name of the node in the argument node-set that is first in document order. If the node-set is empty or the first node has no name, an empty string is returned. If the argument is omitted it defaults to the context node.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathModValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathMultValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathNamespaceURIFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the namespace-uri() XPath function string namespace-uri(node-set?) The namespace-uri function returns a string containing the namespace URI of the expanded name of the node in the argument node-set that is first in document order. If the node-set is empty, the first node has no name, or the expanded name has no namespace URI, an empty string is returned. If the argument is omitted it defaults to the context node.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathNewBoolean' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type boolean and of value @val</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='int' info='the boolean value'/>
     </function>
     <function name='xmlXPathNewCString' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type string and of value @val</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='const char *' info='the char * value'/>
     </function>
     <function name='xmlXPathNewContext' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathContext</info>
       <return type='xmlXPathContextPtr' info='the xmlXPathContext just allocated. The caller will need to free it.'/>
       <arg name='doc' type='xmlDocPtr' info='the XML document'/>
     </function>
     <function name='xmlXPathNewFloat' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type double and of value @val</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='double' info='the double value'/>
     </function>
     <function name='xmlXPathNewNodeSet' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the single Node @val</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='xmlNodePtr' info='the NodePtr value'/>
     </function>
     <function name='xmlXPathNewNodeSetList' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type NodeSet and initialize it with the Nodeset @val</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='xmlNodeSetPtr' info='an existing NodeSet'/>
     </function>
     <function name='xmlXPathNewParserContext' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathParserContext</info>
       <return type='xmlXPathParserContextPtr' info='the xmlXPathParserContext just allocated.'/>
       <arg name='str' type='const xmlChar *' info='the XPath expression'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <function name='xmlXPathNewString' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type string and of value @val</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='const xmlChar *' info='the xmlChar * value'/>
     </function>
     <function name='xmlXPathNewValueTree' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type Value Tree (XSLT) and initialize it with the tree root @val</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='xmlNodePtr' info='the NodePtr value'/>
     </function>
     <function name='xmlXPathNextAncestor' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;ancestor&quot; direction the ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent&apos;s parent and so on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, and the parent&apos;s parent is the second node on the axis</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextAncestorOrSelf' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;ancestor-or-self&quot; direction he ancestor-or-self axis contains the context node and ancestors of the context node in reverse document order; thus the context node is the first node on the axis, and the context node&apos;s parent the second; parent here is defined the same as with the parent axis.</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextAttribute' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;attribute&quot; direction TODO: support DTD inherited default attributes</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current attribute in the traversal'/>
     </function>
     <function name='xmlXPathNextChild' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;child&quot; direction The child axis contains the children of the context node in document order.</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextDescendant' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;descendant&quot; direction the descendant axis contains the descendants of the context node in document order; a descendant is a child or a child of a child and so on.</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextDescendantOrSelf' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;descendant-or-self&quot; direction the descendant-or-self axis contains the context node and the descendants of the context node in document order; thus the context node is the first node on the axis, and the first child of the context node is the second node on the axis</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextFollowing' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;following&quot; direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes; the nodes are ordered in document order</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextFollowingSibling' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;following-sibling&quot; direction The following-sibling axis contains the following siblings of the context node in document order.</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextNamespace' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;namespace&quot; direction the namespace axis contains the namespace nodes of the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the context node is an element  We keep the XML namespace node at the end of the list.</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current attribute in the traversal'/>
     </function>
     <function name='xmlXPathNextParent' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;parent&quot; direction The parent axis contains the parent of the context node, if there is one.</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextPreceding' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;preceding&quot; direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding attribute nodes and namespace nodes; the nodes are ordered in reverse document order</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextPrecedingSibling' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;preceding-sibling&quot; direction The preceding-sibling axis contains the preceding siblings of the context node in reverse document order; the first preceding sibling is first on the axis; the sibling preceding that node is the second on the axis and so on.</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNextSelf' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Traversal function for the &quot;self&quot; direction The self axis contains just the context node itself</info>
       <return type='xmlNodePtr' info='the next element following that axis'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='cur' type='xmlNodePtr' info='the current node in the traversal'/>
     </function>
     <function name='xmlXPathNodeLeading' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn&apos;t contain @node'/>
       <arg name='nodes' type='xmlNodeSetPtr' info='a node-set'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlXPathNodeLeadingSorted' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn&apos;t contain @node'/>
       <arg name='nodes' type='xmlNodeSetPtr' info='a node-set, sorted by document order'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlXPathNodeSetAdd' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>add a new xmlNodePtr to an existing NodeSet</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodeSetPtr' info='the initial node set'/>
       <arg name='val' type='xmlNodePtr' info='a new xmlNodePtr'/>
     </function>
     <function name='xmlXPathNodeSetAddNs' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>add a new namespace node to an existing NodeSet</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodeSetPtr' info='the initial node set'/>
@@ -14364,148 +15721,175 @@
       <arg name='ns' type='xmlNsPtr' info='a the namespace node'/>
     </function>
     <function name='xmlXPathNodeSetAddUnique' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>add a new xmlNodePtr to an existing NodeSet, optimized version when we are sure the node is not already in the set.</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodeSetPtr' info='the initial node set'/>
       <arg name='val' type='xmlNodePtr' info='a new xmlNodePtr'/>
     </function>
     <function name='xmlXPathNodeSetContains' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>checks whether @cur contains @val</info>
       <return type='int' info='true (1) if @cur contains @val, false (0) otherwise'/>
       <arg name='cur' type='xmlNodeSetPtr' info='the node-set'/>
       <arg name='val' type='xmlNodePtr' info='the node'/>
     </function>
     <function name='xmlXPathNodeSetCreate' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Create a new xmlNodeSetPtr of type double and of value @val</info>
       <return type='xmlNodeSetPtr' info='the newly created object.'/>
       <arg name='val' type='xmlNodePtr' info='an initial xmlNodePtr, or NULL'/>
     </function>
     <function name='xmlXPathNodeSetDel' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Removes an xmlNodePtr from an existing NodeSet</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodeSetPtr' info='the initial node set'/>
       <arg name='val' type='xmlNodePtr' info='an xmlNodePtr'/>
     </function>
     <function name='xmlXPathNodeSetFreeNs' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Namespace nodes in libxml don&apos;t match the XPath semantic. In a node set the namespace nodes are duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs to be freed</info>
       <return type='void'/>
       <arg name='ns' type='xmlNsPtr' info='the XPath namespace node found in a nodeset.'/>
     </function>
     <function name='xmlXPathNodeSetMerge' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2</info>
       <return type='xmlNodeSetPtr' info='@val1 once extended or NULL in case of error.'/>
       <arg name='val1' type='xmlNodeSetPtr' info='the first NodeSet or NULL'/>
       <arg name='val2' type='xmlNodeSetPtr' info='the second NodeSet'/>
     </function>
     <function name='xmlXPathNodeSetRemove' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Removes an entry from an existing NodeSet list.</info>
       <return type='void'/>
       <arg name='cur' type='xmlNodeSetPtr' info='the initial node set'/>
       <arg name='val' type='int' info='the index to remove'/>
     </function>
     <function name='xmlXPathNodeSetSort' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Sort the node set in document order</info>
       <return type='void'/>
       <arg name='set' type='xmlNodeSetPtr' info='the node set'/>
     </function>
     <function name='xmlXPathNodeTrailing' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn&apos;t contain @node'/>
       <arg name='nodes' type='xmlNodeSetPtr' info='a node-set'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlXPathNodeTrailingSorted' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn&apos;t contain @node'/>
       <arg name='nodes' type='xmlNodeSetPtr' info='a node-set, sorted by document order'/>
       <arg name='node' type='xmlNodePtr' info='a node'/>
     </function>
     <function name='xmlXPathNormalizeFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the normalize-space() XPath function string normalize-space(string?) The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace characters by a single space. Whitespace characters are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathNotEqualValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the equal operation on XPath objects content: @arg1 == @arg2</info>
       <return type='int' info='0 or 1 depending on the results of the test.'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathNotFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathNsLookup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Search in the namespace declaration array of the context for the given namespace name associated to the given prefix</info>
       <return type='const xmlChar *' info='the value or NULL if not found'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
       <arg name='prefix' type='const xmlChar *' info='the namespace prefix value'/>
     </function>
     <function name='xmlXPathNumberFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the number() XPath function number number(object?)</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathObjectCopy' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>allocate a new copy of a given object</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='xmlXPathObjectPtr' info='the original object'/>
     </function>
     <function name='xmlXPathOrderDocElems' file='xpath'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>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.</info>
       <return type='long' info='the number of elements found in the document or -1 in case of error.'/>
       <arg name='doc' type='xmlDocPtr' info='an input document'/>
     </function>
     <function name='xmlXPathParseNCName' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>parse an XML namespace non qualified name.  [NS 3] NCName ::= (Letter | &apos;_&apos;) (NCNameChar)*  [NS 4] NCNameChar ::= Letter | Digit | &apos;.&apos; | &apos;-&apos; | &apos;_&apos; | CombiningChar | Extender</info>
       <return type='xmlChar *' info='the namespace name or NULL'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathParseName' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <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)*</info>
       <return type='xmlChar *' info='the namespace name or NULL'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathPopBoolean' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</info>
       <return type='int' info='the boolean'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath parser context'/>
     </function>
     <function name='xmlXPathPopExternal' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</info>
       <return type='void *' info='the object'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath parser context'/>
     </function>
     <function name='xmlXPathPopNodeSet' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</info>
       <return type='xmlNodeSetPtr' info='the node-set'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath parser context'/>
     </function>
     <function name='xmlXPathPopNumber' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</info>
       <return type='double' info='the number'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath parser context'/>
     </function>
     <function name='xmlXPathPopString' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</info>
       <return type='xmlChar *' info='the string'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath parser context'/>
     </function>
     <function name='xmlXPathPositionFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the position() XPath function number position() The position function returns the position of the context node in the context node list. The first position is 1, and so the last position will be equal to last().</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathRegisterAllFunctions' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Registers all default XPath functions in this context</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <function name='xmlXPathRegisterFunc' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Register a new function. If @f is NULL it unregisters the function</info>
       <return type='int' info='0 in case of success, -1 in case of error'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14513,6 +15897,7 @@
       <arg name='f' type='xmlXPathFunction' info='the function implementation or NULL'/>
     </function>
     <function name='xmlXPathRegisterFuncLookup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Registers an external mechanism to do function lookup.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14520,6 +15905,7 @@
       <arg name='funcCtxt' type='void *' info='the lookup data'/>
     </function>
     <function name='xmlXPathRegisterFuncNS' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Register a new function. If @f is NULL it unregisters the function</info>
       <return type='int' info='0 in case of success, -1 in case of error'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14528,6 +15914,7 @@
       <arg name='f' type='xmlXPathFunction' info='the function implementation or NULL'/>
     </function>
     <function name='xmlXPathRegisterNs' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</info>
       <return type='int' info='0 in case of success, -1 in case of error'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14535,6 +15922,7 @@
       <arg name='ns_uri' type='const xmlChar *' info='the namespace name'/>
     </function>
     <function name='xmlXPathRegisterVariable' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Register a new variable value. If @value is NULL it unregisters the variable</info>
       <return type='int' info='0 in case of success, -1 in case of error'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14542,6 +15930,7 @@
       <arg name='value' type='xmlXPathObjectPtr' info='the variable value or NULL'/>
     </function>
     <function name='xmlXPathRegisterVariableLookup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>register an external mechanism to do variable lookup</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14549,6 +15938,7 @@
       <arg name='data' type='void *' info='the lookup data'/>
     </function>
     <function name='xmlXPathRegisterVariableNS' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Register a new variable value. If @value is NULL it unregisters the variable</info>
       <return type='int' info='0 in case of success, -1 in case of error'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14557,119 +15947,140 @@
       <arg name='value' type='xmlXPathObjectPtr' info='the variable value or NULL'/>
     </function>
     <function name='xmlXPathRegisteredFuncsCleanup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Cleanup the XPath context data associated to registered functions</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <function name='xmlXPathRegisteredNsCleanup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Cleanup the XPath context data associated to registered variables</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <function name='xmlXPathRegisteredVariablesCleanup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Cleanup the XPath context data associated to registered variables</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
     </function>
     <function name='xmlXPathRoot' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Initialize the context to the root of the document</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathRoundFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is even is returned.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathStartsWithFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with function returns true if the first argument string starts with the second argument string, and otherwise returns false.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathStringEvalNumber' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>[30a]  Float  ::= Number (&apos;e&apos; Digits?)?  [30]   Number ::=   Digits (&apos;.&apos; Digits?)? | &apos;.&apos; Digits [31]   Digits ::=   [0-9]+  Compile a Number in the string In complement of the Number expression, this function also handles negative values : &apos;-&apos; Number.</info>
       <return type='double' info='the double value.'/>
       <arg name='str' type='const xmlChar *' info='A string to scan'/>
     </function>
     <function name='xmlXPathStringFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the string() XPath function string string(object?) The string function converts an object to a string as follows: - A node-set is converted to a string by returning the value of the node in the node-set that is first in document order. If the node-set is empty, an empty string is returned. - A number is converted to a string as follows + NaN is converted to the string NaN + positive zero is converted to the string 0 + negative zero is converted to the string 0 + positive infinity is converted to the string Infinity + negative infinity is converted to the string -Infinity + if the number is an integer, the number is represented in decimal form as a Number with no decimal point and no leading zeros, preceded by a minus sign (-) if the number is negative + otherwise, the number is represented in decimal form as a Number including a decimal point with at least one digit before the decimal point and at least one digit after the decimal point, preceded by a minus sign (-) if the number is negative; there must be no leading zeros before the decimal point apart possibly from the one required digit immediately before the decimal point; beyond the one required digit after the decimal point there must be as many, but only as many, more digits as are needed to uniquely distinguish the number from all other IEEE 754 numeric values. - The boolean false value is converted to the string false. The boolean true value is converted to the string true.  If the argument is omitted, it defaults to a node-set with the context node as its only member.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathStringLengthFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of characters in the string (see [3.6 Strings]). If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathSubValues' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathSubstringAfterFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the substring-after() XPath function string substring-after(string, string) The substring-after function returns the substring of the first argument string that follows the first occurrence of the second argument string in the first argument string, or the empty stringi if the first argument string does not contain the second argument string. For example, substring-after(&quot;1999/04/01&quot;,&quot;/&quot;) returns 04/01, and substring-after(&quot;1999/04/01&quot;,&quot;19&quot;) returns 99/04/01.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathSubstringBeforeFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the substring-before() XPath function string substring-before(string, string) The substring-before function returns the substring of the first argument string that precedes the first occurrence of the second argument string in the first argument string, or the empty string if the first argument string does not contain the second argument string. For example, substring-before(&quot;1999/04/01&quot;,&quot;/&quot;) returns 1999.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathSubstringFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the substring() XPath function string substring(string, number, number?) The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. For example, substring(&quot;12345&quot;,2,3) returns &quot;234&quot;. If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring(&quot;12345&quot;,2) returns &quot;2345&quot;.  More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains those characters for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments; the comparisons and addition used for the above follow the standard IEEE 754 rules. Thus: - substring(&quot;12345&quot;, 1.5, 2.6) returns &quot;234&quot; - substring(&quot;12345&quot;, 0, 3) returns &quot;12&quot; - substring(&quot;12345&quot;, 0 div 0, 3) returns &quot;&quot; - substring(&quot;12345&quot;, 1, 0 div 0) returns &quot;&quot; - substring(&quot;12345&quot;, -42, 1 div 0) returns &quot;12345&quot; - substring(&quot;12345&quot;, -1 div 0, 1 div 0) returns &quot;&quot;</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathSumFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the sum() XPath function number sum(node-set) The sum function returns the sum of the values of the nodes in the argument node-set.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathTrailing' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called.</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn&apos;t contain @nodes2'/>
       <arg name='nodes1' type='xmlNodeSetPtr' info='a node-set'/>
       <arg name='nodes2' type='xmlNodeSetPtr' info='a node-set'/>
     </function>
     <function name='xmlXPathTrailingSorted' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</info>
       <return type='xmlNodeSetPtr' info='the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn&apos;t contain @nodes2'/>
       <arg name='nodes1' type='xmlNodeSetPtr' info='a node-set, sorted by document order'/>
       <arg name='nodes2' type='xmlNodeSetPtr' info='a node-set, sorted by document order'/>
     </function>
     <function name='xmlXPathTranslateFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of characters in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate(&quot;bar&quot;,&quot;abc&quot;,&quot;ABC&quot;) returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate(&quot;--aaa--&quot;,&quot;abc-&quot;,&quot;ABC&quot;)</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathTrueFunction' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the true() XPath function boolean true()</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
     </function>
     <function name='xmlXPathValueFlipSign' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
     </function>
     <function name='xmlXPathVariableLookup' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Search in the Variable array of the context for the given variable value.</info>
       <return type='xmlXPathObjectPtr' info='a copy of the value or NULL if not found'/>
       <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'>
+      <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.'/>
       <arg name='ctxt' type='void *' info='an XPath context'/>
@@ -14677,6 +16088,7 @@
       <arg name='ns_uri' type='const xmlChar *' info='the namespace name hosting this variable'/>
     </functype>
     <function name='xmlXPathVariableLookupNS' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Search in the Variable array of the context for the given variable value.</info>
       <return type='xmlXPathObjectPtr' info='the a copy of the value or NULL if not found'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -14684,26 +16096,31 @@
       <arg name='ns_uri' type='const xmlChar *' info='the variable namespace URI'/>
     </function>
     <function name='xmlXPathWrapCString' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Wraps a string into an XPath object.</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='char *' info='the char * value'/>
     </function>
     <function name='xmlXPathWrapExternal' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Wraps the @val data into an XPath object.</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='void *' info='the user data'/>
     </function>
     <function name='xmlXPathWrapNodeSet' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Wrap the Nodeset @val in a new xmlXPathObjectPtr</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='xmlNodeSetPtr' info='the NodePtr value'/>
     </function>
     <function name='xmlXPathWrapString' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Wraps the @val string into an XPath object.</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='xmlChar *' info='the xmlChar * value'/>
     </function>
     <function name='xmlXPatherror' file='xpathInternals'>
+      <cond>LIBXML_XPATH_ENABLED</cond>
       <info>Formats an error message.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
@@ -14712,61 +16129,72 @@
       <arg name='no' type='int' info='the error number'/>
     </function>
     <function name='xmlXPtrBuildNodeList' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</info>
       <return type='xmlNodePtr' info='an xmlNodePtr list or NULL. the caller has to free the node tree.'/>
       <arg name='obj' type='xmlXPathObjectPtr' info='the XPointer result from the evaluation.'/>
     </function>
     <function name='xmlXPtrEval' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Evaluate the XPath Location Path in the given context.</info>
       <return type='xmlXPathObjectPtr' info='the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.'/>
       <arg name='str' type='const xmlChar *' info='the XPointer expression'/>
       <arg name='ctx' type='xmlXPathContextPtr' info='the XPointer context'/>
     </function>
     <function name='xmlXPtrEvalRangePredicate' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>[8]   Predicate ::=   &apos;[&apos; PredicateExpr &apos;]&apos; [9]   PredicateExpr ::=   Expr  Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPointer Parser context'/>
     </function>
     <function name='xmlXPtrFreeLocationSet' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Free the LocationSet compound (not the actual ranges !).</info>
       <return type='void'/>
       <arg name='obj' type='xmlLocationSetPtr' info='the xmlLocationSetPtr to free'/>
     </function>
     <function name='xmlXPtrLocationSetAdd' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>add a new xmlXPathObjectPtr to an existing LocationSet If the location already exist in the set @val is freed.</info>
       <return type='void'/>
       <arg name='cur' type='xmlLocationSetPtr' info='the initial range set'/>
       <arg name='val' type='xmlXPathObjectPtr' info='a new xmlXPathObjectPtr'/>
     </function>
     <function name='xmlXPtrLocationSetCreate' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlLocationSetPtr of type double and of value @val</info>
       <return type='xmlLocationSetPtr' info='the newly created object.'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an initial xmlXPathObjectPtr, or NULL'/>
     </function>
     <function name='xmlXPtrLocationSetDel' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Removes an xmlXPathObjectPtr from an existing LocationSet</info>
       <return type='void'/>
       <arg name='cur' type='xmlLocationSetPtr' info='the initial range set'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an xmlXPathObjectPtr'/>
     </function>
     <function name='xmlXPtrLocationSetMerge' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Merges two rangesets, all ranges from @val2 are added to @val1</info>
       <return type='xmlLocationSetPtr' info='val1 once extended or NULL in case of error.'/>
       <arg name='val1' type='xmlLocationSetPtr' info='the first LocationSet'/>
       <arg name='val2' type='xmlLocationSetPtr' info='the second LocationSet'/>
     </function>
     <function name='xmlXPtrLocationSetRemove' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Removes an entry from an existing LocationSet list.</info>
       <return type='void'/>
       <arg name='cur' type='xmlLocationSetPtr' info='the initial range set'/>
       <arg name='val' type='int' info='the index to remove'/>
     </function>
     <function name='xmlXPtrNewCollapsedRange' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type range using a single nodes</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlNodePtr' info='the starting and ending node'/>
     </function>
     <function name='xmlXPtrNewContext' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new XPointer context</info>
       <return type='xmlXPathContextPtr' info='the xmlXPathContext just allocated.'/>
       <arg name='doc' type='xmlDocPtr' info='the XML document'/>
@@ -14774,17 +16202,20 @@
       <arg name='origin' type='xmlNodePtr' info='the element from which a user or program initiated traversal of the link, or NULL.'/>
     </function>
     <function name='xmlXPtrNewLocationSetNodeSet' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type LocationSet and initialize it with all the nodes from @set</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='set' type='xmlNodeSetPtr' info='a node set'/>
     </function>
     <function name='xmlXPtrNewLocationSetNodes' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type LocationSet and initialize it with the single range made of the two nodes @start and @end</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlNodePtr' info='the start NodePtr value'/>
       <arg name='end' type='xmlNodePtr' info='the end NodePtr value or NULL'/>
     </function>
     <function name='xmlXPtrNewRange' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type range</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlNodePtr' info='the starting node'/>
@@ -14793,42 +16224,49 @@
       <arg name='endindex' type='int' info='the ending index'/>
     </function>
     <function name='xmlXPtrNewRangeNodeObject' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type range from a not to an object</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlNodePtr' info='the starting node'/>
       <arg name='end' type='xmlXPathObjectPtr' info='the ending object'/>
     </function>
     <function name='xmlXPtrNewRangeNodePoint' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type range from a node to a point</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlNodePtr' info='the starting node'/>
       <arg name='end' type='xmlXPathObjectPtr' info='the ending point'/>
     </function>
     <function name='xmlXPtrNewRangeNodes' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type range using 2 nodes</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlNodePtr' info='the starting node'/>
       <arg name='end' type='xmlNodePtr' info='the ending node'/>
     </function>
     <function name='xmlXPtrNewRangePointNode' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type range from a point to a node</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlXPathObjectPtr' info='the starting point'/>
       <arg name='end' type='xmlNodePtr' info='the ending node'/>
     </function>
     <function name='xmlXPtrNewRangePoints' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Create a new xmlXPathObjectPtr of type range using 2 Points</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='start' type='xmlXPathObjectPtr' info='the starting point'/>
       <arg name='end' type='xmlXPathObjectPtr' info='the ending point'/>
     </function>
     <function name='xmlXPtrRangeToFunction' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Implement the range-to() XPointer function</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPointer Parser context'/>
       <arg name='nargs' type='int' info='the number of args'/>
     </function>
     <function name='xmlXPtrWrapLocationSet' file='xpointer'>
+      <cond>LIBXML_XPTR_ENABLED</cond>
       <info>Wrap the LocationSet @val in a new xmlXPathObjectPtr</info>
       <return type='xmlXPathObjectPtr' info='the newly created object.'/>
       <arg name='val' type='xmlLocationSetPtr' info='the LocationSet value'/>

Modified: packages/libxml2/trunk/doc/libxml2.xsa
===================================================================
--- packages/libxml2/trunk/doc/libxml2.xsa	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/libxml2.xsa	2004-07-06 13:30:31 UTC (rev 189)
@@ -8,31 +8,26 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>2.6.8</version>
-    <last-release> Mar 23 2004</last-release>
+    <version>2.6.10</version>
+    <last-release> May 17 2004</last-release>
     <info-url>http://xmlsoft.org/</info-url>
-    <changes>   - First step of the cleanup of the serialization code and APIs
-   - XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam
-    Dickmeiss), anyURI for "" (John Belmonte)
-   - Python: Canonicalization C14N support added (Anthony Carrico)
-   - xmlDocCopyNode() extension (William)
-   - Relax-NG: fix when processing XInclude results (William), external
-    reference in interleave (William), missing error on &lt;choice&gt;
-    failure (William), memory leak in schemas datatype facets.
-   - xmlWriter: patch for better DTD support (Alfred Mickautsch)
-   - bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William
-    Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to
-    URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
-    XInclude and XPointer fixes for entities (William), XML parser bug
-    reported by Holger Rauch, nanohttp fd leak (William),  regexps char
-    groups '-' handling (William), dictionnary reference counting problems,
-    do not close stderr.
-   - performance patches from Petr Pajas
-   - Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
-   - compilation and portability fixes: --without-valid, catalog cleanups
-    (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation
-    to Windows (Christophe de Vienne),  --with-html-dir fixup (Julio Merino
-    Vidal), Windows build (Eric Zurcher)
+    <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>
   </product>

Modified: packages/libxml2/trunk/doc/news.html
===================================================================
--- packages/libxml2/trunk/doc/news.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/news.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -11,7 +11,51 @@
 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.9: Apr 18 2004</h3><ul><li>implement xml:id Working Draft, relaxed XPath id() checking</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
+    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>
+  <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), 
+    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
+    Python classes, xmlReader buffer bug, Python bindings memory interfaces
+    improvement (with Stéphane Bidoul), Fixed the push parser to be back to
+    synchronous behaviour.</li>
+  <li>improvement: custom per-thread I/O enhancement (Rob Richards), register
+    namespace in debug shell (Stefano Debenedetti), Python based regression
+    test for non-Unix users (William), dynamically increase the number of
+    XPath extension functions in Python and fix a memory leak (Marc-Antoine
+    Parent and William)</li>
+  <li>performance: hack done with Arjan van de Ven to reduce ELF footprint
+    and generated code on Linux, plus use gcc runtime profiling to optimize
+    the code generated in the RPM packages.</li>
+</ul><h3>2.6.10: May 17 2004</h3><ul><li>Web page generated for ChangeLog</li>
+  <li>build fixes: --without-html problems, make check without make all</li>
+  <li>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),</li>
+  <li>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</li>
+  <li>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 '"'</li>
+</ul><h3>2.6.9: Apr 18 2004</h3><ul><li>implement xml:id Working Draft, relaxed XPath id() checking</li>
   <li>bugfixes: xmlCtxtReset (Brent Hendricks), line number and CDATA (Dave
     Beckett), Relax-NG compilation (William Brack), Regexp patches (with
     William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with

Modified: packages/libxml2/trunk/doc/tutorial/apa.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/apa.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/apa.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2509671"></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="id2902089"></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/trunk/doc/tutorial/apd.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/apd.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/apd.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -36,7 +36,7 @@
 
 	char *docname;
 	xmlDocPtr doc;
-	xmlChar *xpath = ("//keyword");
+	xmlChar *xpath = (xmlChar*) "//keyword";
 	xmlNodeSetPtr nodeset;
 	xmlXPathObjectPtr result;
 	int i;

Modified: packages/libxml2/trunk/doc/tutorial/api.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/api.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/api.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2510287"></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="id2902708"></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/trunk/doc/tutorial/ar01s02.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ar01s02.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ar01s02.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2496072"></a>
+      </p><div class="variablelist"><dl><dt><span class="term"><a class="indexterm" name="id2840608"></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="id2448173"></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="id2840654"></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="id2448206"></a>
+	  is a pointer to the structure.</p></dd><dt><span class="term"><a class="indexterm" name="id2840689"></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/trunk/doc/tutorial/ar01s03.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ar01s03.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ar01s03.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2447307"></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="id2839760"></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="id2447385"></a>
+      <a class="indexterm" name="id2839838"></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/trunk/doc/tutorial/ar01s04.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ar01s04.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ar01s04.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2447408"></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="id2839861"></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/trunk/doc/tutorial/ar01s06.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ar01s06.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ar01s06.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2508968"></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="id2901386"></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="id2509052"></a>
+      <a class="indexterm" name="id2901470"></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/trunk/doc/tutorial/ar01s07.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ar01s07.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ar01s07.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2509094"></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="id2901512"></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/trunk/doc/tutorial/ar01s08.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ar01s08.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ar01s08.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2509236"></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="id2901654"></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/trunk/doc/tutorial/ar01s09.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ar01s09.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ar01s09.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2509349"></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="id2901766"></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/trunk/doc/tutorial/includexpath.c
===================================================================
--- packages/libxml2/trunk/doc/tutorial/includexpath.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/includexpath.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -35,7 +35,7 @@
 
 	char *docname;
 	xmlDocPtr doc;
-	xmlChar *xpath = ("//keyword");
+	xmlChar *xpath = (xmlChar*) "//keyword";
 	xmlNodeSetPtr nodeset;
 	xmlXPathObjectPtr result;
 	int i;

Modified: packages/libxml2/trunk/doc/tutorial/index.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/index.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/index.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2393988"></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="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
     <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/trunk/doc/tutorial/ix01.html
===================================================================
--- packages/libxml2/trunk/doc/tutorial/ix01.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/ix01.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2510579"></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="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>

Modified: packages/libxml2/trunk/doc/tutorial/xmltutorial.pdf
===================================================================
--- packages/libxml2/trunk/doc/tutorial/xmltutorial.pdf	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/tutorial/xmltutorial.pdf	2004-07-06 13:30:31 UTC (rev 189)
@@ -709,10 +709,10 @@
 >>
 endobj
 96 0 obj
-<< /Length 1305 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1310 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-GatU3>Ar7S'Roe[&3:6(gZ4`';-]RjC[)>_Jh08p?pKq]`F^*,[cGPNlCd?j+)0-R`MEGd":6X at SF>7Imu[N.mL?@2J.\G^r7"*MXG6nRIrKoad4[lc2r_Yu&`!*g<N_6r&=eNsf_;<>jS^3G#faX0:5g'gLk(_Tds&8i8:cT>@^DI%FdJ?=Im!_4-KSN9\32eTL+A=Q.^ON&<iW6bM%.b.I'WE`A9_->BnNJLV"*o_S#),a&&*02<i&_%Tkrn:Q"QrIPcZ'llJ4`V.M+oiU>A4\(kl.qk<90i!8GY5XP33=<SeMj<dhAi`hie,^^\I5"1"Q#$%EY3oTIEgS#*PuV0SrMD-D.,cin?pL]Op.9V:<*=ZsgOWr-us=tIkKfOf/QC$2OL`e2/0&S>Km_1::s/rMP:2=?sg]\CsrcJBP<AKaAETlAKXp<1^?V\m]%_B+/-(7MRm\&Wr'.((/@WHM,K8 at nE`E+Q'_:,if29R.V!TXJ=c1:I_P^hnLX,h:B#>4*"oMHNkYPI@@Fl at 6ReKDLR3>qFtXCkWl4:"h.$.!K<ki#lf$3>CrP$U[2P`c3R3-iZ'#L;SMjldre:3bW'?GmFQA_(DWjM-3/lr)j;is0"#jBF%9ik.5V+4n^.SOS\f^$hh*)&1$+H\_/IMN;E?;UQ,$c,:Y9C.0/muSA2.gRJNn+rGgAV[GctipK<EF0DF\HVg'*d^b'-:IH6kJ'`t=0:6bu!&DCICI%3%IAq_<h@@.&2pE332IHHr/^+\3,0bk8AP?ZjkJp*0tl>ZC6+V>j^idb=GVoOcA^fHO%\Qj5Jh`MK5K1-AK4,KlJBVq##T_Am]1`1P3cRR4WdBnDtmV"J?mR0<N"O)nQMT9q2RdG'XY0(*Nq75!;T62+18nFMThPUnIQWoHHo4amR")uhSQFe at g1G1b@ZH9L"ePVDcn\U.h7(kV)Yniu(#pY7Z>=d=s90i:A`2qO_MdUF3&gdYNA!/-;!g0V_5?VQC6&>`q=I+#nAF&>_;QNh0pUsm8!r#qP at b984e!D0`U3!p`?IJl^+Ha42\';1l9&grb7\E*[]sT-+/EgGTVR0Z/_Pj)VSk`M9^[J.+^Dh$Q`H&-TRFGR[3f+EDn&mWZ+4=s\?V_WanAD8rVE$bG3fCur1SVp[NDdFGg.I6tU$([8cWak,^\0a):He<Cr`uHk?G-,B,-:7^-Xi<FdaT,/EUVfMHe0$$0FV3)=7[<o:PB.IH at PWPRdXtgT^dd';R9Z5HC*K)j-U/DD;arqb_n<G]Ar/Q06N$(LX8.;pJG<6+6+:(5Nn>VcN~>
+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~>
 endstream
 endobj
 97 0 obj
@@ -1188,49 +1188,49 @@
 xref
 0 144
 0000000000 65535 f 
-0000046813 00000 n 
-0000046989 00000 n 
-0000047082 00000 n 
+0000046818 00000 n 
+0000046994 00000 n 
+0000047087 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000001985 00000 n 
 0000002105 00000 n 
 0000002249 00000 n 
-0000047235 00000 n 
+0000047240 00000 n 
 0000002383 00000 n 
-0000047299 00000 n 
+0000047304 00000 n 
 0000002519 00000 n 
-0000047366 00000 n 
+0000047371 00000 n 
 0000002655 00000 n 
-0000047433 00000 n 
+0000047438 00000 n 
 0000002791 00000 n 
-0000047500 00000 n 
+0000047505 00000 n 
 0000002927 00000 n 
-0000047567 00000 n 
+0000047572 00000 n 
 0000003063 00000 n 
-0000047632 00000 n 
+0000047637 00000 n 
 0000003199 00000 n 
-0000047699 00000 n 
+0000047704 00000 n 
 0000003335 00000 n 
-0000047765 00000 n 
+0000047770 00000 n 
 0000003471 00000 n 
-0000047831 00000 n 
+0000047836 00000 n 
 0000003607 00000 n 
-0000047896 00000 n 
+0000047901 00000 n 
 0000003743 00000 n 
-0000047963 00000 n 
+0000047968 00000 n 
 0000003878 00000 n 
-0000048030 00000 n 
+0000048035 00000 n 
 0000004014 00000 n 
-0000048095 00000 n 
+0000048100 00000 n 
 0000004150 00000 n 
-0000048161 00000 n 
+0000048166 00000 n 
 0000004286 00000 n 
-0000048227 00000 n 
+0000048232 00000 n 
 0000004422 00000 n 
-0000048294 00000 n 
+0000048299 00000 n 
 0000004558 00000 n 
-0000048361 00000 n 
+0000048366 00000 n 
 0000004694 00000 n 
 0000006850 00000 n 
 0000006973 00000 n 
@@ -1284,53 +1284,53 @@
 0000030166 00000 n 
 0000031437 00000 n 
 0000031545 00000 n 
-0000032943 00000 n 
-0000033051 00000 n 
-0000034387 00000 n 
-0000034495 00000 n 
-0000035806 00000 n 
-0000035916 00000 n 
-0000037217 00000 n 
-0000037327 00000 n 
-0000038697 00000 n 
-0000038807 00000 n 
-0000040371 00000 n 
-0000040497 00000 n 
-0000040518 00000 n 
-0000041064 00000 n 
-0000041190 00000 n 
-0000048428 00000 n 
-0000048482 00000 n 
-0000041211 00000 n 
-0000048547 00000 n 
-0000041386 00000 n 
-0000041587 00000 n 
-0000041758 00000 n 
-0000041917 00000 n 
-0000042111 00000 n 
-0000042365 00000 n 
-0000042694 00000 n 
-0000042930 00000 n 
-0000043131 00000 n 
-0000043356 00000 n 
-0000043569 00000 n 
-0000043752 00000 n 
-0000043958 00000 n 
-0000044216 00000 n 
-0000044462 00000 n 
-0000044743 00000 n 
-0000045036 00000 n 
-0000045406 00000 n 
-0000045735 00000 n 
-0000048613 00000 n 
-0000045948 00000 n 
-0000046064 00000 n 
-0000046178 00000 n 
-0000046264 00000 n 
-0000046375 00000 n 
-0000046487 00000 n 
-0000046596 00000 n 
-0000046703 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 
 trailer
 <<
 /Size 144
@@ -1338,5 +1338,5 @@
 /Info 4 0 R
 >>
 startxref
-48682
+48687
 %%EOF

Modified: packages/libxml2/trunk/doc/xml.html
===================================================================
--- packages/libxml2/trunk/doc/xml.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/xml.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -677,6 +677,58 @@
 
 <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
+    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>
+  <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), 
+    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
+    Python classes, xmlReader buffer bug, Python bindings memory interfaces
+    improvement (with Stéphane Bidoul), Fixed the push parser to be back to
+    synchronous behaviour.</li>
+  <li>improvement: custom per-thread I/O enhancement (Rob Richards), register
+    namespace in debug shell (Stefano Debenedetti), Python based regression
+    test for non-Unix users (William), dynamically increase the number of
+    XPath extension functions in Python and fix a memory leak (Marc-Antoine
+    Parent and William)</li>
+  <li>performance: hack done with Arjan van de Ven to reduce ELF footprint
+    and generated code on Linux, plus use gcc runtime profiling to optimize
+    the code generated in the RPM packages.</li>
+</ul>
+
+<h3>2.6.10: May 17 2004</h3>
+<ul>
+  <li>Web page generated for ChangeLog</li>
+  <li>build fixes: --without-html problems, make check without make all</li>
+  <li>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),</li>
+  <li>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</li>
+  <li>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 '"'</li>
+</ul>
+
 <h3>2.6.9: Apr 18 2004</h3>
 <ul>
   <li>implement xml:id Working Draft, relaxed XPath id() checking</li>

Modified: packages/libxml2/trunk/doc/xmlcatalog.1
===================================================================
--- packages/libxml2/trunk/doc/xmlcatalog.1	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/xmlcatalog.1	2004-07-06 13:30:31 UTC (rev 189)
@@ -48,17 +48,17 @@
 
 .TP
 \fB\-\-add\fR \fI'type'\fR \fI'orig'\fR \fI'replace'\fR \fIfilename\fR
-Add an entry to catalog file \fIfilename\fR\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic', 'delegateSystem'amd 'rewriteURI'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&. The \fB\-\-add\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB\-\-noout\fR is used\&. The \fB\-\-add\fR will always take three parameters even if some of the XML catalog constructs will have only a single argument\&.
+Add an entry to catalog file \fIfilename\fR\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem', and 'nextCatalog'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&. The \fB\-\-add\fR option will not overwrite \fIfilename\fR, outputting to stdout, unless \fB\-\-noout\fR is used\&. The \fB\-\-add\fR will always take three parameters even if some of the XML catalog constructs will have only a single argument\&.
 
 If the \fB\-\-add\fR option is used following the \fB\-\-sgml\fR option, only a single argument, a \fIfilename\fR, is used\&. This is used to add the name of a catalog file to an SGML supercatalog, a file that contains references to other included SGML catalog files\&.
 
 .TP
 \fB\-\-del\fR \fI'values'\fR \fIfilename\fR
-Remove entries from the catalog file \fIfilename\fR matching \fI'values'\fR\&. The \fB\-\-del\fR option will not overwrite \fIfilename\fR, outputing to stdout, unless \fB\-\-noout\fR is used\&.
+Remove entries from the catalog file \fIfilename\fR matching \fI'values'\fR\&. The \fB\-\-del\fR option will not overwrite \fIfilename\fR, outputting to stdout, unless \fB\-\-noout\fR is used\&.
 
 .TP
 \fB\-\-noout\fR
-Save output to the named file rather than outputing to stdout\&.
+Save output to the named file rather than outputting to stdout\&.
 
 .TP
 \fB\-\-sgml\fR
@@ -83,7 +83,7 @@
 
 .TP
 \fBadd \fR \fI'type'\fR \fI'orig'\fR \fI'replace'\fR
-Add an entry to the catalog file\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'delegatePublic' and 'delegateSystem'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&.
+Add an entry to the catalog file\&. \fItype\fR indicates the type of entry\&. Possible types are 'public', 'system', 'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem', and 'nextCatalog'\&. \fI'orig'\fR is the original reference to be replaced, and \fI'replace'\fR is the URI of the replacement entity to be used\&.
 
 .TP
 \fBdel\fR \fI'values'\fR
@@ -136,13 +136,13 @@
 libxml web page: \fIhttp://www.xmlsoft.org/\fR
 
 .PP
-libxml catalog support web page:: \fIhttp://www.xmlsoft.org/catalog.html\fR
+libxml catalog support web page: \fIhttp://www.xmlsoft.org/catalog.html\fR
 
 .PP
-James Clark's SGML catalog page:: \fIhttp://www.jclark.com/sp/catalog.htm\fR
+James Clark's SGML catalog page: \fIhttp://www.jclark.com/sp/catalog.htm\fR
 
 .PP
-OASIS XML catalog specification: : \fIhttp://www.oasis-open.org/committees/entity/spec.html\fR
+OASIS XML catalog specification: \fIhttp://www.oasis-open.org/committees/entity/spec.html\fR
 
 .SH AUTHOR
 John Fleck.

Modified: packages/libxml2/trunk/doc/xmlcatalog_man.xml
===================================================================
--- packages/libxml2/trunk/doc/xmlcatalog_man.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/xmlcatalog_man.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -98,12 +98,12 @@
 	    Add an entry to catalog file
 	    <filename>filename</filename>. <replaceable>type</replaceable>
 	    indicates the type of entry. Possible types are 'public', 'system',
-	    'rewriteSystem', 'delegatePublic', 'delegateSystem'amd
-	    'rewriteURI'. <replaceable>'orig'</replaceable> is the original
+	    'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem',
+	    and 'nextCatalog'. <replaceable>'orig'</replaceable> is the original
 	    reference to be replaced, and <replaceable>'replace'</replaceable>
 	    is the <acronym>URI</acronym> of the replacement entity to be
 	    used. The <option>--add</option> option will not overwrite
-	    <replaceable>filename</replaceable>, outputing to stdout, unless
+	    <replaceable>filename</replaceable>, outputting to stdout, unless
 	    <option>--noout</option> is used. The <option>--add</option> will
 	    always take three parameters even if some of the
 	    <acronym>XML</acronym> catalog constructs will have only a single
@@ -129,7 +129,7 @@
 	    Remove entries from the catalog file
 	    <replaceable>filename</replaceable> matching
 	    <replaceable>'values'</replaceable>. The <option>--del</option> option
-	    will not overwrite <replaceable>filename</replaceable>, outputing to
+	    will not overwrite <replaceable>filename</replaceable>, outputting to
 	    stdout, unless <option>--noout</option> is used.
 	  </simpara>
 	</listitem>
@@ -139,7 +139,7 @@
 	<listitem>
 	  <simpara>
 	    Save output to the named file rather than
-	    outputing to stdout.
+	    outputting to stdout.
 	  </simpara>
 	</listitem>
       </varlistentry>
@@ -203,7 +203,8 @@
 	    Add an entry to the catalog
 	    file. <replaceable>type</replaceable> indicates the type of
 	    entry. Possible types are 'public', 'system', 'rewriteSystem',
-	    'delegatePublic' and 'delegateSystem'. <replaceable>'orig'</replaceable>
+	    'rewriteURI', 'delegatePublic', 'delegateSystem', and
+	    'nextCatalog'. <replaceable>'orig'</replaceable>
 	    is the original reference to  be replaced, and
 	    <replaceable>'replace'</replaceable> is the <acronym>URI</acronym> of the
 	    replacement entity to be used.
@@ -296,14 +297,14 @@
     <para><ulink url="http://www.xmlsoft.org/">libxml web page</ulink></para>
 
     <para><ulink url="http://www.xmlsoft.org/catalog.html"><application>libxml</application>
-    catalog support web page:</ulink></para>
+    catalog support web page</ulink></para>
 
     <para><ulink url="http://www.jclark.com/sp/catalog.htm">James Clark's
-    <acronym>SGML</acronym> catalog page:</ulink></para>
+    <acronym>SGML</acronym> catalog page</ulink></para>
   
     <para><ulink
     url="http://www.oasis-open.org/committees/entity/spec.html"><acronym>OASIS</acronym>
-    <acronym>XML</acronym> catalog specification: </ulink></para>
+    <acronym>XML</acronym> catalog specification</ulink></para>
 </refsect1>
 
 

Modified: packages/libxml2/trunk/doc/xmllint.1
===================================================================
--- packages/libxml2/trunk/doc/xmllint.1	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/xmllint.1	2004-07-06 13:30:31 UTC (rev 189)
@@ -277,5 +277,50 @@
 .PP
 Setting the environment variable \fIXML_DEBUG_CATALOG\fR using the command \fB"export XML_DEBUG_CATALOG="\fR outputs debugging information related to catalog operations\&.
 
+.SH "ERROR RETURN CODES"
+
+.PP
+On the completion of execution, Xmllint returns the following error codes:
+
+.TP
+0
+No error
+
+.TP
+1
+Unclassified
+
+.TP
+2
+Error in DTD
+
+.TP
+3
+Validation error
+
+.TP
+4
+Validation error
+
+.TP
+5
+Error in schema compilation
+
+.TP
+6
+Error writing output
+
+.TP
+7
+Error in pattern (generated when [\-\-pattern] option is used)
+
+.TP
+8
+Error in Reader registration (generated when [\-\-chkregister] option is used)
+
+.TP
+9
+Out of memory error
+
 .SH AUTHORS
 John Fleck, Ziying Sherwin, Heiko Rupp.

Modified: packages/libxml2/trunk/doc/xmllint.html
===================================================================
--- packages/libxml2/trunk/doc/xmllint.html	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/xmllint.html	2004-07-06 13:30:31 UTC (rev 189)
@@ -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="id2431614"></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="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>
       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
@@ -150,4 +150,7 @@
      catalogs. An empty one should deactivate loading the default
       <tt class="filename">/etc/xml/catalog</tt> default catalog.</p></div><div class="refsect1" lang="en"><h2>Debugging Catalogs</h2><p>Setting the environment variable <tt class="varname">XML_DEBUG_CATALOG</tt>
     using the command <b class="command">"export XML_DEBUG_CATALOG="</b>
-    outputs debugging information related to catalog operations.</p></div></div></body></html>
+    outputs debugging information related to catalog operations.</p></div><div class="refsect1" lang="en"><h2>Error Return Codes</h2><p>On the completion of execution, <span class="application">Xmllint</span>
+    returns the following error codes:</p><div class="variablelist"><dl><dt><span class="term">0</span></dt><dd>No error</dd><dt><span class="term">1</span></dt><dd>Unclassified</dd><dt><span class="term">2</span></dt><dd>Error in DTD</dd><dt><span class="term">3</span></dt><dd>Validation error</dd><dt><span class="term">4</span></dt><dd>Validation error</dd><dt><span class="term">5</span></dt><dd>Error in schema compilation</dd><dt><span class="term">6</span></dt><dd>Error writing output</dd><dt><span class="term">7</span></dt><dd>Error in pattern (generated when
+	  [<span class="optional">--pattern</span>] option is used)</dd><dt><span class="term">8</span></dt><dd>Error in Reader registration (generated when
+	  [<span class="optional">--chkregister</span>] option is used)</dd><dt><span class="term">9</span></dt><dd>Out of memory error</dd></dl></div></div></div></body></html>

Modified: packages/libxml2/trunk/doc/xmllint.xml
===================================================================
--- packages/libxml2/trunk/doc/xmllint.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/doc/xmllint.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -29,7 +29,7 @@
     </author>
     <address><email>hwr at pilhuhn.de</email></address>
     
-    <releaseinfo>This is release 0.3 of the xmllint Manual.</releaseinfo>
+    <releaseinfo>This is release 0.4 of the xmllint Manual.</releaseinfo>
   </refentryinfo>
 
   <refmeta>
@@ -640,4 +640,73 @@
     using the command <command>&quot;export XML_DEBUG_CATALOG=&quot;</command>
     outputs debugging information related to catalog operations.</para>
   </refsect1>
+  <refsect1>
+    <title>Error Return Codes</title>
+    <para>On the completion of execution, <application>Xmllint</application>
+    returns the following error codes:</para>
+    <variablelist>
+      <varlistentry>
+	<term>0</term>
+	<listitem>
+	  <simpara>No error</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>1</term>
+	<listitem>
+	  <simpara>Unclassified</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>2</term>
+	<listitem>
+	  <simpara>Error in DTD</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>3</term>
+	<listitem>
+	  <simpara>Validation error</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>4</term>
+	<listitem>
+	  <simpara>Validation error</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>5</term>
+	<listitem>
+	  <simpara>Error in schema compilation</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>6</term>
+	<listitem>
+	  <simpara>Error writing output</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>7</term>
+	<listitem>
+	  <simpara>Error in pattern (generated when
+	  <optional>--pattern</optional> option is used)</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>8</term>
+	<listitem>
+	  <simpara>Error in Reader registration (generated when
+	  <optional>--chkregister</optional> option is used)</simpara>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>9</term>
+	<listitem>
+	  <simpara>Out of memory error</simpara>
+	</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
 </refentry>

Copied: packages/libxml2/trunk/elfgcchack.h (from rev 188, packages/libxml2/branches/upstream/current/elfgcchack.h)

Modified: packages/libxml2/trunk/example/Makefile.am
===================================================================
--- packages/libxml2/trunk/example/Makefile.am	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/example/Makefile.am	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,10 +1,10 @@
 noinst_PROGRAMS	= gjobread
 
-INCLUDES =					\
-	-I$(top_builddir) -I$(top_srcdir)	\
-	-I$(top_builddir)/include		\
-	-I$(top_srcdir)/include -I at srcdir@
+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@
 
-LDADD = $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@
-
-
+gjobread_SOURCES=gjobread.c
+gjobread_LDFLAGS=
+gjobread_DEPENDENCIES= $(DEPS)
+gjobread_LDADD= @RDL_LIBS@ $(LDADDS)

Modified: packages/libxml2/trunk/example/Makefile.in
===================================================================
--- packages/libxml2/trunk/example/Makefile.in	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/example/Makefile.in	2004-07-06 13:30:31 UTC (rev 189)
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-SOURCES = gjobread.c
+SOURCES = $(gjobread_SOURCES)
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -49,12 +49,10 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
-gjobread_SOURCES = gjobread.c
-gjobread_OBJECTS = gjobread.$(OBJEXT)
-gjobread_LDADD = $(LDADD)
+am_gjobread_OBJECTS = gjobread.$(OBJEXT)
+gjobread_OBJECTS = $(am_gjobread_OBJECTS)
 am__DEPENDENCIES_1 =
-gjobread_DEPENDENCIES = $(top_builddir)/libxml2.la \
-	$(am__DEPENDENCIES_1)
+am__DEPENDENCIES_2 = $(top_builddir)/libxml2.la $(am__DEPENDENCIES_1)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -67,8 +65,8 @@
 CCLD = $(CC)
 LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = gjobread.c
-DIST_SOURCES = gjobread.c
+SOURCES = $(gjobread_SOURCES)
+DIST_SOURCES = $(gjobread_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -269,12 +267,13 @@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
-INCLUDES = \
-	-I$(top_builddir) -I$(top_srcdir)	\
-	-I$(top_builddir)/include		\
-	-I$(top_srcdir)/include -I at srcdir@
-
-LDADD = $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@
+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@
+gjobread_SOURCES = gjobread.c
+gjobread_LDFLAGS = 
+gjobread_DEPENDENCIES = $(DEPS)
+gjobread_LDADD = @RDL_LIBS@ $(LDADDS)
 all: all-am
 
 .SUFFIXES:

Modified: packages/libxml2/trunk/globals.c
===================================================================
--- packages/libxml2/trunk/globals.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/globals.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -71,6 +71,12 @@
 /*
  * Memory allocation routines
  */
+#undef	xmlFree
+#undef	xmlMalloc
+#undef	xmlMallocAtomic
+#undef	xmlMemStrdup
+#undef	xmlRealloc
+
 #if defined(DEBUG_MEMORY_LOCATION) || defined(DEBUG_MEMORY)
 #ifndef __DEBUG_MEMORY_ALLOC__
 extern void xmlMemFree(void *ptr);
@@ -163,12 +169,8 @@
 #undef	xmlDeregisterNodeDefaultValue
 #undef	xmlLastError
 
-#undef	xmlFree
-#undef	xmlMalloc
-#undef	xmlMallocAtomic
-#undef	xmlMemStrdup
-#undef	xmlRealloc
-
+#undef  xmlParserInputBufferCreateFilenameValue
+#undef  xmlOutputBufferCreateFilenameValue
 /**
  * xmlParserVersion:
  *
@@ -282,6 +284,12 @@
 xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue = NULL;
 static xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValueThrDef = NULL;
 
+xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue = NULL;
+static xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValueThrDef = NULL;
+
+xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue = NULL;
+static xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValueThrDef = NULL;
+
 /*
  * Error handling
  */
@@ -545,6 +553,9 @@
     gs->xmlGenericErrorContext = xmlGenericErrorContextThrDef;
     gs->xmlRegisterNodeDefaultValue = xmlRegisterNodeDefaultValueThrDef;
     gs->xmlDeregisterNodeDefaultValue = xmlDeregisterNodeDefaultValueThrDef;
+
+	gs->xmlParserInputBufferCreateFilenameValue = xmlParserInputBufferCreateFilenameValueThrDef;
+	gs->xmlOutputBufferCreateFilenameValue = xmlOutputBufferCreateFilenameValueThrDef;
     memset(&gs->xmlLastError, 0, sizeof(xmlError));
 
     xmlMutexUnlock(xmlThrDefMutex);
@@ -639,7 +650,41 @@
     return(old);
 }
 
+xmlParserInputBufferCreateFilenameFunc
+xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func)
+{
+    xmlParserInputBufferCreateFilenameFunc old;
+    
+    xmlMutexLock(xmlThrDefMutex);
+    old = xmlParserInputBufferCreateFilenameValueThrDef;
+    if (old == NULL) {
+		old = __xmlParserInputBufferCreateFilename;
+	}
 
+    xmlParserInputBufferCreateFilenameValueThrDef = func;
+    xmlMutexUnlock(xmlThrDefMutex);
+
+    return(old);
+}
+
+xmlOutputBufferCreateFilenameFunc
+xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func)
+{
+    xmlOutputBufferCreateFilenameFunc old;
+    
+    xmlMutexLock(xmlThrDefMutex);
+    old = xmlOutputBufferCreateFilenameValueThrDef;
+#ifdef LIBXML_OUTPUT_ENABLED
+    if (old == NULL) {
+		old = __xmlOutputBufferCreateFilename;
+	}
+#endif
+    xmlOutputBufferCreateFilenameValueThrDef = func;
+    xmlMutexUnlock(xmlThrDefMutex);
+
+    return(old);
+}
+
 #ifdef LIBXML_DOCB_ENABLED
 #undef	docbDefaultSAXHandler
 xmlSAXHandlerV1 *
@@ -672,6 +717,58 @@
 }
 
 /*
+ * The following memory routines were apparently lost at some point,
+ * and were re-inserted at this point on June 10, 2004.  Hope it's
+ * the right place for them :-)
+ */
+#if defined(LIBXML_THREAD_ALLOC_ENABLED) && defined(LIBXML_THREAD_ENABLED)
+#undef xmlMalloc
+xmlMallocFunc *
+__xmlMalloc(void){
+    if (IS_MAIN_THREAD)
+        return (&xmlMalloc);
+    else
+    	return (&xmlGetGlobalState()->xmlMalloc);
+}
+
+#undef xmlMallocAtomic
+xmlMallocFunc *
+__xmlMallocAtomic(void){
+    if (IS_MAIN_THREAD)
+        return (&xmlMallocAtomic);
+    else
+        return (&xmlGetGlobalState()->xmlMallocAtomic);
+}
+
+#undef xmlRealloc
+xmlReallocFunc *
+__xmlRealloc(void){
+    if (IS_MAIN_THREAD)
+        return (&xmlRealloc);
+    else
+        return (&xmlGetGlobalState()->xmlRealloc);
+}
+
+#undef xmlFree
+xmlFreeFunc *
+__xmlFree(void){
+    if (IS_MAIN_THREAD)
+        return (&xmlFree);
+    else
+        return (&xmlGetGlobalState()->xmlFree);
+}
+
+xmlStrdupFunc *
+__xmlMemStrdup(void){
+    if (IS_MAIN_THREAD)
+        return (&xmlMemStrdup);
+    else
+        return (&xmlGetGlobalState()->xmlMemStrdup);
+}
+
+#endif
+
+/*
  * Everything starting from the line below is
  * Automatically generated by build_glob.py.
  * Do not modify the previous line.
@@ -981,3 +1078,21 @@
     else
 	return (&xmlGetGlobalState()->xmlDeregisterNodeDefaultValue);
 }
+
+#undef	xmlParserInputBufferCreateFilenameValue
+xmlParserInputBufferCreateFilenameFunc *
+__xmlParserInputBufferCreateFilenameValue(void) {
+    if (IS_MAIN_THREAD)
+	return (&xmlParserInputBufferCreateFilenameValue);
+    else
+	return (&xmlGetGlobalState()->xmlParserInputBufferCreateFilenameValue);
+}
+
+#undef	xmlOutputBufferCreateFilenameValue
+xmlOutputBufferCreateFilenameFunc *
+__xmlOutputBufferCreateFilenameValue(void) {
+    if (IS_MAIN_THREAD)
+	return (&xmlOutputBufferCreateFilenameValue);
+    else
+	return (&xmlGetGlobalState()->xmlOutputBufferCreateFilenameValue);
+}

Modified: packages/libxml2/trunk/include/libxml/DOCBparser.h
===================================================================
--- packages/libxml2/trunk/include/libxml/DOCBparser.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/DOCBparser.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -11,6 +11,9 @@
 #ifndef __DOCB_PARSER_H__
 #define __DOCB_PARSER_H__
 #include <libxml/xmlversion.h>
+
+#ifdef LIBXML_DOCB_ENABLED
+
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
 
@@ -87,4 +90,7 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_DOCB_ENABLED */
+
 #endif /* __DOCB_PARSER_H__ */

Modified: packages/libxml2/trunk/include/libxml/HTMLparser.h
===================================================================
--- packages/libxml2/trunk/include/libxml/HTMLparser.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/HTMLparser.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -15,6 +15,8 @@
 #include <libxml/xmlversion.h>
 #include <libxml/parser.h>
 
+#ifdef LIBXML_HTML_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -292,4 +294,5 @@
 }
 #endif
 
+#endif /* LIBXML_HTML_ENABLED */
 #endif /* __HTML_PARSER_H__ */

Modified: packages/libxml2/trunk/include/libxml/HTMLtree.h
===================================================================
--- packages/libxml2/trunk/include/libxml/HTMLtree.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/HTMLtree.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -16,6 +16,7 @@
 #include <libxml/tree.h>
 #include <libxml/HTMLparser.h>
 
+#ifdef LIBXML_HTML_ENABLED
 
 #ifdef __cplusplus
 extern "C" {
@@ -135,5 +136,7 @@
 }
 #endif
 
+#endif /* LIBXML_HTML_ENABLED */
+
 #endif /* __HTML_TREE_H__ */
 

Modified: packages/libxml2/trunk/include/libxml/SAX.h
===================================================================
--- packages/libxml2/trunk/include/libxml/SAX.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/SAX.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -18,6 +18,8 @@
 #include <libxml/parser.h>
 #include <libxml/xlink.h>
 
+#ifdef LIBXML_SAX1_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -162,4 +164,7 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_SAX1_ENABLED */
+
 #endif /* __XML_SAX_H__ */

Modified: packages/libxml2/trunk/include/libxml/c14n.h
===================================================================
--- packages/libxml2/trunk/include/libxml/c14n.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/c14n.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -16,6 +16,7 @@
  */
 #ifndef __XML_C14N_H__
 #define __XML_C14N_H__    
+#ifdef LIBXML_C14N_ENABLED
 #ifdef LIBXML_OUTPUT_ENABLED
 
 #ifdef __cplusplus
@@ -99,5 +100,6 @@
 #endif /* __cplusplus */
 
 #endif /* LIBXML_OUTPUT_ENABLED */
+#endif /* LIBXML_C14N_ENABLED */
 #endif /* __XML_C14N_H__ */
 

Modified: packages/libxml2/trunk/include/libxml/globals.h
===================================================================
--- packages/libxml2/trunk/include/libxml/globals.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/globals.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -28,6 +28,13 @@
 XMLPUBFUN void XMLCALL xmlInitGlobals(void);
 XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);
 
+typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI, xmlCharEncoding enc);
+typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI, xmlCharEncodingHandlerPtr encoder, int compression);
+XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
+XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
+XMLPUBFUN xmlOutputBufferCreateFilenameFunc
+XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);
+
 /*
  * Externally global symbols which need to be protected for backwards
  * compatibility support.
@@ -63,6 +70,8 @@
 #undef  xmlRegisterNodeDefaultValue
 #undef  xmlDeregisterNodeDefaultValue
 #undef  xmlLastError
+#undef  xmlParserInputBufferCreateFilenameValue
+#undef  xmlOutputBufferCreateFilenameValue
 
 typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
 typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
@@ -110,6 +119,9 @@
 
 	xmlMallocFunc xmlMallocAtomic;
 	xmlError xmlLastError;
+
+	xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
+	xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
 };
 
 #ifdef __cplusplus
@@ -131,6 +143,11 @@
 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
 XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
 
+XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL 
+	xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
+XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL 
+	xmlThrDefParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func);
+
 /** DOC_DISABLE */
 /*
  * In general the memory allocation entry points are not kept
@@ -415,6 +432,22 @@
 XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
 #endif
 
+XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL __xmlParserInputBufferCreateFilenameValue(void);
+#ifdef LIBXML_THREAD_ENABLED
+#define xmlParserInputBufferCreateFilenameValue \
+(*(__xmlParserInputBufferCreateFilenameValue()))
+#else
+XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
+#endif
+
+XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
+#ifdef LIBXML_THREAD_ENABLED
+#define xmlOutputBufferCreateFilenameValue \
+(*(__xmlOutputBufferCreateFilenameValue()))
+#else
+XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
+#endif
+
 #ifdef __cplusplus
 }
 #endif

Modified: packages/libxml2/trunk/include/libxml/nanoftp.h
===================================================================
--- packages/libxml2/trunk/include/libxml/nanoftp.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/nanoftp.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -138,6 +138,6 @@
 
 #ifdef __cplusplus
 }
+#endif
 #endif /* LIBXML_FTP_ENABLED */
-#endif
 #endif /* __NANO_FTP_H__ */

Modified: packages/libxml2/trunk/include/libxml/parser.h
===================================================================
--- packages/libxml2/trunk/include/libxml/parser.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/parser.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -156,6 +156,20 @@
 #define XML_SKIP_IDS		8
 
 /**
+ * xmlParserMode:
+ *
+ * A parser can operate in various modes
+ */
+typedef enum {
+    XML_PARSE_UNKNOWN = 0,
+    XML_PARSE_DOM = 1,
+    XML_PARSE_SAX = 2,
+    XML_PARSE_PUSH_DOM = 3,
+    XML_PARSE_PUSH_SAX = 4,
+    XML_PARSE_READER = 5
+} xmlParserMode;
+
+/**
  * xmlParserCtxt:
  *
  * The parser context.
@@ -240,7 +254,7 @@
 
     int                loadsubset;    /* should the external subset be loaded */
     int                linenumbers;   /* set line number in element content */
-    void              *catalogs;       /* document's own catalog */
+    void              *catalogs;      /* document's own catalog */
     int                recovery;      /* run in recovery mode */
     int                progressive;   /* is this a progressive parsing */
     xmlDictPtr         dict;          /* dictionnary for the parser */
@@ -282,6 +296,7 @@
      * the complete error informations for the last error.
      */
     xmlError          lastError;
+    xmlParserMode     parseMode;    /* the parser mode */
 };
 
 /**

Modified: packages/libxml2/trunk/include/libxml/pattern.h
===================================================================
--- packages/libxml2/trunk/include/libxml/pattern.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/pattern.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -15,6 +15,8 @@
 #include <libxml/tree.h>
 #include <libxml/dict.h>
 
+#ifdef LIBXML_PATTERN_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -45,4 +47,7 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_PATTERN_ENABLED */
+
 #endif /* __XML_PATTERN_H__ */

Modified: packages/libxml2/trunk/include/libxml/relaxng.h
===================================================================
--- packages/libxml2/trunk/include/libxml/relaxng.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/relaxng.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -14,6 +14,8 @@
 #include <libxml/hash.h>
 #include <libxml/xmlstring.h>
 
+#ifdef LIBXML_SCHEMAS_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -176,4 +178,7 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+
 #endif /* __XML_RELAX_NG__ */

Modified: packages/libxml2/trunk/include/libxml/schemasInternals.h
===================================================================
--- packages/libxml2/trunk/include/libxml/schemasInternals.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/schemasInternals.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -24,12 +24,61 @@
 extern "C" {
 #endif
 
+typedef enum {
+    XML_SCHEMAS_UNKNOWN = 0,
+    XML_SCHEMAS_STRING,
+    XML_SCHEMAS_NORMSTRING,
+    XML_SCHEMAS_DECIMAL,
+    XML_SCHEMAS_TIME,
+    XML_SCHEMAS_GDAY,
+    XML_SCHEMAS_GMONTH,
+    XML_SCHEMAS_GMONTHDAY,
+    XML_SCHEMAS_GYEAR,
+    XML_SCHEMAS_GYEARMONTH,
+    XML_SCHEMAS_DATE,
+    XML_SCHEMAS_DATETIME,
+    XML_SCHEMAS_DURATION,
+    XML_SCHEMAS_FLOAT,
+    XML_SCHEMAS_DOUBLE,
+    XML_SCHEMAS_BOOLEAN,
+    XML_SCHEMAS_TOKEN,
+    XML_SCHEMAS_LANGUAGE,
+    XML_SCHEMAS_NMTOKEN,
+    XML_SCHEMAS_NMTOKENS, 
+    XML_SCHEMAS_NAME,
+    XML_SCHEMAS_QNAME,
+    XML_SCHEMAS_NCNAME,
+    XML_SCHEMAS_ID,
+    XML_SCHEMAS_IDREF,
+    XML_SCHEMAS_IDREFS, 
+    XML_SCHEMAS_ENTITY,
+    XML_SCHEMAS_ENTITIES, 
+    XML_SCHEMAS_NOTATION,
+    XML_SCHEMAS_ANYURI,
+    XML_SCHEMAS_INTEGER,
+    XML_SCHEMAS_NPINTEGER,
+    XML_SCHEMAS_NINTEGER,
+    XML_SCHEMAS_NNINTEGER,
+    XML_SCHEMAS_PINTEGER,
+    XML_SCHEMAS_INT,
+    XML_SCHEMAS_UINT,
+    XML_SCHEMAS_LONG,
+    XML_SCHEMAS_ULONG,
+    XML_SCHEMAS_SHORT,
+    XML_SCHEMAS_USHORT,
+    XML_SCHEMAS_BYTE,
+    XML_SCHEMAS_UBYTE,
+    XML_SCHEMAS_HEXBINARY,
+    XML_SCHEMAS_BASE64BINARY,
+    XML_SCHEMAS_ANYTYPE,
+    XML_SCHEMAS_ANYSIMPLETYPE   
+} xmlSchemaValType;
 
 /*
  * XML Schemas defines multiple type of types.
  */
 typedef enum {
-    XML_SCHEMA_TYPE_BASIC = 1,
+    XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
     XML_SCHEMA_TYPE_ANY,
     XML_SCHEMA_TYPE_FACET,
     XML_SCHEMA_TYPE_SIMPLE,
@@ -70,7 +119,7 @@
     XML_SCHEMA_CONTENT_ELEMENTS,
     XML_SCHEMA_CONTENT_MIXED,
     XML_SCHEMA_CONTENT_SIMPLE,
-    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS,
+    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* obsolete, not used */
     XML_SCHEMA_CONTENT_BASIC,
     XML_SCHEMA_CONTENT_ANY
 } xmlSchemaContentType;
@@ -98,41 +147,68 @@
  * XML_SCHEMAS_ANYATTR_SKIP:
  *
  * Skip unknown attribute from validation
+ * Obsolete, not used anymore.
  */
 #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
 /**
  * XML_SCHEMAS_ANYATTR_STRICT:
  *
  * Apply strict validation rules on attributes
+ * Obsolete, not used anymore.
  */
 #define XML_SCHEMAS_ANYATTR_STRICT	3
-
 /**
+ * XML_SCHEMAS_ANY_SKIP:
+ *
+ * Skip unknown attribute from validation 
+ */
+#define XML_SCHEMAS_ANY_SKIP        1
+/**
+ * XML_SCHEMAS_ANY_LAX:
+ *
+ * Used by wildcards.
+ * Validate if type found, don't worry if not found
+ */
+#define XML_SCHEMAS_ANY_LAX                2
+/**
+ * XML_SCHEMAS_ANY_STRICT:
+ *
+ * Used by wildcards.
+ * Apply strict validation rules
+ */
+#define XML_SCHEMAS_ANY_STRICT        3
+/**
  * XML_SCHEMAS_ATTR_USE_PROHIBITED:
  *
+ * Used by wildcards.
  * The attribute is prohibited.
  */
 #define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
-
 /**
  * XML_SCHEMAS_ATTR_USE_REQUIRED:
  *
  * The attribute is required.
  */
 #define XML_SCHEMAS_ATTR_USE_REQUIRED 1
-
 /**
  * XML_SCHEMAS_ATTR_USE_OPTIONAL:
  *
  * The attribute is optional.
  */
 #define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
+/**
+ * XML_SCHEMAS_ATTR_GLOABAL:
+ *
+ * allow elements in no namespace
+ */
+#define XML_SCHEMAS_ATTR_GLOBAL        1 << 0
 
 /**
  * XML_SCHEMAS_ATTR_NSDEFAULT:
@@ -169,6 +245,68 @@
 };
 
 /**
+ * xmlSchemaAttributeLink:
+ * Used to build a list of attribute uses on complexType definitions.
+ */
+typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
+typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
+struct _xmlSchemaAttributeLink {
+    struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */
+    struct _xmlSchemaAttribute *attr;/* the linked attribute */
+};
+
+/**
+ * XML_SCHEMAS_WILDCARD_COMPLETE:
+ *
+ * If the wildcard is complete.
+ */
+#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0
+
+/**
+ * xmlSchemaCharValueLink:
+ * Used to build a list of namespaces on wildcards.
+ */
+typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
+typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
+struct _xmlSchemaWildcardNs {
+    struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */
+    const xmlChar *value;/* the value */
+};
+
+/**
+ * xmlSchemaWildcard.
+ * A wildcard.
+ */
+typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
+typedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
+struct _xmlSchemaWildcard {
+    xmlSchemaTypeType type;        /* The kind of type */
+    const xmlChar *id;
+    xmlSchemaAnnotPtr annot;
+    xmlNodePtr node;
+    int minOccurs;
+    int maxOccurs;
+    int processContents;
+    int any; /* Indicates if the ns constraint is of ##any */
+    xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
+    xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */
+    int flags;
+};
+
+/**
+ * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
+ *
+ * The attribute wildcard has been already builded.
+ */
+#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
+/**
+ * XML_SCHEMAS_ATTRGROUP_GLOBAL:
+ *
+ * The attribute wildcard has been already builded.
+ */
+#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
+
+/**
  * An attribute group definition.
  *
  * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
@@ -187,15 +325,124 @@
 
     xmlSchemaAttributePtr attributes;
     xmlNodePtr node;
+    int flags;
+    xmlSchemaWildcardPtr attributeWildcard;
 };
 
+/**
+ * xmlSchemaTypeLink:
+ * Used to build a list of types (e.g. member types of
+ * simpleType with variety "union").
+ */
+typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
+typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
+struct _xmlSchemaTypeLink {
+    struct _xmlSchemaTypeLink *next;/* the next type link ... */
+    xmlSchemaTypePtr type;/* the linked type*/
+};
 
 /**
+ * xmlSchemaFacetLink:
+ * Used to build a list of facets.
+ */
+typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
+typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
+struct _xmlSchemaFacetLink {
+    struct _xmlSchemaFacetLink *next;/* the next facet link ... */
+    xmlSchemaFacetPtr facet;/* the linked facet */
+};
+
+/**
  * XML_SCHEMAS_TYPE_MIXED:
  *
  * the element content type is mixed
  */
 #define XML_SCHEMAS_TYPE_MIXED		1 << 0
+/**
+ * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
+ *
+ * the simple or complex type has a derivation method of "extension".
+ */
+#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION                1 << 1
+/**
+ * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
+ *
+ * the simple or complex type has a derivation method of "restriction".
+ */
+#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION                1 << 2
+/**
+ * XML_SCHEMAS_TYPE_GLOBAL:
+ *
+ * the type is global
+ */
+#define XML_SCHEMAS_TYPE_GLOBAL                1 << 3
+/**
+ * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
+ *
+ * the complexType owns an attribute wildcard, i.e.
+ * it can be freed by the complexType
+ */
+#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD    1 << 4
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
+ *
+ * the simpleType has a variety of "absent".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_ABSENT    1 << 5
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_LIST:
+ *
+ * the simpleType has a variety of "list".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_LIST    1 << 6
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_UNION:
+ *
+ * the simpleType has a variety of "union".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_UNION    1 << 7
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
+ *
+ * the simpleType has a variety of "union".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC    1 << 8
+/**
+ * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
+ *
+ * the complexType has a final of "extension".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_EXTENSION    1 << 9
+/**
+ * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
+ *
+ * the simpleType/complexType has a final of "restriction".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION    1 << 10
+/**
+ * XML_SCHEMAS_TYPE_FINAL_LIST:
+ *
+ * the simpleType has a final of "list".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_LIST    1 << 11
+/**
+ * XML_SCHEMAS_TYPE_FINAL_UNION:
+ *
+ * the simpleType has a final of "union".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_UNION    1 << 12
+/**
+ * XML_SCHEMAS_TYPE_FINAL_UNION:
+ *
+ * the simpleType has a final of "union".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_DEFAULT    1 << 13
+/**
+ * XML_SCHEMAS_TYPE_FINAL_UNION:
+ *
+ * the simpleType has a final of "union".
+ */
+#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
 
 /**
  * _xmlSchemaType:
@@ -224,6 +471,11 @@
     xmlSchemaFacetPtr facets;
     struct _xmlSchemaType *redef;/* possible redefinitions for the type */
     int recurse;
+    xmlSchemaAttributeLinkPtr attributeUses;
+    xmlSchemaWildcardPtr attributeWildcard;
+    int builtInType;
+    xmlSchemaTypeLinkPtr memberTypes;
+    xmlSchemaFacetLinkPtr facetSet;
 };
 
 /*
@@ -267,6 +519,7 @@
  * XML_SCHEMAS_ELEM_TOPLEVEL:
  *
  * the element is top level
+ * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
  */
 #define XML_SCHEMAS_ELEM_TOPLEVEL	1 << 5
 /**
@@ -279,6 +532,7 @@
  * XML_SCHEMAS_ELEM_NSDEFAULT:
  *
  * allow elements in no namespace
+ * Obsolete, not used anymore.
  */
 #define XML_SCHEMAS_ELEM_NSDEFAULT	1 << 7
 
@@ -335,7 +589,6 @@
  * collapse the types of the facet
  */
 #define XML_SCHEMAS_FACET_COLLAPSE	3
-
 /**
  * A facet definition.
  */
@@ -375,8 +628,32 @@
  *
  * the shemas 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.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION	1 << 2
+/**
+ * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
+ *
+ * the shema has "restriction" in the set of finalDefault.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION	    1 << 3
+/**
+ * XML_SCHEMAS_FINAL_DEFAULT_LIST:
+ *
+ * the shema has "list" in the set of finalDefault.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_LIST	    1 << 4
+/**
+ * XML_SCHEMAS_FINAL_DEFAULT_UNION:
+ *
+ * the shema has "union" in the set of finalDefault.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_UNION	    1 << 5
+/**
  * _xmlSchema:
  *
  * A Schemas definition
@@ -406,6 +683,7 @@
 };
 
 XMLPUBFUN void XMLCALL 	xmlSchemaFreeType	(xmlSchemaTypePtr type);
+XMLPUBFUN void XMLCALL 	xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
 
 #ifdef __cplusplus
 }
@@ -414,4 +692,3 @@
 #endif /* LIBXML_SCHEMAS_ENABLED */
 #endif /* __XML_SCHEMA_INTERNALS_H__ */
 
-

Modified: packages/libxml2/trunk/include/libxml/uri.h
===================================================================
--- packages/libxml2/trunk/include/libxml/uri.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/uri.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -47,8 +47,11 @@
 XMLPUBFUN xmlURIPtr XMLCALL	
 		xmlCreateURI		(void);
 XMLPUBFUN xmlChar * XMLCALL	
-		xmlBuildURI		(const xmlChar *URI,
-	                        	 const xmlChar *base);
+		xmlBuildURI			(const xmlChar *URI,
+	                         const xmlChar *base);
+XMLPUBFUN xmlChar * XMLCALL	
+		xmlBuildRelativeURI	(const xmlChar *URI,
+	                         const xmlChar *base);
 XMLPUBFUN xmlURIPtr XMLCALL	
 		xmlParseURI		(const char *str);
 XMLPUBFUN int XMLCALL		

Modified: packages/libxml2/trunk/include/libxml/valid.h
===================================================================
--- packages/libxml2/trunk/include/libxml/valid.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/valid.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -269,7 +269,7 @@
 /**
  * The public function calls related to validity checking.
  */
-
+#ifdef LIBXML_VALID_ENABLED
 XMLPUBFUN int XMLCALL		
 		xmlValidateRoot		(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc);
@@ -337,6 +337,8 @@
 		xmlValidateNotationUse	(xmlValidCtxtPtr ctxt,
 					 xmlDocPtr doc,
 					 const xmlChar *notationName);
+#endif /* LIBXML_VALID_ENABLED */
+
 XMLPUBFUN int XMLCALL		
 		xmlIsMixedElement	(xmlDocPtr doc,
 					 const xmlChar *name);
@@ -370,6 +372,9 @@
 					 const xmlChar **list,
 					 int *len,
 					 int max);
+
+#ifdef LIBXML_VALID_ENABLED
+
 XMLPUBFUN int XMLCALL		
 		xmlValidateNameValue	(const xmlChar *value);
 XMLPUBFUN int XMLCALL		
@@ -379,6 +384,7 @@
 XMLPUBFUN int XMLCALL		
 		xmlValidateNmtokensValue(const xmlChar *value);
 
+#endif /* LIBXML_VALID_ENABLED */
 #ifdef LIBXML_REGEXP_ENABLED
 /*
  * Validation based on the regexp support

Modified: packages/libxml2/trunk/include/libxml/xinclude.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xinclude.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xinclude.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -16,6 +16,8 @@
 #include <libxml/xmlversion.h>
 #include <libxml/tree.h>
 
+#ifdef LIBXML_XINCLUDE_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -113,4 +115,7 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_XINCLUDE_ENABLED */
+
 #endif /* __XML_XINCLUDE_H__ */

Modified: packages/libxml2/trunk/include/libxml/xmlIO.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlIO.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlIO.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -206,6 +206,11 @@
 						 xmlInputOpenCallback openFunc,
 						 xmlInputReadCallback readFunc,
 						 xmlInputCloseCallback closeFunc);
+
+xmlParserInputBufferPtr
+	__xmlParserInputBufferCreateFilename(const char *URI,
+										xmlCharEncoding enc);
+
 #ifdef LIBXML_OUTPUT_ENABLED
 /*
  * Interfaces for output
@@ -258,6 +263,11 @@
 					 xmlOutputOpenCallback openFunc,
 					 xmlOutputWriteCallback writeFunc,
 					 xmlOutputCloseCallback closeFunc);
+
+xmlOutputBufferPtr
+	__xmlOutputBufferCreateFilename(const char *URI,
+                              xmlCharEncodingHandlerPtr encoder,
+                              int compression);
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 /*  This function only exists if HTTP support built into the library  */

Modified: packages/libxml2/trunk/include/libxml/xmlerror.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlerror.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlerror.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -555,6 +555,25 @@
     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 */
@@ -578,7 +597,28 @@
     XML_SCHEMAV_ATTRINVALID, /* 1820 */
     XML_SCHEMAV_VALUE, /* 1821 */
     XML_SCHEMAV_FACET, /* 1822 */
-    XML_XPTR_UNKNOWN_SCHEME = 1900,
+    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_XPTR_UNKNOWN_SCHEME = 1900, 
     XML_XPTR_CHILDSEQ_START, /* 1901 */
     XML_XPTR_EVAL_FAILED, /* 1902 */
     XML_XPTR_EXTRA_OBJECTS, /* 1903 */
@@ -591,7 +631,44 @@
     XML_FTP_ACCNT, /* 2002 */
     XML_HTTP_URL_SYNTAX = 2020,
     XML_HTTP_USE_IP, /* 2021 */
-    XML_HTTP_UNKNOWN_HOST /* 2022 */
+    XML_HTTP_UNKNOWN_HOST, /* 2022 */
+    XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000,
+    XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */
+    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_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 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */
+    XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ 
+    XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */
+    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 */
 } xmlParserErrors;
 
 /**

Modified: packages/libxml2/trunk/include/libxml/xmlreader.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlreader.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlreader.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -17,6 +17,8 @@
 #include <libxml/relaxng.h>
 #endif
 
+#ifdef LIBXML_READER_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -359,5 +361,8 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_READER_ENABLED */
+
 #endif /* __XML_XMLREADER_H__ */
 

Modified: packages/libxml2/trunk/include/libxml/xmlsave.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlsave.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlsave.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -31,10 +31,14 @@
 		xmlSaveToFilename	(const char *filename,
 					 const char *encoding,
 					 int options);
+/******
+  Not yet implemented.
+
 XMLPUBFUN xmlSaveCtxtPtr XMLCALL
 		xmlSaveToBuffer		(xmlBufferPtr buffer,
 					 const char *encoding,
 					 int options);
+ ******/
 XMLPUBFUN xmlSaveCtxtPtr XMLCALL
 		xmlSaveToIO		(xmlOutputWriteCallback iowrite,
 					 xmlOutputCloseCallback ioclose,

Modified: packages/libxml2/trunk/include/libxml/xmlschemastypes.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlschemastypes.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlschemastypes.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -58,6 +58,20 @@
 XMLPUBFUN int XMLCALL		
 		xmlSchemaCompareValues		(xmlSchemaValPtr x,
 						 xmlSchemaValPtr y);
+XMLPUBFUN xmlSchemaTypePtr XMLCALL		
+		xmlSchemaGetBuiltInListSimpleTypeItemType(xmlSchemaTypePtr type);
+XMLPUBFUN int XMLCALL
+xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
+				     const xmlChar *value,
+				     unsigned long actualLen,
+				     unsigned long *expectedLen);
+XMLPUBFUN xmlSchemaTypePtr XMLCALL
+xmlSchemaGetBuiltInType(xmlSchemaValType type);
+XMLPUBFUN int XMLCALL
+xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, 
+			    int facetType);
+XMLPUBFUN xmlChar *  XMLCALL
+xmlSchemaCollapseString(const xmlChar *value);
 
 #ifdef __cplusplus
 }

Modified: packages/libxml2/trunk/include/libxml/xmlunicode.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlunicode.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlunicode.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -17,6 +17,8 @@
 
 #include <libxml/xmlversion.h>
 
+#ifdef LIBXML_UNICODE_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -194,4 +196,7 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_UNICODE_ENABLED */
+
 #endif /* __XML_UNICODE_H__ */

Modified: packages/libxml2/trunk/include/libxml/xmlversion.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlversion.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlversion.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -29,21 +29,21 @@
  *
  * the version string like "1.2.3"
  */
-#define LIBXML_DOTTED_VERSION "2.6.10"
+#define LIBXML_DOTTED_VERSION "2.6.11"
 
 /**
  * LIBXML_VERSION:
  *
  * the version number: 1.2.3 value is 1002003
  */
-#define LIBXML_VERSION 20610
+#define LIBXML_VERSION 20611
 
 /**
  * LIBXML_VERSION_STRING:
  *
  * the version number string, 1.2.3 value is "1002003"
  */
-#define LIBXML_VERSION_STRING "20610"
+#define LIBXML_VERSION_STRING "20611"
 
 /**
  * LIBXML_TEST_VERSION:
@@ -51,7 +51,7 @@
  * Macro to check that the libxml version in use is compatible with
  * the version the software has been compiled against
  */
-#define LIBXML_TEST_VERSION xmlCheckVersion(20610);
+#define LIBXML_TEST_VERSION xmlCheckVersion(20611);
 
 #ifndef VMS
 #if 0

Modified: packages/libxml2/trunk/include/libxml/xmlwriter.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xmlwriter.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xmlwriter.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -11,6 +11,10 @@
 #ifndef __XML_XMLWRITER_H__
 #define __XML_XMLWRITER_H__
 
+#include <libxml/xmlversion.h>
+
+#ifdef LIBXML_WRITER_ENABLED
+
 #include <stdarg.h>
 #include <libxml/xmlIO.h>
 #include <libxml/list.h>
@@ -449,4 +453,7 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_WRITER_ENABLED */
+
 #endif                          /* __XML_XMLWRITER_H__ */

Modified: packages/libxml2/trunk/include/libxml/xpath.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xpath.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xpath.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -20,6 +20,9 @@
 #define __XML_XPATH_H__
 
 #include <libxml/xmlversion.h>
+
+#ifdef LIBXML_XPATH_ENABLED
+
 #include <libxml/xmlerror.h>
 #include <libxml/tree.h>
 #include <libxml/hash.h>
@@ -464,4 +467,6 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_XPATH_ENABLED */
 #endif /* ! __XML_XPATH_H__ */

Modified: packages/libxml2/trunk/include/libxml/xpathInternals.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xpathInternals.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xpathInternals.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -15,6 +15,8 @@
 #include <libxml/xmlversion.h>
 #include <libxml/xpath.h>
 
+#ifdef LIBXML_XPATH_ENABLED
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -650,4 +652,6 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_XPATH_ENABLED */
 #endif /* ! __XML_XPATH_INTERNALS_H__ */

Modified: packages/libxml2/trunk/include/libxml/xpointer.h
===================================================================
--- packages/libxml2/trunk/include/libxml/xpointer.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/include/libxml/xpointer.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -18,6 +18,9 @@
 #define __XML_XPTR_H__
 
 #include <libxml/xmlversion.h>
+
+#ifdef LIBXML_XPTR_ENABLED
+
 #include <libxml/tree.h>
 #include <libxml/xpath.h>
 
@@ -106,4 +109,6 @@
 #ifdef __cplusplus
 }
 #endif
+
+#endif /* LIBXML_XPTR_ENABLED */
 #endif /* __XML_XPTR_H__ */

Modified: packages/libxml2/trunk/libxml.h
===================================================================
--- packages/libxml2/trunk/libxml.h	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/libxml.h	2004-07-06 13:30:31 UTC (rev 189)
@@ -49,4 +49,12 @@
  */
 void __xmlIOErr(int domain, int code, const char *extra);
 void __xmlLoaderErr(void *ctx, const char *msg, const char *filename);
+
+#ifdef IN_LIBXML
+#ifdef __GNUC__
+#ifdef linux
+#include "elfgcchack.h"
+#endif
+#endif
+#endif
 #endif /* ! __XML_LIBXML_H__ */

Modified: packages/libxml2/trunk/libxml.m4
===================================================================
--- packages/libxml2/trunk/libxml.m4	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/libxml.m4	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,13 +1,13 @@
 # Configure paths for LIBXML2
+# Mike Hommey 2004-06-19
+# use CPPFLAGS instead of CFLAGS
 # Toshio Kuratomi 2001-04-21
 # Adapted from:
 # Configure paths for GLIB
 # Owen Taylor     97-11-3
-# Modified to use CPPFLAGS instead of CFLAGS
-# Mike Hommey 2004-05-26
 
 dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for XML, and define XML_CFLAGS and XML_LIBS
+dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS
 dnl
 AC_DEFUN([AM_PATH_XML2],[ 
 AC_ARG_WITH(xml-prefix,
@@ -40,7 +40,7 @@
   if test "$XML2_CONFIG" = "no" ; then
     no_xml=yes
   else
-    XML_CFLAGS=`$XML2_CONFIG $xml_config_args --cflags`
+    XML_CPPFLAGS=`$XML2_CONFIG $xml_config_args --cflags`
     XML_LIBS=`$XML2_CONFIG $xml_config_args --libs`
     xml_config_major_version=`$XML2_CONFIG $xml_config_args --version | \
            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
@@ -51,7 +51,7 @@
     if test "x$enable_xmltest" = "xyes" ; then
       ac_save_CPPFLAGS="$CPPFLAGS"
       ac_save_LIBS="$LIBS"
-      CPPFLAGS="$CPPFLAGS $XML_CFLAGS"
+      CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
       LIBS="$XML_LIBS $LIBS"
 dnl
 dnl Now check if the installed libxml is sufficiently new.
@@ -154,7 +154,7 @@
         :
        else
           echo "*** Could not run libxml test program, checking why..."
-          CPPFLAGS="$CPPFLAGS $XML_CFLAGS"
+          CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
           LIBS="$LIBS $XML_LIBS"
           AC_TRY_LINK([
 #include <libxml/xmlversion.h>
@@ -178,11 +178,11 @@
        fi
      fi
 
-     XML_CFLAGS=""
+     XML_CPPFLAGS=""
      XML_LIBS=""
      ifelse([$3], , :, [$3])
   fi
-  AC_SUBST(XML_CFLAGS)
+  AC_SUBST(XML_CPPFLAGS)
   AC_SUBST(XML_LIBS)
   rm -f conf.xmltest
 ])

Modified: packages/libxml2/trunk/libxml.spec.in
===================================================================
--- packages/libxml2/trunk/libxml.spec.in	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/libxml.spec.in	2004-07-06 13:30:31 UTC (rev 189)
@@ -60,8 +60,46 @@
 %setup -q
 
 %build
-%configure
-make
+#
+# try to use compiler profiling, based on Arjan van de Ven <arjanv at redhat.com>
+# initial test spec. This really doesn't work okay for most tests done.
+#
+GCC_VERSION=`gcc --version | grep "^gcc" | awk '{ print $3 }' | sed 's+\([0-9]\)\.\([0-9]\)\..*+\1\2+'`
+#if [ $GCC_VERSION -eq 32 ]
+#then
+#    PROF_GEN='-fprofile-arcs'
+#    PROF_USE='-fbranch-probabilities'
+#else if [ $GCC_VERSION -eq 33 ]
+#then
+#    PROF_GEN='-fprofile-arcs'
+#    PROF_USE='-fbranch-probabilities -ftracer'
+#else
+if [ $GCC_VERSION -ge 34 ]
+then
+    PROF_GEN='-fprofile-generate'
+    PROF_USE='-fprofile-use'
+fi
+#fi
+#fi
+
+if [ "$PROF_GEN" != "" ]
+then
+    # First generate a profiling version
+    CFLAGS="${RPM_OPT_FLAGS} ${PROF_GEN}"  %configure
+    make
+    # Run a few sampling
+    make dba100000.xml
+    ./xmllint --noout  dba100000.xml
+    ./xmllint --stream  dba100000.xml
+    ./xmllint --noout --valid test/valid/REC-xml-19980210.xml
+    ./xmllint --stream --valid test/valid/REC-xml-19980210.xml
+    # Then generate code based on profile
+    CFLAGS="${RPM_OPT_FLAGS} ${PROF_USE}"  %configure
+    make
+else
+    %configure
+    make
+fi
 (cd doc/examples ; make clean)
 gzip -9 ChangeLog
 

Modified: packages/libxml2/trunk/libxml2.spec
===================================================================
--- packages/libxml2/trunk/libxml2.spec	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/libxml2.spec	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,6 +1,6 @@
 Summary: Library providing XML and HTML support
 Name: libxml2
-Version: 2.6.10
+Version: 2.6.11
 Release: 1
 License: MIT
 Group: Development/Libraries
@@ -60,8 +60,46 @@
 %setup -q
 
 %build
-%configure
-make
+#
+# try to use compiler profiling, based on Arjan van de Ven <arjanv at redhat.com>
+# initial test spec. This really doesn't work okay for most tests done.
+#
+GCC_VERSION=`gcc --version | grep "^gcc" | awk '{ print $3 }' | sed 's+\([0-9]\)\.\([0-9]\)\..*+\1\2+'`
+#if [ $GCC_VERSION -eq 32 ]
+#then
+#    PROF_GEN='-fprofile-arcs'
+#    PROF_USE='-fbranch-probabilities'
+#else if [ $GCC_VERSION -eq 33 ]
+#then
+#    PROF_GEN='-fprofile-arcs'
+#    PROF_USE='-fbranch-probabilities -ftracer'
+#else
+if [ $GCC_VERSION -ge 34 ]
+then
+    PROF_GEN='-fprofile-generate'
+    PROF_USE='-fprofile-use'
+fi
+#fi
+#fi
+
+if [ "$PROF_GEN" != "" ]
+then
+    # First generate a profiling version
+    CFLAGS="${RPM_OPT_FLAGS} ${PROF_GEN}"  %configure
+    make
+    # Run a few sampling
+    make dba100000.xml
+    ./xmllint --noout  dba100000.xml
+    ./xmllint --stream  dba100000.xml
+    ./xmllint --noout --valid test/valid/REC-xml-19980210.xml
+    ./xmllint --stream --valid test/valid/REC-xml-19980210.xml
+    # Then generate code based on profile
+    CFLAGS="${RPM_OPT_FLAGS} ${PROF_USE}"  %configure
+    make
+else
+    %configure
+    make
+fi
 (cd doc/examples ; make clean)
 gzip -9 ChangeLog
 
@@ -121,8 +159,8 @@
 %doc doc/python.html
 
 %changelog
-* Mon May 17 2004 Daniel Veillard <veillard at redhat.com>
-- upstream release 2.6.10 see http://xmlsoft.org/news.html
+* Mon Jul  5 2004 Daniel Veillard <veillard at redhat.com>
+- upstream release 2.6.11 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

Deleted: packages/libxml2/trunk/ltconfig
===================================================================
--- packages/libxml2/trunk/ltconfig	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/ltconfig	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,3114 +0,0 @@
-#! /bin/sh
-
-# ltconfig - Create a system-specific libtool.
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# 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
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A lot of this script is taken from autoconf-2.10.
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-echo=echo
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec "$SHELL" "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# Find the correct PATH separator.  Usually this is `:', but
-# DJGPP uses `;' like DOS.
-if test "X${PATH_SEPARATOR+set}" != Xset; then
-  UNAME=${UNAME-`uname 2>/dev/null`}
-  case X$UNAME in
-    *-DOS) PATH_SEPARATOR=';' ;;
-    *)     PATH_SEPARATOR=':' ;;
-  esac
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-if test "X${echo_test_string+set}" != Xset; then
-  # find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
-       echo_test_string="`eval $cmd`" &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
-   test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH /usr/ucb; do
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running ltconfig again with it.
-      ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
-    else
-      # Try using printf.
-      echo='printf "%s\n"'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-	   test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL $0 --fallback-echo"
-      elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
-	   test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
-	echo="$CONFIG_SHELL $0 --fallback-echo"
-      else
-	# maybe with a smaller string...
-	prev=:
-
-	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
-	    break
-	  fi
-	  prev="$cmd"
-	done
-
-	if test "$prev" != 'sed 50q "$0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
-      fi
-    fi
-  fi
-fi
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# The name of this program.
-progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
-
-# Constants:
-PROGRAM=ltconfig
-PACKAGE=libtool
-VERSION=1.3.5
-TIMESTAMP=" (1.385.2.206 2000/05/27 11:12:27)"
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-rm="rm -f"
-
-help="Try \`$progname --help' for more information."
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-enable_shared=yes
-# All known linkers require a `.a' archive for static linking (except M$VC,
-# which needs '.lib').
-enable_static=yes
-enable_fast_install=yes
-enable_dlopen=unknown
-enable_win32_dll=no
-ltmain=
-silent=
-srcdir=
-ac_config_guess=
-ac_config_sub=
-host=
-nonopt=
-ofile="$default_ofile"
-verify_host=yes
-with_gcc=no
-with_gnu_ld=no
-need_locks=yes
-ac_ext=c
-objext=o
-libext=a
-exeext=
-cache_file=
-
-old_AR="$AR"
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-old_CPPFLAGS="$CPPFLAGS"
-old_LDFLAGS="$LDFLAGS"
-old_LD="$LD"
-old_LN_S="$LN_S"
-old_LIBS="$LIBS"
-old_NM="$NM"
-old_RANLIB="$RANLIB"
-old_DLLTOOL="$DLLTOOL"
-old_OBJDUMP="$OBJDUMP"
-old_AS="$AS"
-
-# Parse the command line options.
-args=
-prev=
-for option
-do
-  case "$option" in
-  -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    eval "$prev=\$option"
-    prev=
-    continue
-  fi
-
-  case "$option" in
-  --help) cat <<EOM
-Usage: $progname [OPTION]... [HOST [LTMAIN]]
-
-Generate a system-specific libtool script.
-
-    --debug                enable verbose shell tracing
-    --disable-shared       do not build shared libraries
-    --disable-static       do not build static libraries
-    --disable-fast-install do not optimize for fast installation
-    --enable-dlopen        enable dlopen support
-    --enable-win32-dll     enable building dlls on win32 hosts
-    --help                 display this help and exit
-    --no-verify            do not verify that HOST is a valid host type
--o, --output=FILE          specify the output file [default=$default_ofile]
-    --quiet                same as \`--silent'
-    --silent               do not print informational messages
-    --srcdir=DIR           find \`config.guess' in DIR
-    --version              output version information and exit
-    --with-gcc             assume that the GNU C compiler will be used
-    --with-gnu-ld          assume that the C compiler uses the GNU linker
-    --disable-lock         disable file locking
-    --cache-file=FILE      configure cache file
-
-LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
-that provides basic libtool functionality.
-
-HOST is the canonical host system name [default=guessed].
-EOM
-  exit 0
-  ;;
-
-  --debug)
-    echo "$progname: enabling shell trace mode"
-    set -x
-    ;;
-
-  --disable-shared) enable_shared=no ;;
-
-  --disable-static) enable_static=no ;;
-
-  --disable-fast-install) enable_fast_install=no ;;
-
-  --enable-dlopen) enable_dlopen=yes ;;
-
-  --enable-win32-dll) enable_win32_dll=yes ;;
-
-  --quiet | --silent) silent=yes ;;
-
-  --srcdir) prev=srcdir ;;
-  --srcdir=*) srcdir="$optarg" ;;
-
-  --no-verify) verify_host=no ;;
-
-  --output | -o) prev=ofile ;;
-  --output=*) ofile="$optarg" ;;
-
-  --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
-
-  --with-gcc) with_gcc=yes ;;
-  --with-gnu-ld) with_gnu_ld=yes ;;
-
-  --disable-lock) need_locks=no ;;
-
-  --cache-file=*) cache_file="$optarg" ;;
-
-  -*)
-    echo "$progname: unrecognized option \`$option'" 1>&2
-    echo "$help" 1>&2
-    exit 1
-    ;;
-
-  *)
-    if test -z "$ltmain"; then
-      ltmain="$option"
-    elif test -z "$host"; then
-# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
-#      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
-#        echo "$progname: warning \`$option' is not a valid host type" 1>&2
-#      fi
-      host="$option"
-    else
-      echo "$progname: too many arguments" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-done
-
-if test -z "$ltmain"; then
-  echo "$progname: you must specify a LTMAIN file" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-if test ! -f "$ltmain"; then
-  echo "$progname: \`$ltmain' does not exist" 1>&2
-  echo "$help" 1>&2
-  exit 1
-fi
-
-# Quote any args containing shell metacharacters.
-ltconfig_args=
-for arg
-do
-  case "$arg" in
-  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ltconfig_args="$ltconfig_args '$arg'" ;;
-  *) ltconfig_args="$ltconfig_args $arg" ;;
-  esac
-done
-
-# A relevant subset of AC_INIT.
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 compiler messages saved in config.log
-# 6 checking for... messages and results
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>>./config.log
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
-if test "X${LANG+set}"   = Xset; then LANG=C;   export LANG;   fi
-
-if test -n "$cache_file" && test -r "$cache_file"; then
-  echo "loading cache $cache_file within ltconfig"
-  . $cache_file
-fi
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='	'
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-if test -z "$srcdir"; then
-  # Assume the source directory is the same one as the path to LTMAIN.
-  srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
-  test "$srcdir" = "$ltmain" && srcdir=.
-fi
-
-trap "$rm conftest*; exit 1" 1 2 15
-if test "$verify_host" = yes; then
-  # Check for config.guess and config.sub.
-  ac_aux_dir=
-  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-    if test -f $ac_dir/config.guess; then
-      ac_aux_dir=$ac_dir
-      break
-    fi
-  done
-  if test -z "$ac_aux_dir"; then
-    echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-  ac_config_guess=$ac_aux_dir/config.guess
-  ac_config_sub=$ac_aux_dir/config.sub
-
-  # Make sure we can run config.sub.
-  if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
-  else
-    echo "$progname: cannot run $ac_config_sub" 1>&2
-    echo "$help" 1>&2
-    exit 1
-  fi
-
-  echo $ac_n "checking host system type""... $ac_c" 1>&6
-
-  host_alias=$host
-  case "$host_alias" in
-  "")
-    if host_alias=`$SHELL $ac_config_guess`; then :
-    else
-      echo "$progname: cannot guess host type; you must specify one" 1>&2
-      echo "$help" 1>&2
-      exit 1
-    fi ;;
-  esac
-  host=`$SHELL $ac_config_sub $host_alias`
-  echo "$ac_t$host" 1>&6
-
-  # Make sure the host verified.
-  test -z "$host" && exit 1
-
-elif test -z "$host"; then
-  echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
-  echo "$help" 1>&2
-  exit 1
-else
-  host_alias=$host
-fi
-
-# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
-case "$host_os" in
-linux-gnu*) ;;
-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
-esac
-
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-case "$host_os" in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR cru $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-# Set a sane default for `AR'.
-test -z "$AR" && AR=ar
-
-# Set a sane default for `OBJDUMP'.
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-# If RANLIB is not set, then run the test.
-if test "${RANLIB+set}" != "set"; then
-  result=no
-
-  echo $ac_n "checking for ranlib... $ac_c" 1>&6
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-  for dir in $PATH; do
-    test -z "$dir" && dir=.
-    if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
-      RANLIB="ranlib"
-      result="ranlib"
-      break
-    fi
-  done
-  IFS="$save_ifs"
-
-  echo "$ac_t$result" 1>&6
-fi
-
-if test -n "$RANLIB"; then
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
-fi
-
-# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$AS" && AS=as
-
-# Check to see if we are using GCC.
-if test "$with_gcc" != yes || test -z "$CC"; then
-  # If CC is not set, then try to find GCC or a usable CC.
-  if test -z "$CC"; then
-    echo $ac_n "checking for gcc... $ac_c" 1>&6
-    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
-	CC="gcc"
-	break
-      fi
-    done
-    IFS="$save_ifs"
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-  fi
-
-  # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
-  if test -z "$CC"; then
-    echo $ac_n "checking for cc... $ac_c" 1>&6
-    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    cc_rejected=no
-    for dir in $PATH; do
-      test -z "$dir" && dir=.
-      if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
-	if test "$dir/cc" = "/usr/ucb/cc"; then
-	  cc_rejected=yes
-	  continue
-	fi
-	CC="cc"
-	break
-      fi
-    done
-    IFS="$save_ifs"
-    if test $cc_rejected = yes; then
-      # We found a bogon in the path, so make sure we never use it.
-      set dummy $CC
-      shift
-      if test $# -gt 0; then
-	# We chose a different compiler from the bogus one.
-	# However, it has the same name, so the bogon will be chosen
-	# first if we set CC to just the name; use the full file name.
-	shift
-	set dummy "$dir/cc" "$@"
-	shift
-	CC="$@"
-      fi
-    fi
-
-    if test -n "$CC"; then
-      echo "$ac_t$CC" 1>&6
-    else
-      echo "$ac_t"no 1>&6
-    fi
-
-    if test -z "$CC"; then
-      echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
-      exit 1
-    fi
-  fi
-
-  # Now see if the compiler is really GCC.
-  with_gcc=no
-  echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
-  echo "$progname:581: checking whether we are using GNU C" >&5
-
-  $rm conftest.c
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-    with_gcc=yes
-  fi
-  $rm conftest.c
-  echo "$ac_t$with_gcc" 1>&6
-fi
-
-# Allow CC to be a program name with arguments.
-set dummy $CC
-compiler="$2"
-
-echo $ac_n "checking for object suffix... $ac_c" 1>&6
-$rm conftest*
-echo 'int i = 1;' > conftest.c
-echo "$progname:603: checking for object suffix" >& 5
-if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
-  # Append any warnings to the config.log.
-  cat conftest.err 1>&5
-
-  for ac_file in conftest.*; do
-    case $ac_file in
-    *.c) ;;
-    *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
-    esac
-  done
-else
-  cat conftest.err 1>&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.c >&5
-fi
-$rm conftest*
-echo "$ac_t$objext" 1>&6
-
-echo $ac_n "checking for executable suffix... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_cv_exeext="no"
-  $rm conftest*
-  echo 'main () { return 0; }' > conftest.c
-  echo "$progname:629: checking for executable suffix" >& 5
-  if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-
-    for ac_file in conftest.*; do
-      case $ac_file in
-      *.c | *.err | *.$objext ) ;;
-      *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
-      esac
-    done
-  else
-    cat conftest.err 1>&5
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest*
-fi
-if test "X$ac_cv_exeext" = Xno; then
-  exeext=""
-else
-  exeext="$ac_cv_exeext"
-fi
-echo "$ac_t$ac_cv_exeext" 1>&6
-
-echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
-pic_flag=
-special_shlib_compile_flags=
-wl=
-link_static_flag=
-no_builtin_flag=
-
-if test "$with_gcc" = yes; then
-  wl='-Wl,'
-  link_static_flag='-static'
-
-  case "$host_os" in
-  beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
-    # PIC is the default for these OSes.
-    ;;
-  aix*)
-    # Below there is a dirty hack to force normal static linking with -ldl
-    # The problem is because libdl dynamically linked with both libc and
-    # libC (AIX C++ library), which obviously doesn't included in libraries
-    # list by gcc. This cause undefined symbols with -static flags.
-    # This hack allows C programs to be linked with "-static -ldl", but
-    # we not sure about C++ programs.
-    link_static_flag="$link_static_flag ${wl}-lC"
-    ;;
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-  amigaos*)
-    # FIXME: we need at least 68020 code to build shared libraries, but
-    # adding the `-m68020' flag to GCC prevents building anything better,
-    # like `-m68040'.
-    pic_flag='-m68020 -resident32 -malways-restore-a4'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec; then
-       pic_flag=-Kconform_pic
-    fi
-    ;;
-  *)
-    pic_flag='-fPIC'
-    ;;
-  esac
-else
-  # PORTME Check for PIC flags for the system compiler.
-  case "$host_os" in
-  aix3* | aix4*)
-    # All AIX code is PIC.
-    link_static_flag='-bnso -bI:/lib/syscalls.exp'
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    # Is there a better link_static_flag that works with the bundled CC?
-    wl='-Wl,'
-    link_static_flag="${wl}-a ${wl}archive"
-    pic_flag='+Z'
-    ;;
-
-  irix5* | irix6*)
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    # PIC (with -KPIC) is the default.
-    ;;
-
-  cygwin* | mingw* | os2*)
-    # We can build DLLs from non-PIC.
-    ;;
-
-  osf3* | osf4* | osf5*)
-    # All OSF/1 code is PIC.
-    wl='-Wl,'
-    link_static_flag='-non_shared'
-    ;;
-
-  sco3.2v5*)
-    pic_flag='-Kpic'
-    link_static_flag='-dn'
-    special_shlib_compile_flags='-belf'
-    ;;
-
-  solaris*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  sunos4*)
-    pic_flag='-PIC'
-    link_static_flag='-Bstatic'
-    wl='-Qoption ld '
-    ;;
-
-  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-    pic_flag='-KPIC'
-    link_static_flag='-Bstatic'
-    wl='-Wl,'
-    ;;
-
-  uts4*)
-    pic_flag='-pic'
-    link_static_flag='-Bstatic'
-    ;;
-  sysv4*MP*)
-    if test -d /usr/nec ;then
-      pic_flag='-Kconform_pic'
-      link_static_flag='-Bstatic'
-    fi
-    ;;
-  *)
-    can_build_shared=no
-    ;;
-  esac
-fi
-
-if test -n "$pic_flag"; then
-  echo "$ac_t$pic_flag" 1>&6
-
-  # Check to make sure the pic_flag actually works.
-  echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $pic_flag -DPIC"
-  echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
-  if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
-    # Append any warnings to the config.log.
-    cat conftest.err 1>&5
-    
-    case "$host_os" in
-    hpux9* | hpux10* | hpux11*)
-      # On HP-UX, both CC and GCC only warn that PIC is supported... then they
-      # create non-PIC objects.  So, if there were any warnings, we assume that
-      # PIC is not supported.
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	can_build_shared=no
-	pic_flag=
-      else
-	echo "$ac_t"yes 1>&6
-	pic_flag=" $pic_flag"
-      fi
-      ;;
-    *)
-      echo "$ac_t"yes 1>&6
-      pic_flag=" $pic_flag"
-      ;;
-    esac
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    can_build_shared=no
-    pic_flag=
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  echo "$ac_t"none 1>&6
-fi
-
-# Check to see if options -o and -c are simultaneously supported by compiler
-echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
-$rm -r conftest 2>/dev/null
-mkdir conftest
-cd conftest
-$rm conftest*
-echo "int some_variable = 0;" > conftest.c
-mkdir out
-# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
-# that will create temporary files in the current directory regardless of
-# the output directory.  Thus, making CWD read-only will cause this test
-# to fail, enabling locking or at least warning the user not to do parallel
-# builds.
-chmod -w .
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -o out/conftest2.o"
-echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
-if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
-
-  # The compiler can only warn and ignore the option if not recognized
-  # So say no if there are warnings
-    if test -s out/conftest.err; then
-      echo "$ac_t"no 1>&6
-      compiler_c_o=no
-    else
-      echo "$ac_t"yes 1>&6
-      compiler_c_o=yes
-    fi
-else
-  # Append any errors to the config.log.
-  cat out/conftest.err 1>&5
-  compiler_c_o=no
-  echo "$ac_t"no 1>&6
-fi
-CFLAGS="$save_CFLAGS"
-chmod u+w .
-$rm conftest* out/*
-rmdir out
-cd ..
-rmdir conftest
-$rm -r conftest 2>/dev/null
-
-if test x"$compiler_c_o" = x"yes"; then
-  # Check to see if we can write to a .lo
-  echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -c -o conftest.lo"
-  echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
-if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	compiler_o_lo=no
-      else
-	echo "$ac_t"yes 1>&6
-	compiler_o_lo=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_o_lo=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-else
-  compiler_o_lo=no
-fi
-
-# Check to see if we can do hard links to lock some files if needed
-hard_links="nottested"
-if test "$compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$ac_t$hard_links" 1>&6
-  $rm conftest*
-  if test "$hard_links" = no; then
-    echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-if test "$with_gcc" = yes; then
-  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
-  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
-  $rm conftest*
-  echo "int some_variable = 0;" > conftest.c
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
-  echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-  if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
-
-    # The compiler can only warn and ignore the option if not recognized
-    # So say no if there are warnings
-      if test -s conftest.err; then
-	echo "$ac_t"no 1>&6
-	compiler_rtti_exceptions=no
-      else
-	echo "$ac_t"yes 1>&6
-	compiler_rtti_exceptions=yes
-      fi
-  else
-    # Append any errors to the config.log.
-    cat conftest.err 1>&5
-    compiler_rtti_exceptions=no
-    echo "$ac_t"no 1>&6
-  fi
-  CFLAGS="$save_CFLAGS"
-  $rm conftest*
-
-  if test "$compiler_rtti_exceptions" = "yes"; then
-    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
-  else
-    no_builtin_flag=' -fno-builtin'
-  fi
-  
-fi
-
-# Check for any special shared library compilation flags.
-if test -n "$special_shlib_compile_flags"; then
-  echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
-  if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$special_shlib_compile_flags[ 	]" >/dev/null; then :
-  else
-    echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
-    can_build_shared=no
-  fi
-fi
-
-echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
-$rm conftest*
-echo 'main(){return(0);}' > conftest.c
-save_LDFLAGS="$LDFLAGS"
-LDFLAGS="$LDFLAGS $link_static_flag"
-echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
-if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  echo "$ac_t$link_static_flag" 1>&6
-else
-  echo "$ac_t"none 1>&6
-  link_static_flag=
-fi
-LDFLAGS="$save_LDFLAGS"
-$rm conftest*
-
-if test -z "$LN_S"; then
-  # Check to see if we can use ln -s, or we need hard links.
-  echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
-  $rm conftest.dat
-  if ln -s X conftest.dat 2>/dev/null; then
-    $rm conftest.dat
-    LN_S="ln -s"
-  else
-    LN_S=ln
-  fi
-  if test "$LN_S" = "ln -s"; then
-    echo "$ac_t"yes 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-fi
-
-# Make sure LD is an absolute path.
-if test -z "$LD"; then
-  ac_prog=ld
-  if test "$with_gcc" = yes; then
-    # Check if gcc -print-prog-name=ld gives a path.
-    echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
-    echo "$progname:991: checking for ld used by GCC" >&5
-    ac_prog=`($CC -print-prog-name=ld) 2>&5`
-    case "$ac_prog" in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-    "")
-      # If it fails, then pretend we are not using GCC.
-      ac_prog=ld
-      ;;
-    *)
-      # If it is relative, then search for the first ld in PATH.
-      with_gnu_ld=unknown
-      ;;
-    esac
-  elif test "$with_gnu_ld" = yes; then
-    echo $ac_n "checking for GNU ld... $ac_c" 1>&6
-    echo "$progname:1015: checking for GNU ld" >&5
-  else
-    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-    echo "$progname:1018: checking for non-GNU ld" >&5
-  fi
-
-  if test -z "$LD"; then
-    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-	LD="$ac_dir/$ac_prog"
-	# Check to see if the program is GNU ld.  I'd rather use --version,
-	# but apparently some GNU ld's only accept -v.
-	# Break only if it was the GNU/non-GNU ld that we prefer.
-	if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-	  test "$with_gnu_ld" != no && break
-	else
-	  test "$with_gnu_ld" != yes && break
-	fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-  fi
-
-  if test -n "$LD"; then
-    echo "$ac_t$LD" 1>&6
-  else
-    echo "$ac_t"no 1>&6
-  fi
-
-  if test -z "$LD"; then
-    echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
-    exit 1
-  fi
-fi
-
-# Check to see if it really is or is not GNU ld.
-echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
-# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-  with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-echo "$ac_t$with_gnu_ld" 1>&6
-
-# See if the linker supports building shared libraries.
-echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
-
-allow_undefined_flag=
-no_undefined_flag=
-need_lib_prefix=unknown
-need_version=unknown
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-archive_cmds=
-archive_expsym_cmds=
-old_archive_from_new_cmds=
-export_dynamic_flag_spec=
-whole_archive_flag_spec=
-thread_safe_flag_spec=
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-hardcode_shlibpath_var=unsupported
-runpath_var=
-always_export_symbols=no
-export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
-# include_expsyms should be a list of space-separated symbols to be *always*
-# included in the symbol list
-include_expsyms=
-# exclude_expsyms can be an egrep regular expression of symbols to exclude
-# it will be wrapped by ` (' and `)$', so one must not match beginning or
-# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-# as well as any symbol that contains `d'.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-# platforms (ab)use it in PIC code, but their linkers get confused if
-# the symbol is explicitly referenced.  Since portable code cannot
-# rely on this symbol name, it's probably fine to never include it in
-# preloaded symbol tables.
-
-case "$host_os" in
-cygwin* | mingw*)
-  # FIXME: the MSVC++ port hasn't been tested in a loooong time
-  # When not using gcc, we currently assume that we are using
-  # Microsoft Visual C++.
-  if test "$with_gcc" != yes; then
-    with_gnu_ld=no
-  fi
-  ;;
-
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # If archive_cmds runs LD, not CC, wlarc should be empty
-  wlarc='${wl}'
-
-  # See if GNU ld supports shared libraries.
-  case "$host_os" in
-  aix3* | aix4*)
-    # On AIX, the GNU linker is very broken
-    ld_shlibs=no
-    cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-    ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-
-    # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-    # that the semantics of dynamic libraries on AmigaOS, at least up
-    # to version 4, is to share data among multiple programs linked
-    # with the same dynamic library.  Since this doesn't match the
-    # behavior of shared libraries on other platforms, we can use
-    # them.
-    ld_shlibs=no
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      allow_undefined_flag=unsupported
-      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-
-  cygwin* | mingw*)
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec='-L$libdir'
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-
-    # Extract the symbol export list from an `--export-all' def file,
-    # then regenerate the def file from the symbol export list, so that
-    # the compiled dll only exports the symbol export list.
-    # Be careful not to strip the DATA tag left by newer dlltools.
-    export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $DLLTOOL --export-all --exclude-symbols DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs $convenience~
-      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $objdir/$soname-def > $export_symbols'
-
-    # If DATA tags from a recent dlltool are present, honour them!
-    archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
-      _lt_hint=1;
-      cat $export_symbols | while read symbol; do
-        set dummy \$symbol;
-        case \$# in
-          2) echo "	\$2 @ \$_lt_hint ; " >> $objdir/$soname-def;;
-          *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $objdir/$soname-def;;
-        esac;
-	_lt_hint=`expr 1 + \$_lt_hint`;
-      done~
-      test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
-      test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
-      $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry at 12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry at 12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
-      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
-      $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry at 12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
-
-      old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' 
-    ;;
-
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
-      # can we support soname and/or expsyms with a.out? -oliva
-    fi
-    ;;
-
-  solaris* | sysv5*)
-    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
-      ld_shlibs=no
-      cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;      
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    wlarc=
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-    else
-      ld_shlibs=no
-    fi
-    ;;
-  esac
-
-  if test "$ld_shlibs" = yes; then
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    case $host_os in
-    cygwin* | mingw*)
-      # dlltool doesn't understand --whole-archive et. al.
-      whole_archive_flag_spec=
-      ;;
-    *)
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
-        whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-        whole_archive_flag_spec=
-      fi
-      ;;
-    esac
-  fi
-else
-  # PORTME fill in a description of your system's linker (not GNU ld)
-  case "$host_os" in
-  aix3*)
-    allow_undefined_flag=unsupported
-    always_export_symbols=yes
-    archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
-    # Note: this linker hardcodes the directories in LIBPATH if there
-    # are no directories specified by -L.
-    hardcode_minus_L=yes
-    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
-      # Neither direct hardcoding nor static linking is supported with a
-      # broken collect2.
-      hardcode_direct=unsupported
-    fi
-    ;;
-
-  aix4*)
-    hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
-    hardcode_libdir_separator=':'
-    if test "$with_gcc" = yes; then
-      collect2name=`${CC} -print-prog-name=collect2`
-      if test -f "$collect2name" && \
-	 strings "$collect2name" | grep resolve_lib_name >/dev/null
-      then
-	# We have reworked collect2
-	hardcode_direct=yes
-      else
-	# We have old collect2
-	hardcode_direct=unsupported
-	# It fails to find uninstalled libraries when the uninstalled
-	# path is not listed in the libpath.  Setting hardcode_minus_L
-	# to unsupported forces relinking
-	hardcode_minus_L=yes
-	hardcode_libdir_flag_spec='-L$libdir'
-	hardcode_libdir_separator=
-      fi
-      shared_flag='-shared'
-    else
-      shared_flag='${wl}-bM:SRE'
-      hardcode_direct=yes
-    fi
-    allow_undefined_flag=' ${wl}-berok'
-    archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
-    archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
-    case "$host_os" in aix4.[01]|aix4.[01].*)
-      # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
-      always_export_symbols=yes ;;
-    esac
-   ;;
-
-  amigaos*)
-    archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    # see comment about different semantics on the GNU ld section
-    ld_shlibs=no
-    ;;
-
-  cygwin* | mingw*)
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    # hardcode_libdir_flag_spec is actually meaningless, as there is
-    # no search path for DLLs.
-    hardcode_libdir_flag_spec=' '
-    allow_undefined_flag=unsupported
-    # Tell ltmain to make .lib files, not .a files.
-    libext=lib
-    # FIXME: Setting linknames here is a bad hack.
-    archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-    # The linker will automatically build a .lib file if we build a DLL.
-    old_archive_from_new_cmds='true'
-    # FIXME: Should let the user specify the lib program.
-    old_archive_cmds='lib /OUT:$oldlib$oldobjs'
-    fix_srcfile_path='`cygpath -w $srcfile`'
-    ;;
-
-  freebsd1*)
-    ld_shlibs=no
-    ;;
-
-  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-  # support.  Future versions do this automatically, but an explicit c++rt0.o
-  # does not break anything, and helps significantly (at the cost of a little
-  # extra space).
-  freebsd2.2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-  freebsd2*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
-    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  hpux9* | hpux10* | hpux11*)
-    case "$host_os" in
-    hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
-    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;;
-    esac
-    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-    hardcode_libdir_separator=:
-    hardcode_direct=yes
-    hardcode_minus_L=yes # Not in the search PATH, but as the default
-			 # location of the library.
-    export_dynamic_flag_spec='${wl}-E'
-    ;;
-
-  irix5* | irix6*)
-    if test "$with_gcc" = yes; then
-      archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  netbsd*)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'  # a.out
-    else
-      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts'      # ELF
-    fi
-    hardcode_libdir_flag_spec='${wl}-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  os2*)
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_minus_L=yes
-    allow_undefined_flag=unsupported
-    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
-    old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
-    ;;
-
-  osf3*)
-    if test "$with_gcc" = yes; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      allow_undefined_flag=' -expect_unresolved \*'
-      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-
-  osf4* | osf5*)  # As osf3* with the addition of the -msym flag
-    if test "$with_gcc" = yes; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-    else
-      allow_undefined_flag=' -expect_unresolved \*'
-      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
-    fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator=:
-    ;;
-  rhapsody*)
-    archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flags_spec='-L$libdir'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    ;;
-                                       
-  sco3.2v5*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    runpath_var=LD_RUN_PATH
-    hardcode_runpath_var=yes
-    ;;
-
-  solaris*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec='-R$libdir'
-    hardcode_shlibpath_var=no
-    case "$host_os" in
-    solaris2.[0-5] | solaris2.[0-5].*) ;;
-    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
-    esac
-    ;;
-
-  sunos4*)
-    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_direct=yes
-    hardcode_minus_L=yes
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4)
-    if test "x$host_vendor" = xsequent; then
-      # Use $CC to link under sequent, because it throws in some extra .o 
-      # files that make .init and .fini sections work.
-      archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $linkopts'
-    else
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    fi
-    runpath_var='LD_RUN_PATH'
-    hardcode_shlibpath_var=no
-    hardcode_direct=no #Motorola manual says yes, but my tests say they lie 
-    ;;  
-
-  sysv4.3*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_shlibpath_var=no
-    export_dynamic_flag_spec='-Bexport'
-    ;;
-
-  sysv5*)
-    no_undefined_flag=' -z text'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
-    hardcode_libdir_flag_spec=
-    hardcode_shlibpath_var=no
-    runpath_var='LD_RUN_PATH'
-    ;;
-
-  uts4*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  dgux*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    hardcode_libdir_flag_spec='-L$libdir'
-    hardcode_shlibpath_var=no
-    ;;
-
-  sysv4*MP*)
-    if test -d /usr/nec; then
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-      hardcode_shlibpath_var=no
-      runpath_var=LD_RUN_PATH
-      hardcode_runpath_var=yes
-      ld_shlibs=yes
-    fi
-    ;;
-
-  sysv4.2uw2*)
-    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts'
-    hardcode_direct=yes
-    hardcode_minus_L=no
-    hardcode_shlibpath_var=no
-    hardcode_runpath_var=yes
-    runpath_var=LD_RUN_PATH
-    ;;
-
-  unixware7*)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
-    runpath_var='LD_RUN_PATH'
-    hardcode_shlibpath_var=no
-    ;;
-
-  *)
-    ld_shlibs=no
-    ;;
-  esac
-fi
-echo "$ac_t$ld_shlibs" 1>&6
-test "$ld_shlibs" = no && can_build_shared=no
-
-if test -z "$NM"; then
-  echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
-  case "$NM" in
-  [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path.
-  *)
-    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
-    for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	  NM="$ac_dir/nm -B"
-	  break
-	elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
-	  NM="$ac_dir/nm -p"
-	  break
-	else
-	  NM=${NM="$ac_dir/nm"} # keep the first match, but
-	  continue # so that we can try to find one that supports BSD flags
-	fi
-      fi
-    done
-    IFS="$ac_save_ifs"
-    test -z "$NM" && NM=nm
-    ;;
-  esac
-  echo "$ac_t$NM" 1>&6
-fi
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform the above into a raw symbol and a C symbol.
-symxfrm='\1 \2\3 \3'
-
-# Transform an extracted symbol line into a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
-
-# Define system-specific variables.
-case "$host_os" in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
-  ;;
-irix*)
-  symcode='[BCDEGRST]'
-  ;;
-solaris*)
-  symcode='[BDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
-  symcode='[ABCDGISTW]'
-fi
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Write the raw and C identifiers.
-  global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode\)[ 	][ 	]*\($ac_symprfx\)$sympat$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-  $rm conftest*
-  cat > conftest.c <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  echo "$progname:1653: checking if global_symbol_pipe works" >&5
-  if { (eval echo $progname:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { echo "$progname:1657: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
-
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
-	if egrep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.c
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-	  # Now generate the symbol file.
-	  eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
-
-	  cat <<EOF >> conftest.c
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
-	  sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
-	  cat <<\EOF >> conftest.c
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$objext conftstm.$objext
-	  save_LIBS="$LIBS"
-	  save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$objext"
-	  CFLAGS="$CFLAGS$no_builtin_flag"
-	  if { (eval echo $progname:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-	    pipe_works=yes
-	  else
-	    echo "$progname: failed program was:" >&5
-	    cat conftest.c >&5
-	  fi
-	  LIBS="$save_LIBS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  $rm conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    global_symbol_pipe=
-  fi
-done
-if test "$pipe_works" = yes; then
-  echo "${ac_t}ok" 1>&6
-else
-  echo "${ac_t}failed" 1>&6
-fi
-
-if test -z "$global_symbol_pipe"; then
-  global_symbol_to_cdecl=
-fi
-
-# Check hardcoding attributes.
-echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var"; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$hardcode_shlibpath_var" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-echo "$ac_t$hardcode_action" 1>&6
-
-
-reload_flag=
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
-# PORTME Some linkers may need a different reload flag.
-reload_flag='-r'
-echo "$ac_t$reload_flag" 1>&6
-test -n "$reload_flag" && reload_flag=" $reload_flag"
-
-# PORTME Fill in your ld.so characteristics
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-file_magic_cmd=
-file_magic_test_file=
-deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [regex]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given egrep regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
-case "$host_os" in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}.so$major'
-  ;;
-
-aix4*)
-  version_type=linux
-  # AIX has no versioning support, so currently we can not hardcode correct
-  # soname into executable. Probably we can add versioning support to
-  # collect2, so additional links can be useful in future.
-  # We preserve .a as extension for shared libraries though AIX4.2
-  # and later linker supports .so
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
-  shlibpath_var=LIBPATH
-  deplibs_check_method=pass_all
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}.so'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  deplibs_check_method=pass_all
-  lt_cv_dlopen="load_add_on"
-  lt_cv_dlopen_libs=
-  lt_cv_dlopen_self=yes
-  ;;
-
-bsdi4*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  export_dynamic_flag_spec=-rdynamic
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw*)
-  version_type=windows
-  need_version=no
-  need_lib_prefix=no
-  if test "$with_gcc" = yes; then
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
-  else
-    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
-  fi
-  dynamic_linker='Win32 ld.exe'
-  deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  file_magic_cmd='${OBJDUMP} -f'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  lt_cv_dlopen="LoadLibrary"
-  lt_cv_dlopen_libs=
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-  
-freebsd*)
-  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
-  version_type=freebsd-$objformat
-  case "$version_type" in
-    freebsd-elf*)
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      deplibs_check_method=unknown
-      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_os" in
-  freebsd2* | freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  *) # from 3.2 on
-    shlibpath_overrides_runpath=no
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  dynamic_linker="$host_os dld.sl"
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  shlibpath_var=SHLIB_PATH
-  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
-  soname_spec='${libname}${release}.sl$major'
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  case "$host_os" in
-  hpux10.20*)
-    # TODO:  Does this work for hpux-11 too?
-    deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    file_magic_cmd=/usr/bin/file
-    file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-irix5* | irix6*)
-  version_type=irix
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}.so.$major'
-  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
-  case "$host_os" in
-  irix5*)
-    libsuff= shlibsuff=
-    # this will be overridden with pass_all, but let us keep it just in case
-    deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
-    ;;
-  *)
-    case "$LD" in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=`echo /lib${libsuff}/libc.so*`
-  deplibs_check_method='pass_all'
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  deplibs_check_method=pass_all
-
-  if test -f /lib/ld.so.1; then
-    dynamic_linker='GNU ld.so'
-  else
-    # Only the GNU ld.so supports shared libraries on MkLinux.
-    case "$host_cpu" in
-    powerpc*) dynamic_linker=no ;;
-    *) dynamic_linker='Linux ld.so' ;;
-    esac
-  fi
-  ;;
-
-netbsd*)
-  version_type=sunos
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
-    soname_spec='${libname}${release}.so$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-openbsd*)
-  version_type=sunos
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-    need_version=no
-  fi
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-os2*)
-  libname_spec='$name'
-  need_lib_prefix=no
-  library_names_spec='$libname.dll $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_version=no
-  soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  # this will be overridden with pass_all, but let us keep it just in case
-  deplibs_check_method='file_magic COFF format alpha shared library'
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/shlib/libc.so
-  deplibs_check_method='pass_all'
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rhapsody*)
-  version_type=sunos
-  library_names_spec='${libname}.so'
-  soname_spec='${libname}.so'
-  shlibpath_var=DYLD_LIBRARY_PATH
-  deplibs_check_method=pass_all
-  ;;
-
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}.so$major'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
-  file_magic_cmd=/usr/bin/file
-  file_magic_test_file=/lib/libc.so
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case "$host_vendor" in
-    sequent)
-      file_magic_cmd='/bin/file'
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-      ;;
-    ncr)
-      deplibs_check_method='pass_all'
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-      file_magic_cmd=/usr/bin/file
-      file_magic_test_file=`echo /usr/lib/libc.so*`
-      ;;
-  esac
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-  soname_spec='${libname}${release}.so$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
-    soname_spec='$libname.so.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-echo "$ac_t$dynamic_linker" 1>&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-# Report the final consequences.
-echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
-
-# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
-# configure.in, otherwise build static only libraries.
-case "$host_os" in
-cygwin* | mingw* | os2*)
-  if test x$can_build_shared = xyes; then
-    test x$enable_win32_dll = xno && can_build_shared=no
-    echo "checking if package supports dlls... $can_build_shared" 1>&6
-  fi
-;;
-esac
-
-if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
-  case "$deplibs_check_method" in
-  "file_magic "*)
-    file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
-    if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-       egrep "$file_magic_regex" > /dev/null; then
-      :
-    else
-      cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-EOF
-    fi ;;
-  esac
-fi
-
-echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case "$host_os" in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix4*)
-  test "$enable_shared" = yes && enable_static=no
-  ;;
-esac
-
-echo "$ac_t$enable_shared" 1>&6
-
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-
-echo "checking whether to build static libraries... $enable_static" 1>&6
-
-if test "$hardcode_action" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-echo $ac_n "checking for objdir... $ac_c" 1>&6
-rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-echo "$ac_t$objdir" 1>&6
-
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
-  lt_cv_dlopen=no lt_cv_dlopen_libs=
-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "$progname:2248: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2256 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "$progname:2288: checking for dlopen" >&5
-if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2293 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-dlopen();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "$progname:2335: checking for dld_link in -ldld" >&5
-ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2343 "ltconfig"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link();
-
-int main() {
-dld_link()
-; return 0; }
-EOF
-if { (eval echo $progname:2356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "$progname:2375: checking for shl_load" >&5
-if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2380 "ltconfig"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-shl_load();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo $progname:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "$progname:2423: checking for shl_load in -ldld" >&5
-ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2431 "ltconfig"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load();
-
-int main() {
-shl_load()
-; return 0; }
-EOF
-if { (eval echo $progname:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-fi
-
-    
-fi
-
-  
-fi
-
-
-fi
-
-fi
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  fi
-
-  case "$lt_cv_dlopen" in
-  dlopen)
-for ac_hdr in dlfcn.h; do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "$progname:2488: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2493 "ltconfig"
-#include <$ac_hdr>
-int fnord = 0;
-EOF
-ac_try="$ac_compile >/dev/null 2>conftest.out"
-{ (eval echo $progname:2498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-    if test "x$ac_cv_header_dlfcn_h" = xyes; then
-      CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-    fi
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-  echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2526: checking whether a program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self=cross
-  else
-    cat > conftest.c <<EOF
-#line 2534 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL	RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL	DL_GLOBAL
-# else
-#  define LTDL_GLOBAL	0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW	DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW	RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW	DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW	0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-	       if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self" 1>&6
-
-  if test "$lt_cv_dlopen_self" = yes; then
-    LDFLAGS="$LDFLAGS $link_static_flag"
-  echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:2599: checking whether a statically linked program can dlopen itself" >&5
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-    lt_cv_dlopen_self_static=cross
-  else
-    cat > conftest.c <<EOF
-#line 2607 "ltconfig"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LTDL_GLOBAL	RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-#  define LTDL_GLOBAL	DL_GLOBAL
-# else
-#  define LTDL_GLOBAL	0
-# endif
-#endif
-
-/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LTDL_LAZY_OR_NOW
-# ifdef RTLD_LAZY
-#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
-# else
-#  ifdef DL_LAZY
-#   define LTDL_LAZY_OR_NOW	DL_LAZY
-#  else
-#   ifdef RTLD_NOW
-#    define LTDL_LAZY_OR_NOW	RTLD_NOW
-#   else
-#    ifdef DL_NOW
-#     define LTDL_LAZY_OR_NOW	DL_NOW
-#    else
-#     define LTDL_LAZY_OR_NOW	0
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-fnord() { int i=42;}
-main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
-    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
-    if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } 
-
-EOF
-if { (eval echo $progname:2653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
-  lt_cv_dlopen_self_static=yes
-else
-  echo "$progname: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  lt_cv_dlopen_self_static=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
-fi
-    ;;
-  esac
-
-  case "$lt_cv_dlopen_self" in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case "$lt_cv_dlopen_self_static" in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-# Copy echo and quote the copy, instead of the original, because it is
-# used later.
-ltecho="$echo"
-if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   ltecho="$CONFIG_SHELL \$0 --fallback-echo"
-fi
-LTSHELL="$SHELL"
-
-LTCONFIG_VERSION="$VERSION"
-
-# Only quote variables if we're using ltmain.sh.
-case "$ltmain" in
-*.sh)
-  # Now quote all the things that may contain metacharacters.
-  for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \
-    AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
-    reload_flag reload_cmds wl \
-    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
-    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
-    library_names_spec soname_spec \
-    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
-    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \
-    file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \
-    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
-    hardcode_libdir_flag_spec hardcode_libdir_separator  \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
-
-    case "$var" in
-    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case "$ltecho" in
-  *'\$0 --fallback-echo"')
-    ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-  trap "$rm \"$ofile\"; exit 1" 1 2 15
-  echo "creating $ofile"
-  $rm "$ofile"
-  cat <<EOF > "$ofile"
-#! $SHELL
-
-# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
-#
-# Copyright (C) 1996-1999 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="sed -e s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
-
-### BEGIN LIBTOOL CONFIG
-EOF
-  cfgfile="$ofile"
-  ;;
-
-*)
-  # Double-quote the variables that need it (for aesthetics).
-  for var in old_CC old_CFLAGS old_CPPFLAGS \
-    old_LD old_LDFLAGS old_LIBS \
-    old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do
-    eval "$var=\\\"\$var\\\""
-  done
-
-  # Just create a config file.
-  cfgfile="$ofile.cfg"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  echo "creating $cfgfile"
-  $rm "$cfgfile"
-  cat <<EOF > "$cfgfile"
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-EOF
-  ;;
-esac
-
-cat <<EOF >> "$cfgfile"
-# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
-# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
-# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\
-# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\
-#   $0$ltconfig_args
-#
-# Compiler and other test output produced by $progname, useful for
-# debugging $progname, is in ./config.log if it exists.
-
-# The version of $progname that generated this script.
-LTCONFIG_VERSION=$LTCONFIG_VERSION
-
-# Shell to use when invoking shell scripts.
-SHELL=$LTSHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-
-# An echo program that does not interpret backslashes.
-echo=$ltecho
-
-# The archiver.
-AR=$AR
-
-# The default C compiler.
-CC=$CC
-
-# The linker used to build libraries.
-LD=$LD
-
-# Whether we need hard or soft links.
-LN_S=$LN_S
-
-# A BSD-compatible nm program.
-NM=$NM
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$reload_flag
-reload_cmds=$reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$wl
-
-# Object file suffix (normally "o").
-objext="$objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$pic_flag
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$compiler_c_o
-
-# Can we write directly to a .lo ?
-compiler_o_lo=$compiler_o_lo
-
-# Must we lock files when doing compilation ?
-need_locks=$need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$link_static_flag
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$RANLIB
-old_archive_cmds=$old_archive_cmds
-old_postinstall_cmds=$old_postinstall_cmds
-old_postuninstall_cmds=$old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$old_archive_from_new_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$archive_cmds
-archive_expsym_cmds=$archive_expsym_cmds
-postinstall_cmds=$postinstall_cmds
-postuninstall_cmds=$postuninstall_cmds
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$global_symbol_to_cdecl
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$include_expsyms
-
-EOF
-
-case "$ltmain" in
-*.sh)
-  echo '### END LIBTOOL CONFIG' >> "$ofile"
-  echo >> "$ofile"
-  case "$host_os" in
-  aix3*)
-    cat <<\EOF >> "$ofile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # Append the ltmain.sh script.
-  sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-
-  chmod +x "$ofile"
-  ;;
-
-*)
-  # Compile the libtool program.
-  echo "FIXME: would compile $ltmain"
-  ;;
-esac
-
-test -n "$cache_file" || exit 0
-
-# AC_CACHE_SAVE
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-exit 0
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:

Modified: packages/libxml2/trunk/nanohttp.c
===================================================================
--- packages/libxml2/trunk/nanohttp.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/nanohttp.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -158,7 +158,7 @@
 static int proxyPort;	/* the proxy port if any */
 static unsigned int timeout = 60;/* the select() timeout in seconds */
 
-int xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len );
+static int xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len );
 int xmlNanoHTTPContentLength( void * ctx );
 
 /**
@@ -1710,7 +1710,7 @@
  * -1 if received content length was less than specified or an error 
  * occurred.
  */
-int
+static int
 xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len ) {
     xmlNanoHTTPCtxtPtr	ctxt = (xmlNanoHTTPCtxtPtr)ctx;
 

Modified: packages/libxml2/trunk/parser.c
===================================================================
--- packages/libxml2/trunk/parser.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/parser.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -1039,6 +1039,8 @@
     ctxt->nodeTab[ctxt->nodeNr] = 0;
     return (ret);
 }
+
+#ifdef LIBXML_PUSH_ENABLED
 /**
  * nameNsPush:
  * @ctxt:  an XML parser context
@@ -1109,6 +1111,7 @@
     ctxt->nameTab[ctxt->nameNr] = NULL;
     return (ret);
 }
+#endif /* LIBXML_PUSH_ENABLED */
 
 /**
  * namePush:
@@ -1456,6 +1459,7 @@
 xmlParseCharRef(xmlParserCtxtPtr ctxt) {
     unsigned int val = 0;
     int count = 0;
+    unsigned int outofrange = 0;
 
     /*
      * Using RAW/CUR/NEXT is okay since we are working on ASCII range here
@@ -1480,6 +1484,9 @@
 		val = 0;
 		break;
 	    }
+	    if (val > 0x10FFFF)
+	        outofrange = val;
+
 	    NEXT;
 	    count++;
 	}
@@ -1504,6 +1511,9 @@
 		val = 0;
 		break;
 	    }
+	    if (val > 0x10FFFF)
+	        outofrange = val;
+
 	    NEXT;
 	    count++;
 	}
@@ -1522,7 +1532,7 @@
      * Characters referred to using character references must match the
      * production for Char. 
      */
-    if (IS_CHAR(val)) {
+    if ((IS_CHAR(val) && (outofrange == 0))) {
         return(val);
     } else {
         xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
@@ -1554,7 +1564,8 @@
 xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
     const xmlChar *ptr;
     xmlChar cur;
-    int val = 0;
+    unsigned int val = 0;
+    unsigned int outofrange = 0;
 
     if ((str == NULL) || (*str == NULL)) return(0);
     ptr = *str;
@@ -1574,6 +1585,9 @@
 		val = 0;
 		break;
 	    }
+	    if (val > 0x10FFFF)
+	        outofrange = val;
+
 	    ptr++;
 	    cur = *ptr;
 	}
@@ -1590,6 +1604,9 @@
 		val = 0;
 		break;
 	    }
+	    if (val > 0x10FFFF)
+	        outofrange = val;
+
 	    ptr++;
 	    cur = *ptr;
 	}
@@ -1606,7 +1623,7 @@
      * Characters referred to using character references must match the
      * production for Char. 
      */
-    if (IS_CHAR(val)) {
+    if ((IS_CHAR(val) && (outofrange == 0))) {
         return(val);
     } else {
         xmlFatalErrMsgInt(ctxt, XML_ERR_INVALID_CHAR,
@@ -5500,8 +5517,9 @@
 				 * Prune it directly in the generated document
 				 * except for single text nodes.
 				 */
-				if ((list->type == XML_TEXT_NODE) &&
-				    (list->next == NULL)) {
+				if (((list->type == XML_TEXT_NODE) &&
+				     (list->next == NULL)) ||
+				    (ctxt->parseMode == XML_PARSE_READER)) {
 				    list->parent = (xmlNodePtr) ent;
 				    list = NULL;
 				    ent->owner = 1;
@@ -5554,10 +5572,21 @@
 		    /*
 		     * Seems we are generating the DOM content, do
 		     * a simple tree copy for all references except the first
-		     * In the first occurrence list contains the replacement
+		     * In the first occurrence list contains the replacement.
+		     * progressive == 2 means we are operating on the Reader
+		     * and since nodes are discarded we must copy all the time.
 		     */
-		    if ((list == NULL) && (ent->owner == 0)) {
+		    if (((list == NULL) && (ent->owner == 0)) ||
+		        (ctxt->parseMode == XML_PARSE_READER)) {
 			xmlNodePtr nw = NULL, cur, firstChild = NULL;
+
+			/*
+			 * when operating on a reader, the entities definitions
+			 * are always owning the entities subtree.
+			if (ctxt->parseMode == XML_PARSE_READER)
+			    ent->owner = 1;
+			 */
+
 			cur = ent->children;
 			while (cur != NULL) {
 			    nw = xmlCopyNode(cur, 1);
@@ -5566,10 +5595,20 @@
 				if (firstChild == NULL){
 				    firstChild = nw;
 				}
-				xmlAddChild(ctxt->node, nw);
+				nw = xmlAddChild(ctxt->node, nw);
 			    }
-			    if (cur == ent->last)
+			    if (cur == ent->last) {
+			        /*
+				 * needed to detect some strange empty
+				 * node cases in the reader tests
+				 */
+			        if ((ctxt->parseMode == XML_PARSE_READER) &&
+				    (nw->type == XML_ELEMENT_NODE) &&
+				    (nw->children == NULL))
+				    nw->extra = 1;
+
 				break;
+			    }
 			    cur = cur->next;
 			}
 #ifdef LIBXML_LEGACY_ENABLED
@@ -8776,32 +8815,40 @@
 		    "Internal error: xmlParseGetLasts\n");
 	return;
     }
-    if ((ctxt->progressive == 1) && (ctxt->inputNr == 1)) {
+    if ((ctxt->progressive != 0) && (ctxt->inputNr == 1)) {
         tmp = ctxt->input->end;
 	tmp--;
-	while ((tmp >= ctxt->input->base) && (*tmp != '<') &&
-	       (*tmp != '>')) tmp--;
+	while ((tmp >= ctxt->input->base) && (*tmp != '<')) tmp--;
 	if (tmp < ctxt->input->base) {
 	    *lastlt = NULL;
 	    *lastgt = NULL;
-	} else if (*tmp == '<') {
+	} else {
 	    *lastlt = tmp;
-	    tmp--;
-	    while ((tmp >= ctxt->input->base) && (*tmp != '>')) tmp--;
-	    if (tmp < ctxt->input->base)
-	        *lastgt = NULL;
-	    else
+	    tmp++;
+	    while ((tmp < ctxt->input->end) && (*tmp != '>')) {
+	        if (*tmp == '\'') {
+		    tmp++;
+		    while ((tmp < ctxt->input->end) && (*tmp != '\'')) tmp++;
+		    if (tmp < ctxt->input->end) tmp++;
+		} else if (*tmp == '"') {
+		    tmp++;
+		    while ((tmp < ctxt->input->end) && (*tmp != '"')) tmp++;
+		    if (tmp < ctxt->input->end) tmp++;
+		} else
+		    tmp++;
+	    }
+	    if (tmp < ctxt->input->end)
 	        *lastgt = tmp;
-	} else {
-	    *lastgt = tmp;
-	    tmp--;
-	    while ((tmp >= ctxt->input->base) && (*tmp != '<')) tmp--;
-	    if (tmp < ctxt->input->base)
-	        *lastlt = NULL;
-	    else
-	        *lastlt = tmp;
+	    else {
+	        tmp = *lastlt;
+		tmp--;
+		while ((tmp >= ctxt->input->base) && (*tmp != '>')) tmp--;
+		if (tmp >= ctxt->input->base)
+		    *lastgt = tmp;
+		else
+		    *lastgt = NULL;
+	    }
 	}
-        
     } else {
         *lastlt = NULL;
 	*lastgt = NULL;
@@ -9057,7 +9104,7 @@
 		if (!terminate) {
 		    if (ctxt->progressive) {
 		        /* > can be found unescaped in attribute values */
-		        if ((lastlt == NULL) || (ctxt->input->cur >= lastlt))
+		        if ((lastgt == NULL) || (ctxt->input->cur >= lastgt))
 			    goto done;
 		    } else if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0) {
 			goto done;
@@ -9235,7 +9282,8 @@
 		    goto done;
 		if (!terminate) {
 		    if (ctxt->progressive) {
-		        if ((lastgt == NULL) || (ctxt->input->cur > lastgt))
+		        /* > can be found unescaped in attribute values */
+		        if ((lastgt == NULL) || (ctxt->input->cur >= lastgt))
 			    goto done;
 		    } else if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0) {
 			goto done;
@@ -9423,7 +9471,8 @@
 		    goto done;
 		} else {
 		    ctxt->instate = XML_PARSER_START_TAG;
-		    ctxt->progressive = 1;
+		    if (ctxt->progressive == 0)
+			ctxt->progressive = 1;
 		    xmlParseGetLasts(ctxt, &lastlt, &lastgt);
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,

Modified: packages/libxml2/trunk/python/generator.py
===================================================================
--- packages/libxml2/trunk/python/generator.py	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/generator.py	2004-07-06 13:30:31 UTC (rev 189)
@@ -302,6 +302,8 @@
         return 1
     if name == "xmlFreeParserCtxt":
         return 1
+    if name == "xmlCleanupParser":
+        return 1
     if name == "xmlFreeTextReader":
         return 1
 #    if name[0:11] == "xmlXPathNew":
@@ -1037,17 +1039,25 @@
 		        classes.write("        self.%s = None\n" % ref[1])
 		classes.write("        if _obj != None:self._o = _obj;return\n")
 		classes.write("        self._o = None\n\n");
+	    destruct=None
 	    if classes_destructors.has_key(classname):
 		classes.write("    def __del__(self):\n")
 		classes.write("        if self._o != None:\n")
 		classes.write("            libxml2mod.%s(self._o)\n" %
 			      classes_destructors[classname]);
 		classes.write("        self._o = None\n\n");
+		destruct=classes_destructors[classname]
 	    flist = function_classes[classname]
 	    flist.sort(functionCompare)
 	    oldfile = ""
 	    for info in flist:
 		(index, func, name, ret, args, file) = info
+		#
+		# Do not provide as method the destructors for the class
+		# to avoid double free
+		#
+		if name == destruct:
+		    continue;
 		if file != oldfile:
 		    if file == "python_accessor":
 			classes.write("    # accessors for %s\n" % (classname))

Modified: packages/libxml2/trunk/python/libxml.c
===================================================================
--- packages/libxml2/trunk/python/libxml.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/libxml.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -52,7 +52,23 @@
     xmlGenericError(xmlGenericErrorContext,				\
 	    "Unimplemented block at %s:%d\n",				\
             __FILE__, __LINE__);
+/*
+ * the following vars are used for XPath extensions, but
+ * are also referenced within the parser cleanup routine.
+ */
+static int libxml_xpathCallbacksInitialized = 0;
 
+typedef struct libxml_xpathCallback {
+    xmlXPathContextPtr ctx;
+    xmlChar *name;
+    xmlChar *ns_uri;
+    PyObject *function;
+} libxml_xpathCallback, *libxml_xpathCallbackPtr;
+typedef libxml_xpathCallback libxml_xpathCallbackArray[];
+static int libxml_xpathCallbacksAllocd = 10;
+static libxml_xpathCallbackArray *libxml_xpathCallbacks = NULL;
+static int libxml_xpathCallbacksNb = 0;
+
 /************************************************************************
  *									*
  *		Memory debug interface					*
@@ -75,7 +91,22 @@
 static xmlReallocFunc reallocFunc = NULL;
 static xmlStrdupFunc strdupFunc = NULL;
 
+static void
+libxml_xmlErrorInitialize(void); /* forward declare */
+
 PyObject *
+libxml_xmlMemoryUsed(ATTRIBUTE_UNUSED PyObject * self, PyObject * args)
+{
+    long ret;
+    PyObject *py_retval;
+
+    ret = xmlMemUsed();
+
+    py_retval = libxml_longWrap(ret);
+    return (py_retval);
+}
+
+PyObject *
 libxml_xmlDebugMemory(ATTRIBUTE_UNUSED PyObject * self, PyObject * args)
 {
     int activate;
@@ -104,13 +135,21 @@
                 (strdupFunc == xmlMemoryStrdup)) {
                 libxmlMemoryAllocatedBase = xmlMemUsed();
             } else {
+                /* 
+                 * cleanup first, because some memory has been
+                 * allocated with the non-debug malloc in xmlInitParser
+                 * when the python module was imported
+                 */
+                xmlCleanupParser();
                 ret = (long) xmlMemSetup(xmlMemFree, xmlMemMalloc,
                                          xmlMemRealloc, xmlMemoryStrdup);
                 if (ret < 0)
                     goto error;
                 libxmlMemoryAllocatedBase = xmlMemUsed();
+                /* reinitialize */
+                xmlInitParser();
+                libxml_xmlErrorInitialize();
             }
-            xmlInitParser();
             ret = 0;
         } else if (libxmlMemoryDebugActivated == 0) {
             libxmlMemoryAllocatedBase = xmlMemUsed();
@@ -133,6 +172,46 @@
 }
 
 PyObject *
+libxml_xmlPythonCleanupParser(PyObject *self ATTRIBUTE_UNUSED,
+                              PyObject *args ATTRIBUTE_UNUSED) {
+
+    int ix;
+    long freed = -1;
+
+    if (libxmlMemoryDebug) {
+        freed = xmlMemUsed();
+    }
+
+    xmlCleanupParser();
+    /*
+     * Need to confirm whether we really want to do this (required for
+     * memcheck) in all cases...
+     */
+   
+    if (libxml_xpathCallbacks != NULL) {	/* if ext funcs declared */
+	for (ix=0; ix<libxml_xpathCallbacksNb; ix++) {
+	    if ((*libxml_xpathCallbacks)[ix].name != NULL)
+	        xmlFree((*libxml_xpathCallbacks)[ix].name);
+	    if ((*libxml_xpathCallbacks)[ix].ns_uri != NULL)
+	        xmlFree((*libxml_xpathCallbacks)[ix].ns_uri);
+	}
+	libxml_xpathCallbacksNb = 0;
+        xmlFree(libxml_xpathCallbacks);
+	libxml_xpathCallbacks = NULL;
+    }
+
+    if (libxmlMemoryDebug) {
+        freed -= xmlMemUsed();
+	libxmlMemoryAllocatedBase -= freed;
+	if (libxmlMemoryAllocatedBase < 0)
+	    libxmlMemoryAllocatedBase = 0;
+    }
+
+    Py_INCREF(Py_None);
+    return(Py_None);
+}
+
+PyObject *
 libxml_xmlDumpMemory(ATTRIBUTE_UNUSED PyObject * self,
                      ATTRIBUTE_UNUSED PyObject * args)
 {
@@ -1386,7 +1465,7 @@
         return (NULL);
 
 #ifdef DEBUG_ERROR
-    printf("libxml_registerXPathFunction(%p, %p) called\n", pyobj_ctx,
+    printf("libxml_xmlRegisterErrorHandler(%p, %p) called\n", pyobj_ctx,
            pyobj_f);
 #endif
 
@@ -1776,18 +1855,6 @@
  *									*
  ************************************************************************/
 
-static int libxml_xpathCallbacksInitialized = 0;
-
-typedef struct libxml_xpathCallback {
-    xmlXPathContextPtr ctx;
-    xmlChar *name;
-    xmlChar *ns_uri;
-    PyObject *function;
-} libxml_xpathCallback, *libxml_xpathCallbackPtr;
-static libxml_xpathCallback libxml_xpathCallbacks[10];
-static int libxml_xpathCallbacksNb = 0;
-static int libxml_xpathCallbacksMax = 10;
-
 static void
 libxml_xmlXPathFuncCallback(xmlXPathParserContextPtr ctxt, int nargs)
 {
@@ -1816,9 +1883,9 @@
      */
     for (i = 0; i < libxml_xpathCallbacksNb; i++) {
         if (                    /* TODO (ctxt == libxml_xpathCallbacks[i].ctx) && */
-               (xmlStrEqual(name, libxml_xpathCallbacks[i].name)) &&
-               (xmlStrEqual(ns_uri, libxml_xpathCallbacks[i].ns_uri))) {
-            current_function = libxml_xpathCallbacks[i].function;
+						(xmlStrEqual(name, (*libxml_xpathCallbacks)[i].name)) &&
+               (xmlStrEqual(ns_uri, (*libxml_xpathCallbacks)[i].ns_uri))) {
+					current_function = (*libxml_xpathCallbacks)[i].function;
         }
     }
     if (current_function == NULL) {
@@ -1859,9 +1926,9 @@
      * and functionURI fields.
      */
     for (i = 0; i < libxml_xpathCallbacksNb; i++) {
-        if ((ctxt == libxml_xpathCallbacks[i].ctx) &&
-            (xmlStrEqual(name, libxml_xpathCallbacks[i].name)) &&
-            (xmlStrEqual(ns_uri, libxml_xpathCallbacks[i].ns_uri))) {
+			if ((ctxt == (*libxml_xpathCallbacks)[i].ctx) &&
+					(xmlStrEqual(name, (*libxml_xpathCallbacks)[i].name)) &&
+					(xmlStrEqual(ns_uri, (*libxml_xpathCallbacks)[i].ns_uri))) {
             return (libxml_xmlXPathFuncCallback);
         }
     }
@@ -1879,12 +1946,14 @@
 #ifdef DEBUG_XPATH
     printf("libxml_xpathCallbacksInitialized called\n");
 #endif
+    libxml_xpathCallbacks = (libxml_xpathCallbackArray*)xmlMalloc(
+    		libxml_xpathCallbacksAllocd*sizeof(libxml_xpathCallback));
 
-    for (i = 0; i < libxml_xpathCallbacksMax; i++) {
-        libxml_xpathCallbacks[i].ctx = NULL;
-        libxml_xpathCallbacks[i].name = NULL;
-        libxml_xpathCallbacks[i].ns_uri = NULL;
-        libxml_xpathCallbacks[i].function = NULL;
+    for (i = 0; i < libxml_xpathCallbacksAllocd; i++) {
+			(*libxml_xpathCallbacks)[i].ctx = NULL;
+			(*libxml_xpathCallbacks)[i].name = NULL;
+			(*libxml_xpathCallbacks)[i].ns_uri = NULL;
+			(*libxml_xpathCallbacks)[i].function = NULL;
     }
     libxml_xpathCallbacksInitialized = 1;
 }
@@ -1921,27 +1990,30 @@
            ctx, name, ns_uri);
 #endif
     for (i = 0; i < libxml_xpathCallbacksNb; i++) {
-        if ((ctx == libxml_xpathCallbacks[i].ctx) &&
-            (xmlStrEqual(name, libxml_xpathCallbacks[i].name)) &&
-            (xmlStrEqual(ns_uri, libxml_xpathCallbacks[i].ns_uri))) {
+	if ((ctx == (*libxml_xpathCallbacks)[i].ctx) &&
+            (xmlStrEqual(name, (*libxml_xpathCallbacks)[i].name)) &&
+            (xmlStrEqual(ns_uri, (*libxml_xpathCallbacks)[i].ns_uri))) {
             Py_XINCREF(pyobj_f);
-            Py_XDECREF(libxml_xpathCallbacks[i].function);
-            libxml_xpathCallbacks[i].function = pyobj_f;
+            Py_XDECREF((*libxml_xpathCallbacks)[i].function);
+            (*libxml_xpathCallbacks)[i].function = pyobj_f;
             c_retval = 1;
             goto done;
         }
     }
-    if (libxml_xpathCallbacksNb >= libxml_xpathCallbacksMax) {
-        printf("libxml_registerXPathFunction() table full\n");
-    } else {
-        i = libxml_xpathCallbacksNb++;
-        Py_XINCREF(pyobj_f);
-        libxml_xpathCallbacks[i].ctx = ctx;
-        libxml_xpathCallbacks[i].name = xmlStrdup(name);
-        libxml_xpathCallbacks[i].ns_uri = xmlStrdup(ns_uri);
-        libxml_xpathCallbacks[i].function = pyobj_f;
+    if (libxml_xpathCallbacksNb >= libxml_xpathCallbacksAllocd) {
+			libxml_xpathCallbacksAllocd+=10;
+	libxml_xpathCallbacks = (libxml_xpathCallbackArray*)xmlRealloc(
+		libxml_xpathCallbacks,
+		libxml_xpathCallbacksAllocd*sizeof(libxml_xpathCallback));
+    } 
+    i = libxml_xpathCallbacksNb++;
+    Py_XINCREF(pyobj_f);
+    (*libxml_xpathCallbacks)[i].ctx = ctx;
+    (*libxml_xpathCallbacks)[i].name = xmlStrdup(name);
+    (*libxml_xpathCallbacks)[i].ns_uri = xmlStrdup(ns_uri);
+    (*libxml_xpathCallbacks)[i].function = pyobj_f;
         c_retval = 1;
-    }
+    
   done:
     py_retval = libxml_intWrap((int) c_retval);
     return (py_retval);
@@ -3228,20 +3300,19 @@
 initlibxml2mod(void)
 {
     static int initialized = 0;
-    PyObject *m;
 
     if (initialized != 0)
         return;
-    /* XXX xmlInitParser does much more than this */
-    xmlInitGlobals();
-#ifdef LIBXML_OUTPUT_ENABLED
-    xmlRegisterDefaultOutputCallbacks();
-#endif /* LIBXML_OUTPUT_ENABLED */
-    xmlRegisterDefaultInputCallbacks();
-    m = Py_InitModule((char *) "libxml2mod", libxmlMethods);
-    initialized = 1;
+
+    /* intialize the python extension module */
+    Py_InitModule((char *) "libxml2mod", libxmlMethods);
+
+    /* initialize libxml2 */
+    xmlInitParser();
     libxml_xmlErrorInitialize();
 
+    initialized = 1;
+
 #ifdef MERGED_MODULES
     initlibxsltmod();
 #endif

Modified: packages/libxml2/trunk/python/libxml.py
===================================================================
--- packages/libxml2/trunk/python/libxml.py	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/libxml.py	2004-07-06 13:30:31 UTC (rev 189)
@@ -618,6 +618,11 @@
             # assert f is _xmlTextReaderErrorFunc
             return arg
 
+#
+# The cleanup now goes though a wrappe in libxml.c
+#
+def cleanupParser():
+    libxml2mod.xmlPythonCleanupParser()
 
 # WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
 #

Modified: packages/libxml2/trunk/python/libxml2-py.c
===================================================================
--- packages/libxml2/trunk/python/libxml2-py.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/libxml2-py.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -123,7 +123,23 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_XPATH_ENABLED
 PyObject *
+libxml_xmlXPathNewFloat(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlXPathObjectPtr c_retval;
+    double val;
+
+    if (!PyArg_ParseTuple(args, (char *)"d:xmlXPathNewFloat", &val))
+        return(NULL);
+
+    c_retval = xmlXPathNewFloat(val);
+    py_retval = libxml_xmlXPathObjectPtrWrap((xmlXPathObjectPtr) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_XPATH_ENABLED */
+PyObject *
 libxml_xmlTextReaderExpand(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlNodePtr c_retval;
@@ -1771,23 +1787,6 @@
 }
 
 PyObject *
-libxml_xmlNewTextReader(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlTextReaderPtr c_retval;
-    xmlParserInputBufferPtr input;
-    PyObject *pyobj_input;
-    char * URI;
-
-    if (!PyArg_ParseTuple(args, (char *)"Oz:xmlNewTextReader", &pyobj_input, &URI))
-        return(NULL);
-    input = (xmlParserInputBufferPtr) PyinputBuffer_Get(pyobj_input);
-
-    c_retval = xmlNewTextReader(input, URI);
-    py_retval = libxml_xmlTextReaderPtrWrap((xmlTextReaderPtr) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlUCSIsCombiningDiacriticalMarksforSymbols(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -1855,25 +1854,7 @@
     return(py_retval);
 }
 
-#ifdef LIBXML_XPATH_ENABLED
 PyObject *
-libxml_xmlXPathOrderDocElems(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    long c_retval;
-    xmlDocPtr doc;
-    PyObject *pyobj_doc;
-
-    if (!PyArg_ParseTuple(args, (char *)"O:xmlXPathOrderDocElems", &pyobj_doc))
-        return(NULL);
-    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
-
-    c_retval = xmlXPathOrderDocElems(doc);
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
-}
-
-#endif /* LIBXML_XPATH_ENABLED */
-PyObject *
 libxml_xmlUCSIsLinearBIdeograms(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -1967,22 +1948,6 @@
 
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
-libxml_xmlXPathNewFloat(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlXPathObjectPtr c_retval;
-    double val;
-
-    if (!PyArg_ParseTuple(args, (char *)"d:xmlXPathNewFloat", &val))
-        return(NULL);
-
-    c_retval = xmlXPathNewFloat(val);
-    py_retval = libxml_xmlXPathObjectPtrWrap((xmlXPathObjectPtr) c_retval);
-    return(py_retval);
-}
-
-#endif /* LIBXML_XPATH_ENABLED */
-#ifdef LIBXML_XPATH_ENABLED
-PyObject *
 libxml_xmlXPathRegisterNs(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -2641,27 +2606,6 @@
 
 #endif /* LIBXML_SCHEMAS_ENABLED */
 PyObject *
-libxml_xmlNewChild(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    xmlNodePtr c_retval;
-    xmlNodePtr parent;
-    PyObject *pyobj_parent;
-    xmlNsPtr ns;
-    PyObject *pyobj_ns;
-    xmlChar * name;
-    xmlChar * content;
-
-    if (!PyArg_ParseTuple(args, (char *)"OOzz:xmlNewChild", &pyobj_parent, &pyobj_ns, &name, &content))
-        return(NULL);
-    parent = (xmlNodePtr) PyxmlNode_Get(pyobj_parent);
-    ns = (xmlNsPtr) PyxmlNode_Get(pyobj_ns);
-
-    c_retval = xmlNewChild(parent, ns, name, content);
-    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlSearchNs(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlNsPtr c_retval;
@@ -2886,23 +2830,6 @@
 
 #endif /* LIBXML_XPATH_ENABLED */
 PyObject *
-libxml_xmlTextReaderRelaxNGValidate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    xmlTextReaderPtr reader;
-    PyObject *pyobj_reader;
-    char * rng;
-
-    if (!PyArg_ParseTuple(args, (char *)"Oz:xmlTextReaderRelaxNGValidate", &pyobj_reader, &rng))
-        return(NULL);
-    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
-
-    c_retval = xmlTextReaderRelaxNGValidate(reader, rng);
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlNewDocText(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlNodePtr c_retval;
@@ -3102,25 +3029,27 @@
     return(py_retval);
 }
 
-#ifdef LIBXML_XINCLUDE_ENABLED
 PyObject *
-libxml_xmlXIncludeProcessTreeFlags(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+libxml_xmlNewChild(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
-    int c_retval;
-    xmlNodePtr tree;
-    PyObject *pyobj_tree;
-    int flags;
+    xmlNodePtr c_retval;
+    xmlNodePtr parent;
+    PyObject *pyobj_parent;
+    xmlNsPtr ns;
+    PyObject *pyobj_ns;
+    xmlChar * name;
+    xmlChar * content;
 
-    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlXIncludeProcessTreeFlags", &pyobj_tree, &flags))
+    if (!PyArg_ParseTuple(args, (char *)"OOzz:xmlNewChild", &pyobj_parent, &pyobj_ns, &name, &content))
         return(NULL);
-    tree = (xmlNodePtr) PyxmlNode_Get(pyobj_tree);
+    parent = (xmlNodePtr) PyxmlNode_Get(pyobj_parent);
+    ns = (xmlNsPtr) PyxmlNode_Get(pyobj_ns);
 
-    c_retval = xmlXIncludeProcessTreeFlags(tree, flags);
-    py_retval = libxml_intWrap((int) c_retval);
+    c_retval = xmlNewChild(parent, ns, name, content);
+    py_retval = libxml_xmlNodePtrWrap((xmlNodePtr) c_retval);
     return(py_retval);
 }
 
-#endif /* LIBXML_XINCLUDE_ENABLED */
 PyObject *
 libxml_xmlGetID(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
@@ -4058,6 +3987,20 @@
 }
 
 PyObject *
+libxml_xmlParserHandleReference(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    xmlParserCtxtPtr ctxt;
+    PyObject *pyobj_ctxt;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlParserHandleReference", &pyobj_ctxt))
+        return(NULL);
+    ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt);
+
+    xmlParserHandleReference(ctxt);
+    Py_INCREF(Py_None);
+    return(Py_None);
+}
+
+PyObject *
 libxml_xmlEncodeEntitiesReentrant(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlChar * c_retval;
@@ -5153,6 +5096,20 @@
 }
 
 PyObject *
+libxml_xmlUCSIsCJKSymbolsandPunctuation(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    int code;
+
+    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsCJKSymbolsandPunctuation", &code))
+        return(NULL);
+
+    c_retval = xmlUCSIsCJKSymbolsandPunctuation(code);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlUCSIsOgham(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -6021,22 +5978,6 @@
 
 #endif /* LIBXML_XPATH_ENABLED */
 PyObject *
-libxml_xmlURIGetPort(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    xmlURIPtr URI;
-    PyObject *pyobj_URI;
-
-    if (!PyArg_ParseTuple(args, (char *)"O:xmlURIGetPort", &pyobj_URI))
-        return(NULL);
-    URI = (xmlURIPtr) PyURI_Get(pyobj_URI);
-
-    c_retval = URI->port;
-    py_retval = libxml_intWrap((int) c_retval);
-    return(py_retval);
-}
-
-PyObject *
 libxml_xmlUCSIsCatC(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -6307,14 +6248,6 @@
 
 #endif /* LIBXML_XPTR_ENABLED */
 PyObject *
-libxml_xmlCleanupParser(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
-
-    xmlCleanupParser();
-    Py_INCREF(Py_None);
-    return(Py_None);
-}
-
-PyObject *
 libxml_xmlTextConcat(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     int c_retval;
@@ -6706,17 +6639,20 @@
 }
 
 PyObject *
-libxml_xmlParserHandleReference(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    xmlParserCtxtPtr ctxt;
-    PyObject *pyobj_ctxt;
+libxml_xmlNewTextReader(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlTextReaderPtr c_retval;
+    xmlParserInputBufferPtr input;
+    PyObject *pyobj_input;
+    char * URI;
 
-    if (!PyArg_ParseTuple(args, (char *)"O:xmlParserHandleReference", &pyobj_ctxt))
+    if (!PyArg_ParseTuple(args, (char *)"Oz:xmlNewTextReader", &pyobj_input, &URI))
         return(NULL);
-    ctxt = (xmlParserCtxtPtr) PyparserCtxt_Get(pyobj_ctxt);
+    input = (xmlParserInputBufferPtr) PyinputBuffer_Get(pyobj_input);
 
-    xmlParserHandleReference(ctxt);
-    Py_INCREF(Py_None);
-    return(Py_None);
+    c_retval = xmlNewTextReader(input, URI);
+    py_retval = libxml_xmlTextReaderPtrWrap((xmlTextReaderPtr) c_retval);
+    return(py_retval);
 }
 
 PyObject *
@@ -9212,6 +9148,21 @@
 }
 
 PyObject *
+libxml_xmlBuildRelativeURI(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlChar * c_retval;
+    xmlChar * URI;
+    xmlChar * base;
+
+    if (!PyArg_ParseTuple(args, (char *)"zz:xmlBuildRelativeURI", &URI, &base))
+        return(NULL);
+
+    c_retval = xmlBuildRelativeURI(URI, base);
+    py_retval = libxml_xmlCharPtrWrap((xmlChar *) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlParseQuotedString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlChar * c_retval;
@@ -9381,20 +9332,6 @@
 }
 
 PyObject *
-libxml_xmlUCSIsCJKSymbolsandPunctuation(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
-    PyObject *py_retval;
-    int c_retval;
-    int code;
-
-    if (!PyArg_ParseTuple(args, (char *)"i:xmlUCSIsCJKSymbolsandPunctuation", &code))
-        return(NULL);
-
-    c_retval = xmlUCSIsCJKSymbolsandPunctuation(code);
-    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;
@@ -9430,6 +9367,23 @@
 
 #endif /* LIBXML_HTML_ENABLED */
 PyObject *
+libxml_xmlTextReaderRelaxNGValidate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlTextReaderPtr reader;
+    PyObject *pyobj_reader;
+    char * rng;
+
+    if (!PyArg_ParseTuple(args, (char *)"Oz:xmlTextReaderRelaxNGValidate", &pyobj_reader, &rng))
+        return(NULL);
+    reader = (xmlTextReaderPtr) PyxmlTextReader_Get(pyobj_reader);
+
+    c_retval = xmlTextReaderRelaxNGValidate(reader, rng);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlNanoFTPInit(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
 
     xmlNanoFTPInit();
@@ -9763,7 +9717,23 @@
 }
 
 #endif /* LIBXML_XPATH_ENABLED */
+#ifdef LIBXML_SCHEMAS_ENABLED
 PyObject *
+libxml_xmlSchemaCollapseString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    xmlChar * c_retval;
+    xmlChar * value;
+
+    if (!PyArg_ParseTuple(args, (char *)"z:xmlSchemaCollapseString", &value))
+        return(NULL);
+
+    c_retval = xmlSchemaCollapseString(value);
+    py_retval = libxml_xmlCharPtrWrap((xmlChar *) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject *
 libxml_xmlTextReaderConstNamespaceUri(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     const xmlChar * c_retval;
@@ -9838,6 +9808,25 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_XINCLUDE_ENABLED
+PyObject *
+libxml_xmlXIncludeProcessTreeFlags(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlNodePtr tree;
+    PyObject *pyobj_tree;
+    int flags;
+
+    if (!PyArg_ParseTuple(args, (char *)"Oi:xmlXIncludeProcessTreeFlags", &pyobj_tree, &flags))
+        return(NULL);
+    tree = (xmlNodePtr) PyxmlNode_Get(pyobj_tree);
+
+    c_retval = xmlXIncludeProcessTreeFlags(tree, flags);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_XINCLUDE_ENABLED */
 #ifdef LIBXML_XPATH_ENABLED
 PyObject *
 libxml_xmlXPathNamespaceURIFunction(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
@@ -10536,6 +10525,22 @@
 
 #endif /* LIBXML_XPATH_ENABLED */
 PyObject *
+libxml_xmlURIGetPort(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    int c_retval;
+    xmlURIPtr URI;
+    PyObject *pyobj_URI;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlURIGetPort", &pyobj_URI))
+        return(NULL);
+    URI = (xmlURIPtr) PyURI_Get(pyobj_URI);
+
+    c_retval = URI->port;
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+PyObject *
 libxml_xmlParseFile(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
     PyObject *py_retval;
     xmlDocPtr c_retval;
@@ -11274,6 +11279,24 @@
     return(py_retval);
 }
 
+#ifdef LIBXML_XPATH_ENABLED
+PyObject *
+libxml_xmlXPathOrderDocElems(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+    PyObject *py_retval;
+    long c_retval;
+    xmlDocPtr doc;
+    PyObject *pyobj_doc;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:xmlXPathOrderDocElems", &pyobj_doc))
+        return(NULL);
+    doc = (xmlDocPtr) PyxmlNode_Get(pyobj_doc);
+
+    c_retval = xmlXPathOrderDocElems(doc);
+    py_retval = libxml_intWrap((int) c_retval);
+    return(py_retval);
+}
+
+#endif /* LIBXML_XPATH_ENABLED */
 #ifdef LIBXML_HTML_ENABLED
 PyObject *
 libxml_htmlNodeDumpFormatOutput(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {

Modified: packages/libxml2/trunk/python/libxml2-python-api.xml
===================================================================
--- packages/libxml2/trunk/python/libxml2-python-api.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/libxml2-python-api.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -306,5 +306,13 @@
       <return type='int' info="The error line" field="line"/>
       <arg name='Error' type='xmlErrorPtr' info='the Error'/>
     </function>
+    <function name='xmlPythonCleanupParser' file='python'>
+      <info>Cleanup function for the XML library. It tries to reclaim all parsing related global memory allocated for the library processing. It doesn't deallocate any document related memory. Calling this function should not prevent reusing the library but one should call xmlCleanupParser() only when the process has finished using the library or XML document built with it.</info>
+      <return type='void'/>
+    </function>
+    <function name='xmlMemoryUsed' file='python'>
+      <info>Returns the total amount of memory allocated by libxml2</info>
+      <return type='int' info='number of bytes allocated'/>
+    </function>
   </symbols>
 </api>

Modified: packages/libxml2/trunk/python/setup.py
===================================================================
--- packages/libxml2/trunk/python/setup.py	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/setup.py	2004-07-06 13:30:31 UTC (rev 189)
@@ -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.10",
+       version = "2.6.11",
        description = descr,
        author = "Daniel Veillard",
        author_email = "veillard at redhat.com",

Modified: packages/libxml2/trunk/python/tests/Makefile.am
===================================================================
--- packages/libxml2/trunk/python/tests/Makefile.am	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/tests/Makefile.am	2004-07-06 13:30:31 UTC (rev 189)
@@ -33,6 +33,7 @@
     readererr.py\
     relaxng.py	\
     thread2.py \
+    sync.py \
     tstLastError.py \
     indexes.py
 
@@ -45,8 +46,13 @@
 
 if WITH_PYTHON
 tests: $(PYTESTS)
-	-@(PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; export PYTHONPATH; \
-	   for test in $(PYTESTS) ; do echo "-- $$test" ; $(PYTHON) $(srcdir)/$$test ; done)
+	echo "## running Python regression tests"
+	-@(PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \
+	   export PYTHONPATH; \
+	   for test in $(PYTESTS) ; \
+	   do log=`$(PYTHON) $(srcdir)/$$test` ; \
+	   if [ "`echo $$log | grep OK`" = "" ] ; then \
+	   echo "-- $$test" ; echo "$$log" ; fi ; done)
 else
 tests:
 endif

Modified: packages/libxml2/trunk/python/tests/Makefile.in
===================================================================
--- packages/libxml2/trunk/python/tests/Makefile.in	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/python/tests/Makefile.in	2004-07-06 13:30:31 UTC (rev 189)
@@ -278,6 +278,7 @@
     readererr.py\
     relaxng.py	\
     thread2.py \
+    sync.py \
     tstLastError.py \
     indexes.py
 
@@ -447,8 +448,13 @@
 
 
 @WITH_PYTHON_TRUE at tests: $(PYTESTS)
- at WITH_PYTHON_TRUE@	-@(PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; export PYTHONPATH; \
- at WITH_PYTHON_TRUE@	   for test in $(PYTESTS) ; do echo "-- $$test" ; $(PYTHON) $(srcdir)/$$test ; done)
+ at WITH_PYTHON_TRUE@	echo "## running Python regression tests"
+ at WITH_PYTHON_TRUE@	-@(PYTHONPATH="..:../.libs:$(srcdir)/..:$$PYTHONPATH" ; \
+ at WITH_PYTHON_TRUE@	   export PYTHONPATH; \
+ at WITH_PYTHON_TRUE@	   for test in $(PYTESTS) ; \
+ at WITH_PYTHON_TRUE@	   do log=`$(PYTHON) $(srcdir)/$$test` ; \
+ at WITH_PYTHON_TRUE@	   if [ "`echo $$log | grep OK`" = "" ] ; then \
+ at WITH_PYTHON_TRUE@	   echo "-- $$test" ; echo "$$log" ; fi ; done)
 @WITH_PYTHON_FALSE at tests:
 
 clean:

Copied: packages/libxml2/trunk/python/tests/sync.py (from rev 188, packages/libxml2/branches/upstream/current/python/tests/sync.py)


Property changes on: packages/libxml2/trunk/python/tests/sync.py
___________________________________________________________________
Name: svn:executable
   + *

Copied: packages/libxml2/trunk/regressions.py (from rev 188, packages/libxml2/branches/upstream/current/regressions.py)


Property changes on: packages/libxml2/trunk/regressions.py
___________________________________________________________________
Name: svn:executable
   + *

Copied: packages/libxml2/trunk/regressions.xml (from rev 188, packages/libxml2/branches/upstream/current/regressions.xml)

Modified: packages/libxml2/trunk/relaxng.c
===================================================================
--- packages/libxml2/trunk/relaxng.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/relaxng.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -7182,6 +7182,20 @@
                     }
                     if (ns != NULL)
                         xmlFree(ns);
+		    /*
+		     * Since we are about to delete cur, if it's nsDef is non-NULL we
+		     * need to preserve it (it contains the ns definitions for the
+		     * children we just moved).  We'll just stick it on to the end
+		     * of cur->parent's list, since it's never going to be re-serialized
+		     * (bug 143738).
+		     */
+		    if (cur->nsDef != NULL) {
+			xmlNsPtr parDef = (xmlNsPtr)&cur->parent->nsDef;
+			while (parDef->next != NULL)
+			    parDef = parDef->next;
+			parDef->next = cur->nsDef;
+			cur->nsDef = NULL;
+		    }
                     delete = cur;
                     goto skip_children;
                 }

Modified: packages/libxml2/trunk/result/XInclude/docids.xml
===================================================================
--- packages/libxml2/trunk/result/XInclude/docids.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/XInclude/docids.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -11,7 +11,7 @@
 <isid myid="dup"/>
 </doc>
 <!-- including another XML document with IDs -->
-<doc xml:base="test/XInclude/ents/ids.xml">
+<doc xml:base="../ents/ids.xml">
 <isid myid="dup"/>
 <isid myid="foo"/>
 <isid myid="bar"/>

Modified: packages/libxml2/trunk/result/XInclude/include.xml
===================================================================
--- packages/libxml2/trunk/result/XInclude/include.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/XInclude/include.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <x xmlns:xinclude="http://www.w3.org/2001/XInclude">
    <!-- Simple test of including another XML document -->
-   <doc xml:base="test/XInclude/ents/something.xml">
+   <doc xml:base="../ents/something.xml">
 <p>something</p>
 <p>really</p>
 <p>simple</p>

Modified: packages/libxml2/trunk/result/XInclude/nodes.xml
===================================================================
--- packages/libxml2/trunk/result/XInclude/nodes.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/XInclude/nodes.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
 <x xmlns:xinclude="http://www.w3.org/2001/XInclude">
    <!-- Simple test of including a set of nodes from an XML document -->
-   <p xml:base="test/XInclude/ents/something.xml">something</p><p xml:base="test/XInclude/ents/something.xml">really</p><p xml:base="test/XInclude/ents/something.xml">simple</p>
+   <p xml:base="../ents/something.xml">something</p><p xml:base="../ents/something.xml">really</p><p xml:base="../ents/something.xml">simple</p>
 </x>

Modified: packages/libxml2/trunk/result/XInclude/nodes2.xml
===================================================================
--- packages/libxml2/trunk/result/XInclude/nodes2.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/XInclude/nodes2.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
 <x xmlns:xinclude="http://www.w3.org/2003/XInclude">
    <!-- Simple test of including a set of nodes from an XML document -->
-   <p xml:base="test/XInclude/ents/something.xml">something</p><p xml:base="test/XInclude/ents/something.xml">really</p><p xml:base="test/XInclude/ents/something.xml">simple</p>
+   <p xml:base="../ents/something.xml">something</p><p xml:base="../ents/something.xml">really</p><p xml:base="../ents/something.xml">simple</p>
 </x>

Modified: packages/libxml2/trunk/result/XInclude/recursive.xml
===================================================================
--- packages/libxml2/trunk/result/XInclude/recursive.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/XInclude/recursive.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,3 +1,3 @@
 <?xml version="1.0"?>
-<this><sub-inc xml:base="test/XInclude/ents/sub-inc.ent">is a test
+<this><sub-inc xml:base="../ents/sub-inc.ent">is a test
 </sub-inc></this>

Copied: packages/libxml2/trunk/result/att1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att1.rde)

Copied: packages/libxml2/trunk/result/att2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att2.rde)

Copied: packages/libxml2/trunk/result/att3.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att3.rde)

Copied: packages/libxml2/trunk/result/att4.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att4.rde)

Copied: packages/libxml2/trunk/result/att5.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att5.rde)

Copied: packages/libxml2/trunk/result/att6.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att6.rde)

Copied: packages/libxml2/trunk/result/att7.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att7.rde)

Copied: packages/libxml2/trunk/result/att8.rde (from rev 188, packages/libxml2/branches/upstream/current/result/att8.rde)

Copied: packages/libxml2/trunk/result/attrib.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/attrib.xml.rde)

Copied: packages/libxml2/trunk/result/bigentname.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/bigentname.xml.rde)

Copied: packages/libxml2/trunk/result/bigname.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/bigname.xml.rde)

Copied: packages/libxml2/trunk/result/bigname2.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/bigname2.xml.rde)

Copied: packages/libxml2/trunk/result/cdata.rde (from rev 188, packages/libxml2/branches/upstream/current/result/cdata.rde)

Copied: packages/libxml2/trunk/result/cdata2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/cdata2.rde)

Copied: packages/libxml2/trunk/result/comment.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/comment.xml.rde)

Copied: packages/libxml2/trunk/result/comment2.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/comment2.xml.rde)

Copied: packages/libxml2/trunk/result/dav1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav1.rde)

Copied: packages/libxml2/trunk/result/dav10.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav10.rde)

Copied: packages/libxml2/trunk/result/dav11.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav11.rde)

Copied: packages/libxml2/trunk/result/dav12.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav12.rde)

Copied: packages/libxml2/trunk/result/dav13.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav13.rde)

Copied: packages/libxml2/trunk/result/dav15.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav15.rde)

Copied: packages/libxml2/trunk/result/dav16.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav16.rde)

Copied: packages/libxml2/trunk/result/dav17.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav17.rde)

Copied: packages/libxml2/trunk/result/dav18.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav18.rde)

Copied: packages/libxml2/trunk/result/dav19.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav19.rde)

Copied: packages/libxml2/trunk/result/dav2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav2.rde)

Copied: packages/libxml2/trunk/result/dav3.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav3.rde)

Copied: packages/libxml2/trunk/result/dav4.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav4.rde)

Copied: packages/libxml2/trunk/result/dav5.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav5.rde)

Copied: packages/libxml2/trunk/result/dav6.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav6.rde)

Copied: packages/libxml2/trunk/result/dav7.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav7.rde)

Copied: packages/libxml2/trunk/result/dav8.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav8.rde)

Copied: packages/libxml2/trunk/result/dav9.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dav9.rde)

Copied: packages/libxml2/trunk/result/defattr.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/defattr.xml.rde)

Copied: packages/libxml2/trunk/result/defattr2.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/defattr2.xml.rde)

Copied: packages/libxml2/trunk/result/dia1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dia1.rde)

Copied: packages/libxml2/trunk/result/dia2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dia2.rde)

Copied: packages/libxml2/trunk/result/dtd1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd1.rde)

Copied: packages/libxml2/trunk/result/dtd10.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd10.rde)

Copied: packages/libxml2/trunk/result/dtd11.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd11.rde)

Copied: packages/libxml2/trunk/result/dtd12.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd12.rde)

Copied: packages/libxml2/trunk/result/dtd13.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd13.rde)

Copied: packages/libxml2/trunk/result/dtd2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd2.rde)

Copied: packages/libxml2/trunk/result/dtd3.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd3.rde)

Copied: packages/libxml2/trunk/result/dtd4.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd4.rde)

Copied: packages/libxml2/trunk/result/dtd5.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd5.rde)

Copied: packages/libxml2/trunk/result/dtd6.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd6.rde)

Copied: packages/libxml2/trunk/result/dtd7.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd7.rde)

Copied: packages/libxml2/trunk/result/dtd8.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd8.rde)

Copied: packages/libxml2/trunk/result/dtd9.rde (from rev 188, packages/libxml2/branches/upstream/current/result/dtd9.rde)

Copied: packages/libxml2/trunk/result/ent1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent1.rde)

Copied: packages/libxml2/trunk/result/ent2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent2.rde)

Copied: packages/libxml2/trunk/result/ent3.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent3.rde)

Copied: packages/libxml2/trunk/result/ent4.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent4.rde)

Copied: packages/libxml2/trunk/result/ent5.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent5.rde)

Copied: packages/libxml2/trunk/result/ent6.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent6.rde)

Copied: packages/libxml2/trunk/result/ent7.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent7.rde)

Copied: packages/libxml2/trunk/result/ent8.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent8.rde)

Copied: packages/libxml2/trunk/result/ent9 (from rev 188, packages/libxml2/branches/upstream/current/result/ent9)

Copied: packages/libxml2/trunk/result/ent9.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ent9.rde)

Copied: packages/libxml2/trunk/result/ent9.rdr (from rev 188, packages/libxml2/branches/upstream/current/result/ent9.rdr)

Copied: packages/libxml2/trunk/result/ent9.sax (from rev 188, packages/libxml2/branches/upstream/current/result/ent9.sax)

Modified: packages/libxml2/trunk/result/errors/attr1.xml.str
===================================================================
--- packages/libxml2/trunk/result/errors/attr1.xml.str	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/errors/attr1.xml.str	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,6 +1,10 @@
 ./test/errors/attr1.xml:2: parser error : AttValue: ' expected
 
 ^
-./test/errors/attr1.xml:2: parser error : Extra content at the end of the document
-<foo foo="oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
- ^
+./test/errors/attr1.xml:2: parser error : attributes construct error
+
+^
+./test/errors/attr1.xml:2: parser error : Couldn't find end of Start Tag foo
+
+^
+./test/errors/attr1.xml : failed to parse

Modified: packages/libxml2/trunk/result/errors/attr2.xml.str
===================================================================
--- packages/libxml2/trunk/result/errors/attr2.xml.str	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/errors/attr2.xml.str	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,6 +1,10 @@
 ./test/errors/attr2.xml:2: parser error : AttValue: ' expected
 
 ^
-./test/errors/attr2.xml:2: parser error : Extra content at the end of the document
-<foo foo=">ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
- ^
+./test/errors/attr2.xml:2: parser error : attributes construct error
+
+^
+./test/errors/attr2.xml:2: parser error : Couldn't find end of Start Tag foo
+
+^
+./test/errors/attr2.xml : failed to parse

Copied: packages/libxml2/trunk/result/errors/charref1.xml (from rev 188, packages/libxml2/branches/upstream/current/result/errors/charref1.xml)

Copied: packages/libxml2/trunk/result/errors/charref1.xml.err (from rev 188, packages/libxml2/branches/upstream/current/result/errors/charref1.xml.err)

Copied: packages/libxml2/trunk/result/errors/charref1.xml.str (from rev 188, packages/libxml2/branches/upstream/current/result/errors/charref1.xml.str)

Modified: packages/libxml2/trunk/result/errors/name.xml.str
===================================================================
--- packages/libxml2/trunk/result/errors/name.xml.str	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/errors/name.xml.str	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,3 +1,4 @@
-./test/errors/name.xml:3: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo line 1
+./test/errors/name.xml:2: parser error : Couldn't find end of Start Tag foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
 
 ^
+./test/errors/name.xml : failed to parse

Modified: packages/libxml2/trunk/result/errors/name2.xml.str
===================================================================
--- packages/libxml2/trunk/result/errors/name2.xml.str	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/errors/name2.xml.str	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,6 +1,10 @@
 ./test/errors/name2.xml:2: parser error : Specification mandate value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
 
 ^
-./test/errors/name2.xml:2: parser error : Extra content at the end of the document
-<foo foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
- ^
+./test/errors/name2.xml:2: parser error : attributes construct error
+
+^
+./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo
+
+^
+./test/errors/name2.xml : failed to parse

Copied: packages/libxml2/trunk/result/eve.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/eve.xml.rde)

Copied: packages/libxml2/trunk/result/intsubset.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/intsubset.xml.rde)

Copied: packages/libxml2/trunk/result/isolat1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/isolat1.rde)

Copied: packages/libxml2/trunk/result/isolat2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/isolat2.rde)

Copied: packages/libxml2/trunk/result/isolat3.rde (from rev 188, packages/libxml2/branches/upstream/current/result/isolat3.rde)

Copied: packages/libxml2/trunk/result/noent/ent9 (from rev 188, packages/libxml2/branches/upstream/current/result/noent/ent9)

Copied: packages/libxml2/trunk/result/ns.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ns.rde)

Copied: packages/libxml2/trunk/result/ns2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ns2.rde)

Copied: packages/libxml2/trunk/result/ns3.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ns3.rde)

Copied: packages/libxml2/trunk/result/ns4.rde (from rev 188, packages/libxml2/branches/upstream/current/result/ns4.rde)

Copied: packages/libxml2/trunk/result/p3p.rde (from rev 188, packages/libxml2/branches/upstream/current/result/p3p.rde)

Copied: packages/libxml2/trunk/result/pi.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/pi.xml.rde)

Copied: packages/libxml2/trunk/result/pi2.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/pi2.xml.rde)

Copied: packages/libxml2/trunk/result/rdf1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/rdf1.rde)

Copied: packages/libxml2/trunk/result/rdf2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/rdf2.rde)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-derive-errors1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-derive-errors1_0_0)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-derive-errors1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-derive-errors1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-derive1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-derive1_0_0)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-derive1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-derive1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-derive2_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-derive2_0_0)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-derive2_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-derive2_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-processContents-err1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-processContents-err1_0_0)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-processContents-err1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-processContents-err1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-processContents1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-processContents1_0_0)

Copied: packages/libxml2/trunk/result/schemas/anyAttr-processContents1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/anyAttr-processContents1_0_0.err)

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

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

Modified: packages/libxml2/trunk/result/schemas/attruse_0_1.err
===================================================================
--- packages/libxml2/trunk/result/schemas/attruse_0_1.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/attruse_0_1.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,3 +1 @@
-./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : required attribute attr on barA is missing
-./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : required attribute attr on barA is missing
-./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : required attribute attr on barA is missing
+./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : Attribute "attr" is required but missing.

Modified: packages/libxml2/trunk/result/schemas/attruse_0_2.err
===================================================================
--- packages/libxml2/trunk/result/schemas/attruse_0_2.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/attruse_0_2.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,3 +1 @@
-./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : attribute attr on barC is prohibited
-./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : attribute attr on barC is prohibited
-./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : attribute attr on barC is prohibited
+./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : Attribute "attr" is not allowed.

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

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

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

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

Copied: packages/libxml2/trunk/result/schemas/cos-ct-extends-1-3_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/cos-ct-extends-1-3_0_0)

Copied: packages/libxml2/trunk/result/schemas/cos-ct-extends-1-3_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/cos-ct-extends-1-3_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/cos-st-restricts-1-2-err_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/cos-st-restricts-1-2-err_0_0)

Copied: packages/libxml2/trunk/result/schemas/cos-st-restricts-1-2-err_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/cos-st-restricts-1-2-err_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-extension-err_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-extension-err_0_0)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-extension-err_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-extension-err_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-extension_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-extension_0_0)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-extension_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-extension_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-restriction-2-1-1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-restriction-2-1-1_0_0)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-restriction-2-1-1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-restriction-2-1-1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-restriction-4-1-err_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-restriction-4-1-err_0_0)

Copied: packages/libxml2/trunk/result/schemas/derivation-ok-restriction-4-1-err_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-ok-restriction-4-1-err_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/derivation-restriction-anyAttr_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-restriction-anyAttr_0_0)

Copied: packages/libxml2/trunk/result/schemas/derivation-restriction-anyAttr_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/derivation-restriction-anyAttr_0_0.err)

Modified: packages/libxml2/trunk/result/schemas/extension1_0_1.err
===================================================================
--- packages/libxml2/trunk/result/schemas/extension1_0_1.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/extension1_0_1.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/extension1_1.xml:1: element title: Schemas validity error : Attribute langue on title is unknown
+./test/schemas/extension1_1.xml:1: element title: Schemas validity error : Attribute "langue" is not allowed.

Modified: packages/libxml2/trunk/result/schemas/extension1_0_2.err
===================================================================
--- packages/libxml2/trunk/result/schemas/extension1_0_2.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/extension1_0_2.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/extension1_2.xml:1: element title: Schemas validity error : Element title: child salut should not be present
+./test/schemas/extension1_2.xml:1: element title: Schemas validity error : Element children are not allowed, because the content type is a simple type.

Copied: packages/libxml2/trunk/result/schemas/facet-unionST-err1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/facet-unionST-err1_0_0)

Copied: packages/libxml2/trunk/result/schemas/facet-unionST-err1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/facet-unionST-err1_0_0.err)

Modified: packages/libxml2/trunk/result/schemas/hexbinary_0_1.err
===================================================================
--- packages/libxml2/trunk/result/schemas/hexbinary_0_1.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/hexbinary_0_1.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1,9 +1,12 @@
-./test/schemas/hexbinary_1.xml:4: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:5: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:6: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:7: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:8: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:9: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : Failed to validate type with facet maxLength
-./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : Failed to validate type with facet length
-./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : Failed to validate type with facet length
+./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.

Modified: packages/libxml2/trunk/result/schemas/length3_0_0.err
===================================================================
--- packages/libxml2/trunk/result/schemas/length3_0_0.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/length3_0_0.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/length3_0.xsd:5: element element: Schemas parser error : Schemas: element size type non-positive-integer not found
+./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.

Modified: packages/libxml2/trunk/result/schemas/ns0_0_3.err
===================================================================
--- packages/libxml2/trunk/result/schemas/ns0_0_3.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/ns0_0_3.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/ns0_3.xml:1: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_3.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.

Modified: packages/libxml2/trunk/result/schemas/ns0_0_4.err
===================================================================
--- packages/libxml2/trunk/result/schemas/ns0_0_4.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/ns0_0_4.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/ns0_4.xml:2: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_4.xml:2: element foo: Schemas validity error : Attribute "id" is not allowed.

Modified: packages/libxml2/trunk/result/schemas/ns0_1_0.err
===================================================================
--- packages/libxml2/trunk/result/schemas/ns0_1_0.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/ns0_1_0.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/ns0_0.xml:1: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_0.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.

Modified: packages/libxml2/trunk/result/schemas/ns0_1_1.err
===================================================================
--- packages/libxml2/trunk/result/schemas/ns0_1_1.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/ns0_1_1.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/ns0_1.xml:1: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_1.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.

Copied: packages/libxml2/trunk/result/schemas/scc-no-xmlns_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/scc-no-xmlns_0_0)

Copied: packages/libxml2/trunk/result/schemas/scc-no-xmlns_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/scc-no-xmlns_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/scc-no-xsi_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/scc-no-xsi_0_0)

Copied: packages/libxml2/trunk/result/schemas/scc-no-xsi_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/scc-no-xsi_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-attribute1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute1_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-attribute1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-attribute2_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute2_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-attribute2_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute2_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-1_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-2-form_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-2-form_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-2-form_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-2-form_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-2-st_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-2-st_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-2-st_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-2-st_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-2-type_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-2-type_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-attribute3-2-type_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute3-2-type_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-attribute4_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute4_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-attribute4_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-attribute4_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-element1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element1_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-element1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-element2-1_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element2-1_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-element2-1_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element2-1_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-element2-2_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element2-2_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-element2-2_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element2-2_0_0.err)

Copied: packages/libxml2/trunk/result/schemas/src-element3_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element3_0_0)

Copied: packages/libxml2/trunk/result/schemas/src-element3_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/src-element3_0_0.err)

Modified: packages/libxml2/trunk/result/schemas/vdv-first4_0_1.err
===================================================================
--- packages/libxml2/trunk/result/schemas/vdv-first4_0_1.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/vdv-first4_0_1.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1 @@
-./test/schemas/vdv-first4_1.xml:14: element born: Schemas validity error : Failed to validate basic type date
+./test/schemas/vdv-first4_1.xml:14: element born: Schemas validity error : The value is not valid.

Modified: packages/libxml2/trunk/result/schemas/vdv-first4_0_2.err
===================================================================
--- packages/libxml2/trunk/result/schemas/vdv-first4_0_2.err	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/result/schemas/vdv-first4_0_2.err	2004-07-06 13:30:31 UTC (rev 189)
@@ -1 +1,2 @@
-./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : Failed to validate type with facet pattern
+./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.

Copied: packages/libxml2/trunk/result/schemas/xsd-simpleType-varieties_0_0 (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/xsd-simpleType-varieties_0_0)

Copied: packages/libxml2/trunk/result/schemas/xsd-simpleType-varieties_0_0.err (from rev 188, packages/libxml2/branches/upstream/current/result/schemas/xsd-simpleType-varieties_0_0.err)

Copied: packages/libxml2/trunk/result/slashdot.rdf.rde (from rev 188, packages/libxml2/branches/upstream/current/result/slashdot.rdf.rde)

Copied: packages/libxml2/trunk/result/slashdot.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/slashdot.xml.rde)

Copied: packages/libxml2/trunk/result/slashdot16.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/slashdot16.xml.rde)

Copied: packages/libxml2/trunk/result/svg1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/svg1.rde)

Copied: packages/libxml2/trunk/result/svg2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/svg2.rde)

Copied: packages/libxml2/trunk/result/svg3.rde (from rev 188, packages/libxml2/branches/upstream/current/result/svg3.rde)

Copied: packages/libxml2/trunk/result/title.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/title.xml.rde)

Copied: packages/libxml2/trunk/result/tstblanks.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/tstblanks.xml.rde)

Copied: packages/libxml2/trunk/result/utf16bebom.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/utf16bebom.xml.rde)

Copied: packages/libxml2/trunk/result/utf16bom.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/utf16bom.xml.rde)

Copied: packages/libxml2/trunk/result/utf16lebom.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/utf16lebom.xml.rde)

Copied: packages/libxml2/trunk/result/utf8bom.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/utf8bom.xml.rde)

Copied: packages/libxml2/trunk/result/valid/t10.xml (from rev 188, packages/libxml2/branches/upstream/current/result/valid/t10.xml)

Copied: packages/libxml2/trunk/result/valid/t10.xml.err (from rev 188, packages/libxml2/branches/upstream/current/result/valid/t10.xml.err)

Copied: packages/libxml2/trunk/result/wap.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/wap.xml.rde)

Copied: packages/libxml2/trunk/result/wml.xml.rde (from rev 188, packages/libxml2/branches/upstream/current/result/wml.xml.rde)

Copied: packages/libxml2/trunk/result/xhtml1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/xhtml1.rde)

Copied: packages/libxml2/trunk/result/xhtmlcomp.rde (from rev 188, packages/libxml2/branches/upstream/current/result/xhtmlcomp.rde)

Copied: packages/libxml2/trunk/result/xml1.rde (from rev 188, packages/libxml2/branches/upstream/current/result/xml1.rde)

Copied: packages/libxml2/trunk/result/xml2.rde (from rev 188, packages/libxml2/branches/upstream/current/result/xml2.rde)

Copied: packages/libxml2/trunk/test/ent9 (from rev 188, packages/libxml2/branches/upstream/current/test/ent9)

Copied: packages/libxml2/trunk/test/errors/.memdump (from rev 188, packages/libxml2/branches/upstream/current/test/errors/.memdump)

Copied: packages/libxml2/trunk/test/errors/charref1.xml (from rev 188, packages/libxml2/branches/upstream/current/test/errors/charref1.xml)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-derive-errors1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-derive-errors1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-derive-errors1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-derive-errors1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-derive1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-derive1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-derive1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-derive1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-derive2_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-derive2_0.xml)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-derive2_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-derive2_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-errors1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-errors1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-processContents-err1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-processContents-err1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-processContents-err1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-processContents-err1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-processContents1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-processContents1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/anyAttr-processContents1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr-processContents1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/anyAttr.importA.1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr.importA.1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/anyAttr.importB.1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/anyAttr.importB.1_0.xsd)

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

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

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

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

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

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

Copied: packages/libxml2/trunk/test/schemas/bug143951.imp (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/bug143951.imp)

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

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

Copied: packages/libxml2/trunk/test/schemas/cos-ct-extends-1-3_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/cos-ct-extends-1-3_0.xml)

Copied: packages/libxml2/trunk/test/schemas/cos-ct-extends-1-3_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/cos-ct-extends-1-3_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/cos-st-restricts-1-2-err_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/cos-st-restricts-1-2-err_0.xml)

Copied: packages/libxml2/trunk/test/schemas/cos-st-restricts-1-2-err_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/cos-st-restricts-1-2-err_0.xsd)

Modified: packages/libxml2/trunk/test/schemas/date_0.xml
===================================================================
--- packages/libxml2/trunk/test/schemas/date_0.xml	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/test/schemas/date_0.xml	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,6 +12,7 @@
   <date1>2000-05-18Z</date1>
   <dt1>2000-05-18T00:00:00</dt1>
   <dt2>2002-05-19T21:30:00.99</dt2>
+  <dt1>1969-12-31T23:00:01-01:00</dt1>
   <hol>--01-01</hol>
   <hol>--07-04</hol>
   <hol>--12-25</hol>

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-extension-err_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-extension-err_0.xml)

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-extension-err_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-extension-err_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-extension_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-extension_0.xml)

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-extension_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-extension_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-restriction-2-1-1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-restriction-2-1-1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-restriction-2-1-1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-restriction-2-1-1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-restriction-4-1-err_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-restriction-4-1-err_0.xml)

Copied: packages/libxml2/trunk/test/schemas/derivation-ok-restriction-4-1-err_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-ok-restriction-4-1-err_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/derivation-restriction-anyAttr_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-restriction-anyAttr_0.xml)

Copied: packages/libxml2/trunk/test/schemas/derivation-restriction-anyAttr_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-restriction-anyAttr_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/derivation-restriction-anyType.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-restriction-anyType.xml)

Copied: packages/libxml2/trunk/test/schemas/derivation-restriction-anyType.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/derivation-restriction-anyType.xsd)

Copied: packages/libxml2/trunk/test/schemas/facet-unionST-err1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/facet-unionST-err1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/facet-unionST-err1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/facet-unionST-err1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/scc-no-xmlns_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/scc-no-xmlns_0.xml)

Copied: packages/libxml2/trunk/test/schemas/scc-no-xmlns_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/scc-no-xmlns_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/scc-no-xsi_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/scc-no-xsi_0.xml)

Copied: packages/libxml2/trunk/test/schemas/scc-no-xsi_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/scc-no-xsi_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-attribute1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-attribute1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-attribute2_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute2_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-attribute2_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute2_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-2-form_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-2-form_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-2-form_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-2-form_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-2-st_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-2-st_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-2-st_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-2-st_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-2-type_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-2-type_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-attribute3-2-type_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute3-2-type_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-attribute4_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute4_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-attribute4_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-attribute4_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-element1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-element1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-element2-1_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element2-1_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-element2-1_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element2-1_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-element2-2_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element2-2_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-element2-2_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element2-2_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/src-element3_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element3_0.xml)

Copied: packages/libxml2/trunk/test/schemas/src-element3_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/src-element3_0.xsd)

Copied: packages/libxml2/trunk/test/schemas/xsd-simpleType-varieties_0.xml (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/xsd-simpleType-varieties_0.xml)

Copied: packages/libxml2/trunk/test/schemas/xsd-simpleType-varieties_0.xsd (from rev 188, packages/libxml2/branches/upstream/current/test/schemas/xsd-simpleType-varieties_0.xsd)

Copied: packages/libxml2/trunk/test/valid/t10.xml (from rev 188, packages/libxml2/branches/upstream/current/test/valid/t10.xml)

Modified: packages/libxml2/trunk/testHTML.c
===================================================================
--- packages/libxml2/trunk/testHTML.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/testHTML.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -627,7 +627,11 @@
     if (push) {
 	FILE *f;
 
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+	f = fopen(filename, "rb");
+#else
 	f = fopen(filename, "r");
+#endif
 	if (f != NULL) {
 	    int res, size = 3;
 	    char chars[4096];
@@ -653,7 +657,11 @@
 	    fclose(f);
 	}
 	if (!noout) {
-	    f = fopen(filename, "r");
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+		f = fopen(filename, "rb");
+#else
+		f = fopen(filename, "r");
+#endif
 	    if (f != NULL) {
 		int res, size = 3;
 		char chars[4096];
@@ -713,7 +721,11 @@
     if (push) {
 	FILE *f;
 
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+	f = fopen(filename, "rb");
+#else
 	f = fopen(filename, "r");
+#endif
 	if (f != NULL) {
 	    int res, size = 3;
 	    char chars[4096];

Modified: packages/libxml2/trunk/testSAX.c
===================================================================
--- packages/libxml2/trunk/testSAX.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/testSAX.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -918,7 +918,7 @@
     }
     fprintf(stdout, ", %d, %d", nb_attributes, nb_defaulted);
     if (attributes != NULL) {
-        for (i = 0;i < nb_attributes;i += 5) {
+        for (i = 0;i < nb_attributes * 5;i += 5) {
 	    if (attributes[i + 1] != NULL)
 		fprintf(stdout, ", %s:%s='", attributes[i + 1], attributes[i]);
 	    else
@@ -1011,7 +1011,11 @@
 	    /*
 	     * Empty callbacks for checking
 	     */
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+	    f = fopen(filename, "rb");
+#else
 	    f = fopen(filename, "r");
+#endif
 	    if (f != NULL) {
 		int ret;
 		char chars[10];
@@ -1036,7 +1040,11 @@
 	/*
 	 * Debug callback
 	 */
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+	f = fopen(filename, "rb");
+#else
 	f = fopen(filename, "r");
+#endif
 	if (f != NULL) {
 	    int ret;
 	    char chars[10];
@@ -1118,6 +1126,8 @@
     int i;
     int files = 0;
 
+    LIBXML_TEST_VERSION	/* be safe, plus calls xmlInitParser */
+    
     for (i = 1; i < argc ; i++) {
 	if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
 	    debug++;

Modified: packages/libxml2/trunk/uri.c
===================================================================
--- packages/libxml2/trunk/uri.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/uri.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -1972,6 +1972,185 @@
 }
 
 /**
+ * xmlBuildRelativeURI:
+ * @URI:  the URI reference under consideration
+ * @base:  the base value
+ *
+ * Expresses the URI of the reference in terms relative to the
+ * base.  Some examples of this operation include:
+ *     base = "http://site1.com/docs/book1.html"
+ *        URI input                        URI returned
+ *     docs/pic1.gif                    pic1.gif
+ *     docs/img/pic1.gif                img/pic1.gif
+ *     img/pic1.gif                     ../img/pic1.gif
+ *     http://site1.com/docs/pic1.gif   pic1.gif
+ *     http://site2.com/docs/pic1.gif   http://site2.com/docs/pic1.gif
+ *
+ *     base = "docs/book1.html"
+ *        URI input                        URI returned
+ *     docs/pic1.gif                    pic1.gif
+ *     docs/img/pic1.gif                img/pic1.gif
+ *     img/pic1.gif                     ../img/pic1.gif
+ *     http://site1.com/docs/pic1.gif   http://site1.com/docs/pic1.gif
+ *
+ *
+ * Note: if the URI reference is really wierd or complicated, it may be
+ *       worthwhile to first convert it into a "nice" one by calling
+ *       xmlBuildURI (using 'base') before calling this routine,
+ *       since this routine (for reasonable efficiency) assumes URI has
+ *       already been through some validation.
+ *
+ * Returns a new URI string (to be freed by the caller) or NULL in case
+ * error.
+ */
+xmlChar *
+xmlBuildRelativeURI (const xmlChar * URI, const xmlChar * base)
+{
+    xmlChar *val = NULL;
+    int ret;
+    int ix;
+    int pos = 0;
+    int nbslash = 0;
+    xmlURIPtr ref = NULL;
+    xmlURIPtr bas = NULL;
+    xmlChar *bptr, *uptr, *vptr;
+
+    if ((URI == NULL) || (*URI == 0))
+	return NULL;
+    /*
+     * Special case - if URI starts with '.', we assume it's already
+     * in relative form, so nothing to do.
+     */
+    if (*URI == '.') {
+	val = xmlStrdup (URI);
+	goto done;
+    }
+
+    /*
+     * First parse URI into a standard form
+     */
+    ref = xmlCreateURI ();
+    if (ref == NULL)
+	return NULL;
+    ret = xmlParseURIReference (ref, (const char *) URI);
+    if (ret != 0)
+	goto done;		/* Error in URI, return NULL */
+
+    /*
+     * Next parse base into the same standard form
+     */
+    if ((base == NULL) || (*base == 0)) {
+	val = xmlStrdup (URI);
+	goto done;
+    }
+    bas = xmlCreateURI ();
+    if (bas == NULL)
+	goto done;
+    ret = xmlParseURIReference (bas, (const char *) base);
+    if (ret != 0)
+	goto done;		/* Error in base, return NULL */
+
+    /*
+     * If the scheme / server on the URI differs from the base,
+     * just return the URI
+     */
+    if ((ref->scheme != NULL) &&
+	  ((bas->scheme == NULL) ||
+	   xmlStrcmp ((xmlChar *)bas->scheme, (xmlChar *)ref->scheme) ||
+	   xmlStrcmp ((xmlChar *)bas->server, (xmlChar *)ref->server))) {
+	val = xmlStrdup (URI);
+	goto done;
+    }
+
+    /*
+     * At this point (at last!) we can compare the two paths
+     *
+     * First we compare the two strings and find where they first differ
+     */
+    bptr = (xmlChar *)bas->path;
+    if ((ref->path[pos] == '.') && (ref->path[pos+1] == '/'))
+        pos += 2;
+    if ((*bptr == '.') && (bptr[1] == '/'))
+        bptr += 2;
+    else if ((*bptr == '/') && (ref->path[pos] != '/'))
+	bptr++;
+    while ((bptr[pos] == ref->path[pos]) && (bptr[pos] != 0))
+	pos++;
+
+    if (bptr[pos] == ref->path[pos]) {
+	val = NULL;		/* if no differences, return NULL */
+	goto done;		/* (I can't imagine why anyone would do this) */
+    }
+
+    /*
+     * In URI, "back up" to the last '/' encountered.  This will be the
+     * beginning of the "unique" suffix of URI
+     */
+    ix = pos;
+    if ((ref->path[ix] == '/') && (ix > 0))
+	ix--;
+    for (; ix > 0; ix--) {
+	if (ref->path[ix] == '/')
+	    break;
+    }
+    if (ix == 0)
+	uptr = (xmlChar *)ref->path;
+    else
+	uptr = (xmlChar *)&ref->path[ix + 1];
+
+    /*
+     * In base, count the number of '/' from the differing point
+     */
+    if (bptr[pos] != ref->path[pos]) {	/* check for trivial URI == base */
+	for (; bptr[ix] != 0; ix++) {
+	    if (bptr[ix] == '/')
+		nbslash++;
+	}
+    }
+
+    if (nbslash == 0) {
+	val = xmlStrdup (uptr);
+	goto done;
+    }
+    nbslash--;
+
+    /*
+     * Allocate just enough space for the returned string -
+     * length of the remainder of the URI, plus enough space
+     * for the "../" groups, plus one for the terminator
+     */
+    ix = xmlStrlen (uptr) + 1;
+    val = (xmlChar *) xmlMalloc (ix + 3 * nbslash);
+    if (val == NULL) {
+	goto done;
+    }
+    vptr = val;
+    /*
+     * Put in as many "../" as needed
+     */
+    for (; nbslash>0; nbslash--) {
+	*vptr++ = '.';
+	*vptr++ = '.';
+	*vptr++ = '/';
+    }
+    /*
+     * Finish up with the end of the URI
+     */
+    memcpy (vptr, uptr, ix);
+
+  done:
+    /*
+     * Free the working variables
+     */
+    if (ref != NULL)
+	xmlFreeURI (ref);
+    if (bas != NULL)
+	xmlFreeURI (bas);
+
+    return val;
+}
+
+/**
  * xmlCanonicPath:
  * @path:  the resource locator in a filesystem notation
  *

Modified: packages/libxml2/trunk/valid.c
===================================================================
--- packages/libxml2/trunk/valid.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/valid.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -1012,7 +1012,9 @@
 	    else
 		xmlDumpElementContent(buf, content->c1, 0);
             xmlBufferWriteChar(buf, " , ");
-	    if (content->c2->type == XML_ELEMENT_CONTENT_OR)
+	    if ((content->c2->type == XML_ELEMENT_CONTENT_OR) ||
+	        ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) &&
+		 (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))
 		xmlDumpElementContent(buf, content->c2, 1);
 	    else
 		xmlDumpElementContent(buf, content->c2, 0);
@@ -1024,7 +1026,9 @@
 	    else
 		xmlDumpElementContent(buf, content->c1, 0);
             xmlBufferWriteChar(buf, " | ");
-	    if (content->c2->type == XML_ELEMENT_CONTENT_SEQ)
+	    if ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) ||
+	        ((content->c2->type == XML_ELEMENT_CONTENT_OR) &&
+		 (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))
 		xmlDumpElementContent(buf, content->c2, 1);
 	    else
 		xmlDumpElementContent(buf, content->c2, 0);
@@ -6582,6 +6586,14 @@
    return(*len);
 }
 
+/*
+ * Dummy function to suppress messages while we try out valid elements
+ */
+static void xmlNoValidityErr(void *ctx ATTRIBUTE_UNUSED,
+                                const char *msg ATTRIBUTE_UNUSED, ...) {
+    return;
+}
+
 /**
  * xmlValidGetValidElements:
  * @prev:  an element to insert after
@@ -6627,14 +6639,15 @@
     
     xmlElement *element_desc;
 
-    memset(&vctxt, 0, sizeof (xmlValidCtxt));
-
     if (prev == NULL && next == NULL)
         return(-1);
 
     if (names == NULL) return(-1);
     if (max <= 0) return(-1);
 
+    memset(&vctxt, 0, sizeof (xmlValidCtxt));
+    vctxt.error = xmlNoValidityErr;	/* this suppresses err/warn output */
+
     nb_valid_elements = 0;
     ref_node = prev ? prev : next;
     parent = ref_node->parent;

Modified: packages/libxml2/trunk/win32/Makefile.bcb
===================================================================
--- packages/libxml2/trunk/win32/Makefile.bcb	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/win32/Makefile.bcb	2004-07-06 13:30:31 UTC (rev 189)
@@ -248,12 +248,22 @@
 	copy $(BINDIR)\$(XML_IMP) "$(LIBPREFIX)"
 	copy $(BINDIR)\*.exe "$(BINPREFIX)"
 
+install-bindist : all
+	if not exist "$(INCPREFIX)\libxml" mkdir "$(INCPREFIX)\libxml"
+	if not exist "$(BINPREFIX)" mkdir "$(BINPREFIX)"
+	if not exist "$(LIBPREFIX)" mkdir "$(LIBPREFIX)"
+	copy $(XML_SRCDIR)\include\libxml\*.h "$(INCPREFIX)\libxml"
+	copy $(BINDIR)\$(XML_SO) "$(SOPREFIX)"
+	copy $(BINDIR)\$(XML_A) "$(LIBPREFIX)"
+	copy $(BINDIR)\$(XML_IMP) "$(LIBPREFIX)"
+	copy $(BINDIR)\xml*.exe "$(BINPREFIX)"
+
 # This is a target for me, to make a binary distribution. Not for the public use,
 # keep your hands off :-)
 BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION)
 BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32
 bindist : all
-	$(MAKE) /nologo PREFIX=$(BDPREFIX) BINPREFIX=$(BDPREFIX)\util install
+	$(MAKE) /nologo PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)\bin install-bindist
 	cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt
 
 

Modified: packages/libxml2/trunk/win32/Makefile.mingw
===================================================================
--- packages/libxml2/trunk/win32/Makefile.mingw	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/win32/Makefile.mingw	2004-07-06 13:30:31 UTC (rev 189)
@@ -247,12 +247,22 @@
 	cmd.exe /C copy $(BINDIR)\$(XML_IMP) $(LIBPREFIX)
 	cmd.exe /C copy $(BINDIR)\*.exe $(BINPREFIX)
 
+install-bindist : all
+	cmd.exe /C if not exist $(INCPREFIX)\libxml mkdir $(INCPREFIX)\libxml
+	cmd.exe /C if not exist $(BINPREFIX) mkdir $(BINPREFIX)
+	cmd.exe /C if not exist $(LIBPREFIX) mkdir $(LIBPREFIX)
+	cmd.exe /C copy $(XML_SRCDIR)\include\libxml\*.h $(INCPREFIX)\libxml
+	cmd.exe /C copy $(BINDIR)\$(XML_SO) $(SOPREFIX)
+	cmd.exe /C copy $(BINDIR)\$(XML_A) $(LIBPREFIX)
+	cmd.exe /C copy $(BINDIR)\$(XML_IMP) $(LIBPREFIX)
+	cmd.exe /C copy $(BINDIR)\xml*.exe $(BINPREFIX)
+
 # This is a target for me, to make a binary distribution. Not for the public use,
 # keep your hands off :-)
 BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION)
 BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32
 bindist : all
-	$(MAKE) PREFIX=$(BDPREFIX) BINPREFIX=$(BDPREFIX)/util install
+	$(MAKE) PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)/bin install-bindist
 	cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt
 
 

Modified: packages/libxml2/trunk/win32/Makefile.msvc
===================================================================
--- packages/libxml2/trunk/win32/Makefile.msvc	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/win32/Makefile.msvc	2004-07-06 13:30:31 UTC (rev 189)
@@ -61,7 +61,7 @@
 LD = link.exe
 LDFLAGS = /nologo /VERSION:$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION)
 LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX)
-LIBS = 
+LIBS =
 !if "$(WITH_FTP)" == "1" || "$(WITH_HTTP)" == "1"
 LIBS = $(LIBS) wsock32.lib
 !endif 
@@ -218,6 +218,7 @@
 	if not exist $(INCPREFIX)\libxml mkdir $(INCPREFIX)\libxml
 	if not exist $(BINPREFIX) mkdir $(BINPREFIX)
 	if not exist $(LIBPREFIX) mkdir $(LIBPREFIX)
+	if not exist $(SOPREFIX) mkdir $(SOPREFIX)
 	copy $(XML_SRCDIR)\include\libxml\*.h $(INCPREFIX)\libxml
 	copy $(BINDIR)\$(XML_SO) $(SOPREFIX)
 	copy $(BINDIR)\$(XML_A) $(LIBPREFIX)
@@ -225,12 +226,23 @@
 	copy $(BINDIR)\*.exe $(BINPREFIX)
 	-copy $(BINDIR)\*.pdb $(BINPREFIX)
 
+install-bindist : all
+	if not exist $(INCPREFIX)\libxml mkdir $(INCPREFIX)\libxml
+	if not exist $(BINPREFIX) mkdir $(BINPREFIX)
+	if not exist $(LIBPREFIX) mkdir $(LIBPREFIX)
+	if not exist $(SOPREFIX) mkdir $(SOPREFIX)
+	copy $(XML_SRCDIR)\include\libxml\*.h $(INCPREFIX)\libxml
+	copy $(BINDIR)\$(XML_SO) $(SOPREFIX)
+	copy $(BINDIR)\$(XML_A) $(LIBPREFIX)
+	copy $(BINDIR)\$(XML_IMP) $(LIBPREFIX)
+	copy $(BINDIR)\xml*.exe $(BINPREFIX)
+
 # This is a target for me, to make a binary distribution. Not for the public use,
 # keep your hands off :-)
 BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION)
 BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32
 bindist : all
-	$(MAKE) /nologo PREFIX=$(BDPREFIX) BINPREFIX=$(BDPREFIX)\util install
+	$(MAKE) /nologo PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)\bin install-bindist
 	cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt
 
 

Modified: packages/libxml2/trunk/win32/configure.js
===================================================================
--- packages/libxml2/trunk/win32/configure.js	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/win32/configure.js	2004-07-06 13:30:31 UTC (rev 189)
@@ -365,37 +365,17 @@
 	f.WriteLine("  This is " + bname + ", version " + ver + ", binary package for the native Win32/IA32");
 	f.WriteLine("platform.");
 	f.WriteBlankLines(1);
-	f.WriteLine("  The directory named 'include' contains the header files. Place its");
-	f.WriteLine("contents somewhere where it can be found by the compiler.");
-	f.WriteLine("  The directory which answers to the name 'lib' contains the static and");
-	f.WriteLine("dynamic libraries. Place them somewhere where they can be found by the");
-	f.WriteLine("linker. The files whose names end with '_a.lib' are aimed for static");
-	f.WriteLine("linking, the other files are lib/dll pairs.");
-	f.WriteLine("  The directory called 'util' contains various programs which count as a");
-	f.WriteLine("part of " + bname + ".");
+	f.WriteLine("  The files in this package do not require any special installation");
+	f.WriteLine("steps. Extract the contents of the archive whereever you wish and");
+	f.WriteLine("make sure that your tools which use " + bname + " can find it.");
 	f.WriteBlankLines(1);
-	f.WriteLine("  If you plan to develop your own programme, in C, which uses " + bname + ", then");
-	f.WriteLine("you should know what to do with the files in the binary package. If you don't,");
-	f.WriteLine("know this, then please, please do some research on how to use a");
-	f.WriteLine("third-party library in a C programme. The topic belongs to the very basics"); 
-	f.WriteLine("and you will not be able to do much without that knowledge.");
+	f.WriteLine("  For example, if you want to run the supplied utilities from the command");
+	f.WriteLine("line, you can, if you wish, add the 'bin' subdirectory to the PATH");
+	f.WriteLine("environment variable.");
+	f.WriteLine("  If you want to make programmes in C which use " + bname + ", you'll");
+	f.WriteLine("likely know how to use the contents of this package. If you don't, please");
+	f.WriteLine("refer to your compiler's documentation."); 
 	f.WriteBlankLines(1);
-	f.WriteLine("  If you wish to use " + bname + " solely through the supplied utilities, such as");
-	f.WriteLine("xmllint or xsltproc, then all you need to do is place the");
-	f.WriteLine("contents of the 'lib' and 'util' directories from the binary package in a"); 
-	f.WriteLine("directory on your disc which is mentioned in your PATH environment"); 
-	f.WriteLine("variable. You can use an existing directory which is allready in the"); 
-	f.WriteLine("path, such as 'C:\WINDOWS', or 'C:\WINNT'. You can also create a new"); 
-	f.WriteLine("directory for " + bname + " and place the files there, but be sure to modify"); 
-	f.WriteLine("the PATH environment variable and add that new directory to its list.");
-	f.WriteBlankLines(1);
-	f.WriteLine("  If you use other software which needs " + bname + ", such as Apache");
-	f.WriteLine("Web Server in certain configurations, then please consult the"); 
-	f.WriteLine("documentation of that software and see if it mentions something about");
-	f.WriteLine("how it uses " + bname + " and how it expects it to be installed. If you find");
-	f.WriteLine("nothing, then the default installation, as described in the previous"); 
-	f.WriteLine("paragraph, should be suficient.");
-	f.WriteBlankLines(1);
 	f.WriteLine("  If there is something you cannot keep for yourself, such as a problem,");
 	f.WriteLine("a cheer of joy, a comment or a suggestion, feel free to contact me using");
 	f.WriteLine("the address below.");

Modified: packages/libxml2/trunk/win32/libxml2.def.src
===================================================================
--- packages/libxml2/trunk/win32/libxml2.def.src	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/win32/libxml2.def.src	2004-07-06 13:30:31 UTC (rev 189)
@@ -118,11 +118,13 @@
 #else
 xmlMemStrdup DATA
 #endif
+xmlOutputBufferCreateFilenameValue DATA
 #ifdef LIBXML_THREAD_ENABLED
 __xmlParserDebugEntities
 #else
 xmlParserDebugEntities DATA
 #endif
+xmlParserInputBufferCreateFilenameValue DATA
 xmlParserMaxDepth DATA
 #ifdef LIBXML_THREAD_ENABLED
 __xmlParserVersion
@@ -549,6 +551,7 @@
 xmlBufferWriteChar
 xmlBufferWriteQuotedString
 xmlBuildQName
+xmlBuildRelativeURI
 xmlBuildURI
 xmlByteConsumed
 #ifdef LIBXML_C14N_ENABLED
@@ -1172,6 +1175,7 @@
 xmlOutputBufferCreateFd
 xmlOutputBufferCreateFile
 xmlOutputBufferCreateFilename
+xmlOutputBufferCreateFilenameDefault
 xmlOutputBufferCreateIO
 xmlOutputBufferFlush
 xmlOutputBufferWrite
@@ -1251,6 +1255,7 @@
 xmlParserInputBufferCreateFd
 xmlParserInputBufferCreateFile
 xmlParserInputBufferCreateFilename
+xmlParserInputBufferCreateFilenameDefault
 xmlParserInputBufferCreateIO
 xmlParserInputBufferCreateMem
 xmlParserInputBufferCreateStatic
@@ -1458,7 +1463,6 @@
 xmlSaveFormatFileTo
 xmlSaveSetAttrEscape
 xmlSaveSetEscape
-xmlSaveToBuffer
 xmlSaveToFd
 xmlSaveToFilename
 xmlSaveToIO
@@ -1472,6 +1476,9 @@
 xmlSchemaCleanupTypes
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaCollapseString
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaCompareValues
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1493,13 +1500,23 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaFreeValue
 #endif
+xmlSchemaFreeWildcard
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaGetBuiltInListSimpleTypeItemType
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaGetBuiltInType
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaGetPredefinedType
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaInitTypes
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaIsBuiltInTypeFacet
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaNewDocParserCtxt
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1533,6 +1550,9 @@
 xmlSchemaValidateFacet
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaValidateListSimpleTypeFacet
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaValidatePredefinedType
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1776,7 +1796,9 @@
 xmlThrDefKeepBlanksDefaultValue
 xmlThrDefLineNumbersDefaultValue
 xmlThrDefLoadExtDtdDefaultValue
+xmlThrDefOutputBufferCreateFilenameDefault
 xmlThrDefParserDebugEntities
+xmlThrDefParserInputBufferCreateFilenameDefault
 xmlThrDefPedanticParserDefaultValue
 xmlThrDefRegisterNodeDefault
 xmlThrDefSaveNoEmptyTags

Modified: packages/libxml2/trunk/xinclude.c
===================================================================
--- packages/libxml2/trunk/xinclude.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xinclude.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -81,6 +81,7 @@
     int              nbErrors; /* the number of errors detected */
     int                legacy; /* using XINCLUDE_OLD_NS */
     int            parseFlags; /* the flags used for parsing XML documents */
+    xmlChar *		 base; /* the current xml:base */
 };
 
 static int
@@ -678,6 +679,11 @@
 	newctxt->urlTab = ctxt->urlTab;
 
 	/*
+	 * Inherit the existing base
+	 */
+	newctxt->base = ctxt->base;
+
+	/*
 	 * Inherit the documents already in use by other includes
 	 */
 	newctxt->incBase = ctxt->incNr;
@@ -1557,6 +1563,7 @@
 		    xmlFree(fragment);
 		    return(-1);
 		}
+
 	    case XPATH_RANGE:
 	    case XPATH_LOCATIONSET:
 		break;
@@ -1569,7 +1576,6 @@
 		switch (set->nodeTab[i]->type) {
 		    case XML_TEXT_NODE:
 		    case XML_CDATA_SECTION_NODE:
-		    case XML_ELEMENT_NODE:
 		    case XML_ENTITY_REF_NODE:
 		    case XML_ENTITY_NODE:
 		    case XML_PI_NODE:
@@ -1580,6 +1586,19 @@
 		    case XML_DOCB_DOCUMENT_NODE:
 #endif
 			continue;
+		    case XML_ELEMENT_NODE: {
+			xmlChar *nodeBase;
+			xmlNodePtr el = set->nodeTab[i];
+
+			nodeBase = xmlNodeGetBase(el->doc, el);
+			if (nodeBase != NULL) {
+			    if (!xmlStrEqual(nodeBase, el->doc->URL))
+			        xmlNodeSetBase(el, nodeBase);
+			    xmlFree(nodeBase);
+			}
+			continue;
+		    }
+
 		    case XML_ATTRIBUTE_NODE:
 			xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, 
 			               XML_XINCLUDE_XPTR_RESULT,
@@ -1631,12 +1650,32 @@
      */
     if ((doc != NULL) && (URL != NULL) && (xmlStrchr(URL, (xmlChar) '/'))) {
 	xmlNodePtr node;
+	xmlChar *relURI;
+	xmlChar *curBase;
 
-	node = ctxt->incTab[nr]->inc;
-	while (node != NULL) {
-	    if (node->type == XML_ELEMENT_NODE)
-		xmlNodeSetBase(node, URL);
-	    node = node->next;
+	/*
+	 * The base is only adjusted if necessary for the existing base
+	 */
+	relURI = xmlBuildRelativeURI(URL, ctxt->base);
+	if (relURI == NULL) {	/* Error return */
+	    xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, 
+	               XML_XINCLUDE_HREF_URI,
+		       "trying to build relative URI from %s\n", URL);
+	} else {
+	    if (xmlStrchr(relURI, (xmlChar) '/')) {
+		node = ctxt->incTab[nr]->inc;
+		while (node != NULL) {
+	            if (node->type == XML_ELEMENT_NODE) {
+			curBase = xmlNodeGetBase(node->doc, node);
+			if ((curBase == NULL) || xmlStrEqual(curBase, node->doc->URL))
+			    xmlNodeSetBase(node, relURI);
+			if (curBase != NULL)
+			    xmlFree(curBase);
+		    }
+	            node = node->next;
+		}
+	    }
+	    xmlFree(relURI);
 	}
     }
     if ((nr < ctxt->incNr) && (ctxt->incTab[nr]->doc != NULL) &&
@@ -1814,6 +1853,7 @@
 	newctxt = xmlXIncludeNewContext(ctxt->doc);
 	if (newctxt == NULL)
 	    return (-1);
+	newctxt->base = ctxt->base;	/* Inherit the base from the existing context */
 	xmlXIncludeSetFlags(newctxt, ctxt->parseFlags);
 	ret = xmlXIncludeDoProcess(newctxt, ctxt->doc, fallback->children);
 	if (ctxt->nbErrors > 0)
@@ -1867,6 +1907,7 @@
     xmlChar *href;
     xmlChar *parse;
     xmlChar *base;
+    xmlChar *oldBase;
     xmlChar *URI;
     int xml = 1; /* default Issue 64 */
     int ret;
@@ -1947,14 +1988,23 @@
 #endif
 
     /*
-     * Cleanup
+     * Save the base for this include (saving the current one)
      */
+    oldBase = ctxt->base;
+    ctxt->base = base;
+
     if (xml) {
 	ret = xmlXIncludeLoadDoc(ctxt, URI, nr);
 	/* xmlXIncludeGetFragment(ctxt, cur, URI); */
     } else {
 	ret = xmlXIncludeLoadTxt(ctxt, URI, nr);
     }
+
+    /*
+     * Restore the original base before checking for fallback
+     */
+    ctxt->base = oldBase;
+    
     if (ret < 0) {
 	xmlNodePtr children;
 
@@ -2296,6 +2346,7 @@
     ctxt = xmlXIncludeNewContext(doc);
     if (ctxt == NULL)
 	return(-1);
+    ctxt->base = (xmlChar *)doc->URL;
     xmlXIncludeSetFlags(ctxt, flags);
     ret = xmlXIncludeDoProcess(ctxt, doc, tree);
     if ((ret >= 0) && (ctxt->nbErrors > 0))
@@ -2339,6 +2390,7 @@
     ctxt = xmlXIncludeNewContext(tree->doc);
     if (ctxt == NULL)
 	return(-1);
+    ctxt->base = xmlNodeGetBase(tree->doc, tree);
     xmlXIncludeSetFlags(ctxt, flags);
     ret = xmlXIncludeDoProcess(ctxt, tree->doc, tree);
     if ((ret >= 0) && (ctxt->nbErrors > 0))

Modified: packages/libxml2/trunk/xmlIO.c
===================================================================
--- packages/libxml2/trunk/xmlIO.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xmlIO.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -2125,21 +2125,8 @@
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 
-/**
- * xmlParserInputBufferCreateFilename:
- * @URI:  a C string containing the URI or filename
- * @enc:  the charset encoding if known
- *
- * Create a buffered parser input for the progressive parsing of a file
- * If filename is "-' then we use stdin as the input.
- * Automatic support for ZLIB/Compress compressed document is provided
- * by default if found at compile-time.
- * Do an encoding check if enc == XML_CHAR_ENCODING_NONE
- *
- * Returns the new parser input or NULL
- */
 xmlParserInputBufferPtr
-xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) {
+__xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) {
     xmlParserInputBufferPtr ret;
     int i = 0;
     void *context = NULL;
@@ -2196,26 +2183,32 @@
     return(ret);
 }
 
-#ifdef LIBXML_OUTPUT_ENABLED
 /**
- * xmlOutputBufferCreateFilename:
+ * xmlParserInputBufferCreateFilename:
  * @URI:  a C string containing the URI or filename
- * @encoder:  the encoding converter or NULL
- * @compression:  the compression ration (0 none, 9 max).
+ * @enc:  the charset encoding if known
  *
- * Create a buffered  output for the progressive saving of a file
- * If filename is "-' then we use stdout as the output.
+ * Create a buffered parser input for the progressive parsing of a file
+ * If filename is "-' then we use stdin as the input.
  * Automatic support for ZLIB/Compress compressed document is provided
  * by default if found at compile-time.
- * TODO: currently if compression is set, the library only support
- *       writing to a local file.
+ * Do an encoding check if enc == XML_CHAR_ENCODING_NONE
  *
- * Returns the new output or NULL
+ * Returns the new parser input or NULL
  */
+xmlParserInputBufferPtr
+xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) {
+    if ((xmlParserInputBufferCreateFilenameValue)) {
+		return xmlParserInputBufferCreateFilenameValue(URI, enc);
+	}
+	return __xmlParserInputBufferCreateFilename(URI, enc);
+}
+
+#ifdef LIBXML_OUTPUT_ENABLED
 xmlOutputBufferPtr
-xmlOutputBufferCreateFilename(const char *URI,
+__xmlOutputBufferCreateFilename(const char *URI,
                               xmlCharEncodingHandlerPtr encoder,
-			      int compression ATTRIBUTE_UNUSED) {
+                              int compression ATTRIBUTE_UNUSED) {
     xmlOutputBufferPtr ret;
     xmlURIPtr puri;
     int i = 0;
@@ -2329,6 +2322,31 @@
     }
     return(ret);
 }
+
+/**
+ * xmlOutputBufferCreateFilename:
+ * @URI:  a C string containing the URI or filename
+ * @encoder:  the encoding converter or NULL
+ * @compression:  the compression ration (0 none, 9 max).
+ *
+ * Create a buffered  output for the progressive saving of a file
+ * If filename is "-' then we use stdout as the output.
+ * Automatic support for ZLIB/Compress compressed document is provided
+ * by default if found at compile-time.
+ * TODO: currently if compression is set, the library only support
+ *       writing to a local file.
+ *
+ * Returns the new output or NULL
+ */
+xmlOutputBufferPtr
+xmlOutputBufferCreateFilename(const char *URI,
+                              xmlCharEncodingHandlerPtr encoder,
+                              int compression ATTRIBUTE_UNUSED) {
+    if ((xmlOutputBufferCreateFilenameValue)) {
+		return xmlOutputBufferCreateFilenameValue(URI, encoder, compression);
+	}
+	return __xmlOutputBufferCreateFilename(URI, encoder, compression);
+}
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 /**
@@ -2581,6 +2599,47 @@
 #endif /* LIBXML_OUTPUT_ENABLED */
 
 /**
+ * xmlParserInputBufferCreateFilenameDefault:
+ * @func: function pointer to the new ParserInputBufferCreateFilenameFunc
+ *
+ * Registers a callback for URI input file handling
+ *
+ * Returns the old value of the registration function
+ */
+xmlParserInputBufferCreateFilenameFunc
+xmlParserInputBufferCreateFilenameDefault(xmlParserInputBufferCreateFilenameFunc func)
+{
+    xmlParserInputBufferCreateFilenameFunc old = xmlParserInputBufferCreateFilenameValue;
+    if (old == NULL) {
+		old = __xmlParserInputBufferCreateFilename;
+	}
+
+    xmlParserInputBufferCreateFilenameValue = func;
+    return(old);
+}
+
+/**
+ * xmlOutputBufferCreateFilenameDefault:
+ * @func: function pointer to the new OutputBufferCreateFilenameFunc
+ *
+ * Registers a callback for URI output file handling
+ *
+ * Returns the old value of the registration function
+ */
+xmlOutputBufferCreateFilenameFunc
+xmlOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func)
+{
+    xmlOutputBufferCreateFilenameFunc old = xmlOutputBufferCreateFilenameValue;
+#ifdef LIBXML_OUTPUT_ENABLED
+    if (old == NULL) {
+		old = __xmlOutputBufferCreateFilename;
+	}
+#endif
+    xmlOutputBufferCreateFilenameValue = func;
+    return(old);
+}
+
+/**
  * xmlParserInputBufferPush:
  * @in:  a buffered parser input
  * @len:  the size in bytes of the array.

Modified: packages/libxml2/trunk/xmllint.c
===================================================================
--- packages/libxml2/trunk/xmllint.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xmllint.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -97,6 +97,18 @@
 #define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
 #endif
 
+typedef enum {
+    XMLLINT_RETURN_OK = 0,	/* No error */
+    XMLLINT_ERR_UNCLASS,	/* Unclassified */
+    XMLLINT_ERR_DTD,		/* Error in DTD */
+    XMLLINT_ERR_VALID,		/* Validation error */
+    XMLLINT_ERR_RDFILE,		/* CtxtReadFile error */
+    XMLLINT_ERR_SCHEMACOMP,	/* Schema compilation */
+    XMLLINT_ERR_OUT,		/* Error writing output */
+    XMLLINT_ERR_SCHEMAPAT,	/* Error in schema pattern */
+    XMLLINT_ERR_RDREGIS,	/* Error in Reader registration */
+    XMLLINT_ERR_MEM		/* Out of memory error */
+} xmllintReturnCode;
 #ifdef LIBXML_DEBUG_ENABLED
 static int shell = 0;
 static int debugent = 0;
@@ -148,7 +160,7 @@
 #endif
 static int dtdattrs = 0;
 static int loaddtd = 0;
-static int progresult = 0;
+static xmllintReturnCode progresult = XMLLINT_RETURN_OK;
 static int timing = 0;
 static int generate = 0;
 static int dropdtd = 0;
@@ -181,7 +193,7 @@
 OOM(void)
 {
     fprintf(stderr, "Ran out of memory needs > %d bytes\n", maxmem);
-    progresult = 9;
+    progresult = XMLLINT_ERR_MEM;
 }
 
 static void
@@ -744,7 +756,7 @@
 	    if (ret < 0) {
 		xmlGenericError(xmlGenericErrorContext,
 			"Relax-NG schema %s failed to compile\n", relaxng);
-		progresult = 5;
+		progresult = XMLLINT_ERR_SCHEMACOMP;
 		relaxng = NULL;
 	    }
 	    if ((timing) && (!repeat)) {
@@ -788,7 +800,7 @@
 	    if (xmlTextReaderIsValid(reader) != 1) {
 		xmlGenericError(xmlGenericErrorContext,
 			"Document %s does not validate\n", filename);
-		progresult = 3;
+		progresult = XMLLINT_ERR_VALID;
 	    }
 	}
 #endif /* LIBXML_VALID_ENABLED */
@@ -796,7 +808,7 @@
 	if (relaxng != NULL) {
 	    if (xmlTextReaderIsValid(reader) != 1) {
 		fprintf(stderr, "%s fails to validate\n", filename);
-		progresult = 3;
+		progresult = XMLLINT_ERR_VALID;
 	    } else {
 		fprintf(stderr, "%s validates\n", filename);
 	    }
@@ -808,11 +820,11 @@
 	xmlFreeTextReader(reader);
 	if (ret != 0) {
 	    fprintf(stderr, "%s : failed to parse\n", filename);
-	    progresult = 1;
+	    progresult = XMLLINT_ERR_UNCLASS;
 	}
     } else {
 	fprintf(stderr, "Unable to open %s\n", filename);
-	progresult = 1;
+	progresult = XMLLINT_ERR_UNCLASS;
     }
 #ifdef HAVE_SYS_MMAN_H
     if (memory) {
@@ -848,11 +860,11 @@
 	xmlFreeTextReader(reader);
 	if (ret != 0) {
 	    fprintf(stderr, "failed to walk through the doc\n");
-	    progresult = 1;
+	    progresult = XMLLINT_ERR_UNCLASS;
 	}
     } else {
 	fprintf(stderr, "Failed to crate a reader from the document\n");
-	progresult = 1;
+	progresult = XMLLINT_ERR_UNCLASS;
     }
 }
 #endif /* LIBXML_READER_ENABLED */
@@ -889,7 +901,11 @@
     else if ((html) && (push)) {
         FILE *f;
 
-        f = fopen(filename, "r");
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+	f = fopen(filename, "rb");
+#else
+	f = fopen(filename, "r");
+#endif
         if (f != NULL) {
             int res, size = 3;
             char chars[4096];
@@ -928,7 +944,11 @@
 	    if ((filename[0] == '-') && (filename[1] == 0)) {
 	      f = stdin;
 	    } else {
-	      f = fopen(filename, "r");
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+		f = fopen(filename, "rb");
+#else
+		f = fopen(filename, "r");
+#endif
 	    }
 	    if (f != NULL) {
 		int ret;
@@ -963,7 +983,11 @@
 	    } else {
 	        FILE *f;
 
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+		f = fopen(filename, "rb");
+#else
 		f = fopen(filename, "r");
+#endif
 		if (f != NULL) {
 		    if (rectxt == NULL)
 			doc = xmlReadIO((xmlInputReadCallback) myRead,
@@ -1033,7 +1057,7 @@
 		doc = xmlCtxtReadFile(ctxt, filename, NULL, options);
 
 		if (ctxt->valid == 0)
-		    progresult = 4;
+		    progresult = XMLLINT_ERR_RDFILE;
 		if (rectxt == NULL)
 		    xmlFreeParserCtxt(ctxt);
 	    }
@@ -1050,7 +1074,7 @@
      * If we don't have a document we might as well give up.  Do we
      * want an error message here?  <sven at zen.org> */
     if (doc == NULL) {
-	progresult = 1;
+	progresult = XMLLINT_ERR_UNCLASS;
 	return;
     }
 
@@ -1171,13 +1195,13 @@
 		    }
 		    if (out != NULL) {
 			if (htmlDocDump(out, doc) < 0)
-			    progresult = 6;
+			    progresult = XMLLINT_ERR_OUT;
 
 			if (output != NULL)
 			    fclose(out);
 		    } else {
 			fprintf(stderr, "failed to open %s\n", output);
-			progresult = 6;
+			progresult = XMLLINT_ERR_OUT;
 		    }
 		}
 		if ((timing) && (!repeat)) {
@@ -1224,7 +1248,7 @@
 		if (ret < 0) {
 		    fprintf(stderr, "failed save to %s\n",
 		            output ? output : "-");
-		    progresult = 6;
+		    progresult = XMLLINT_ERR_OUT;
 		}
 	    }
 	    else if (format) {
@@ -1232,7 +1256,7 @@
 		if (ret < 0) {
 		    fprintf(stderr, "failed save to %s\n",
 		            output ? output : "-");
-		    progresult = 6;
+		    progresult = XMLLINT_ERR_OUT;
 		}
 	    }
 	    else {
@@ -1244,13 +1268,13 @@
 		}
 		if (out != NULL) {
 		    if (xmlDocDump(out, doc) < 0)
-		        progresult = 6;
+		        progresult = XMLLINT_ERR_OUT;
 
 		    if (output != NULL)
 			fclose(out);
 		} else {
 		    fprintf(stderr, "failed to open %s\n", output);
-		    progresult = 6;
+		    progresult = XMLLINT_ERR_OUT;
 		}
 	    }
 	    if ((timing) && (!repeat)) {
@@ -1271,7 +1295,7 @@
 		    fclose(out);
 	    } else {
 		fprintf(stderr, "failed to open %s\n", output);
-		progresult = 6;
+		progresult = XMLLINT_ERR_OUT;
 	    }
 	}
 #endif
@@ -1302,7 +1326,7 @@
 	    else
 		xmlGenericError(xmlGenericErrorContext,
 			"Could not parse DTD %s\n", dtdvalidfpi);
-	    progresult = 2;
+	    progresult = XMLLINT_ERR_DTD;
 	} else {
 	    xmlValidCtxtPtr cvp;
 
@@ -1327,7 +1351,7 @@
 		    xmlGenericError(xmlGenericErrorContext,
 			    "Document %s does not validate against %s\n",
 			    filename, dtdvalidfpi);
-		progresult = 3;
+		progresult = XMLLINT_ERR_VALID;
 	    }
 	    if ((timing) && (!repeat)) {
 		endTimer("Validating against DTD");
@@ -1353,7 +1377,7 @@
 	if (!xmlValidateDocument(cvp, doc)) {
 	    xmlGenericError(xmlGenericErrorContext,
 		    "Document %s does not validate\n", filename);
-	    progresult = 3;
+	    progresult = XMLLINT_ERR_VALID;
 	}
 	if ((timing) && (!repeat)) {
 	    endTimer("Validating");
@@ -1380,9 +1404,11 @@
 	    fprintf(stderr, "%s validates\n", filename);
 	} else if (ret > 0) {
 	    fprintf(stderr, "%s fails to validate\n", filename);
+	    progresult = XMLLINT_ERR_VALID;
 	} else {
 	    fprintf(stderr, "%s validation generated an internal error\n",
 		   filename);
+	    progresult = XMLLINT_ERR_VALID;
 	}
 	xmlRelaxNGFreeValidCtxt(ctxt);
 	if ((timing) && (!repeat)) {
@@ -1406,9 +1432,11 @@
 	    fprintf(stderr, "%s validates\n", filename);
 	} else if (ret > 0) {
 	    fprintf(stderr, "%s fails to validate\n", filename);
+	    progresult = XMLLINT_ERR_VALID;
 	} else {
 	    fprintf(stderr, "%s validation generated an internal error\n",
 		   filename);
+	    progresult = XMLLINT_ERR_VALID;
 	}
 	xmlSchemaFreeValidCtxt(ctxt);
 	if ((timing) && (!repeat)) {
@@ -1946,7 +1974,7 @@
 	if (relaxngschemas == NULL) {
 	    xmlGenericError(xmlGenericErrorContext,
 		    "Relax-NG schema %s failed to compile\n", relaxng);
-            progresult = 5;
+            progresult = XMLLINT_ERR_SCHEMACOMP;
 	    relaxng = NULL;
 	}
 	xmlRelaxNGFreeParserCtxt(ctxt);
@@ -1972,7 +2000,7 @@
 	if (wxschemas == NULL) {
 	    xmlGenericError(xmlGenericErrorContext,
 		    "WXS schema %s failed to compile\n", schema);
-            progresult = 5;
+            progresult = XMLLINT_ERR_SCHEMACOMP;
 	    schema = NULL;
 	}
 	xmlSchemaFreeParserCtxt(ctxt);
@@ -1987,7 +2015,7 @@
 	if (patternc == NULL) {
 	    xmlGenericError(xmlGenericErrorContext,
 		    "Pattern %s failed to compile\n", pattern);
-            progresult = 7;
+            progresult = XMLLINT_ERR_SCHEMAPAT;
 	    pattern = NULL;
 	}
     }
@@ -2071,7 +2099,7 @@
 
                 if ((chkregister) && (nbregister != 0)) {
 		    fprintf(stderr, "Registration count off: %d\n", nbregister);
-		    progresult = 8;
+		    progresult = XMLLINT_ERR_RDREGIS;
 		}
 	    }
 	    files ++;

Modified: packages/libxml2/trunk/xmlmemory.c
===================================================================
--- packages/libxml2/trunk/xmlmemory.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xmlmemory.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -29,6 +29,7 @@
 #include <ctype.h>
 #endif
 
+/* #define DEBUG_MEMORY */
 
 /**
  * MEM_LIST:
@@ -42,8 +43,8 @@
 #endif
 #endif
 
+#include <libxml/globals.h>	/* must come before xmlmemory.h */
 #include <libxml/xmlmemory.h>
-#include <libxml/globals.h>
 #include <libxml/xmlerror.h>
 #include <libxml/threads.h>
 
@@ -60,7 +61,7 @@
  *									*
  ************************************************************************/
 
-
+#if !defined(LIBXML_THREAD_ENABLED) && !defined(LIBXML_THREAD_ALLOC_ENABLED)
 #ifdef xmlMalloc
 #undef xmlMalloc
 #endif
@@ -70,8 +71,8 @@
 #ifdef xmlMemStrdup
 #undef xmlMemStrdup
 #endif
+#endif
 
-
 /*
  * Each of the blocks allocated begin with a header containing informations
  */
@@ -309,6 +310,9 @@
 {
     MEMHDR *p;
     unsigned long number;
+#ifdef DEBUG_MEMORY
+    size_t oldsize;
+#endif
 
     if (ptr == NULL)
         return(xmlMallocLoc(size, file, line));
@@ -325,6 +329,9 @@
     p->mh_tag = ~MEMTAG;
     xmlMutexLock(xmlMemMutex);
     debugMemSize -= p->mh_size;
+#ifdef DEBUG_MEMORY
+    oldsize = p->mh_size;
+#endif
 #ifdef MEM_LIST
     debugmem_list_delete(p);
 #endif
@@ -356,6 +363,10 @@
 
     TEST_POINT
 
+#ifdef DEBUG_MEMORY
+    xmlGenericError(xmlGenericErrorContext,
+	    "Realloced(%d to %d) Ok\n", oldsize, size);
+#endif
     return(HDR_2_CLIENT(p));
     
 error:    
@@ -388,6 +399,9 @@
 {
     MEMHDR *p;
     char *target;
+#ifdef DEBUG_MEMORY
+    size_t size;
+#endif
 
     if (ptr == (void *) -1) {
 	xmlGenericError(xmlGenericErrorContext,
@@ -414,6 +428,9 @@
     memset(target, -1, p->mh_size);
     xmlMutexLock(xmlMemMutex);
     debugMemSize -= p->mh_size;
+#ifdef DEBUG_MEMORY
+    size = p->mh_size;
+#endif
 #ifdef MEM_LIST
     debugmem_list_delete(p);
 #endif
@@ -423,6 +440,11 @@
 
     TEST_POINT
 
+#ifdef DEBUG_MEMORY
+    xmlGenericError(xmlGenericErrorContext,
+	    "Freed(%d) Ok\n", size);
+#endif
+    
     return;
     
 error:    
@@ -618,12 +640,15 @@
         switch (p->mh_type) {
            case STRDUP_TYPE:fprintf(fp,"strdup()  in ");break;
            case MALLOC_TYPE:fprintf(fp,"malloc()  in ");break;
-          case REALLOC_TYPE:fprintf(fp,"realloc() in ");break;
+           case REALLOC_TYPE:fprintf(fp,"realloc() in ");break;
            case MALLOC_ATOMIC_TYPE:fprintf(fp,"atomicmalloc()  in ");break;
-          case REALLOC_ATOMIC_TYPE:fprintf(fp,"atomicrealloc() in ");break;
-                    default:fprintf(fp,"   ???    in ");break;
+           case REALLOC_ATOMIC_TYPE:fprintf(fp,"atomicrealloc() in ");break;
+           default:
+	        fprintf(fp,"Unknow memory block, corruped maybe");
+		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(%d)", p->mh_file, p->mh_line);
         if (p->mh_tag != MEMTAG)
 	      fprintf(fp,"  INVALID");
         nb++;
@@ -780,6 +805,10 @@
 int
 xmlInitMemory(void)
 {
+#ifdef DEBUG_MEMORY
+     xmlGenericError(xmlGenericErrorContext,
+	     "xmlInitMemory()\n");
+#endif     
 #ifdef HAVE_STDLIB_H
      char *breakpoint;
 #endif     
@@ -808,7 +837,6 @@
      xmlGenericError(xmlGenericErrorContext,
 	     "xmlInitMemory() Ok\n");
 #endif     
-
      return(0);
 }
 
@@ -819,12 +847,20 @@
  */
 void
 xmlCleanupMemory(void) {
+#ifdef DEBUG_MEMORY
+     xmlGenericError(xmlGenericErrorContext,
+	     "xmlCleanupMemory()\n");
+#endif     
     if (xmlMemInitialized == 0)
         return;
 
     xmlFreeMutex(xmlMemMutex);
     xmlMemMutex = NULL;
     xmlMemInitialized = 0;
+#ifdef DEBUG_MEMORY
+     xmlGenericError(xmlGenericErrorContext,
+	     "xmlCleanupMemory() Ok\n");
+#endif     
 }
 
 /**
@@ -845,6 +881,10 @@
 int
 xmlMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc,
             xmlReallocFunc reallocFunc, xmlStrdupFunc strdupFunc) {
+#ifdef DEBUG_MEMORY
+     xmlGenericError(xmlGenericErrorContext,
+	     "xmlMemSetup()\n");
+#endif     
     if (freeFunc == NULL)
 	return(-1);
     if (mallocFunc == NULL)
@@ -858,6 +898,10 @@
     xmlMallocAtomic = mallocFunc;
     xmlRealloc = reallocFunc;
     xmlMemStrdup = strdupFunc;
+#ifdef DEBUG_MEMORY
+     xmlGenericError(xmlGenericErrorContext,
+	     "xmlMemSetup() Ok\n");
+#endif     
     return(0);
 }
 
@@ -904,6 +948,10 @@
 xmlGcMemSetup(xmlFreeFunc freeFunc, xmlMallocFunc mallocFunc,
               xmlMallocFunc mallocAtomicFunc, xmlReallocFunc reallocFunc,
 	      xmlStrdupFunc strdupFunc) {
+#ifdef DEBUG_MEMORY
+     xmlGenericError(xmlGenericErrorContext,
+	     "xmlGcMemSetup()\n");
+#endif     
     if (freeFunc == NULL)
 	return(-1);
     if (mallocFunc == NULL)
@@ -919,6 +967,10 @@
     xmlMallocAtomic = mallocAtomicFunc;
     xmlRealloc = reallocFunc;
     xmlMemStrdup = strdupFunc;
+#ifdef DEBUG_MEMORY
+     xmlGenericError(xmlGenericErrorContext,
+	     "xmlGcMemSetup() Ok\n");
+#endif     
     return(0);
 }
 

Modified: packages/libxml2/trunk/xmlreader.c
===================================================================
--- packages/libxml2/trunk/xmlreader.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xmlreader.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -1224,6 +1224,7 @@
 	    reader->state = XML_TEXTREADER_ELEMENT;
 	}
 	reader->depth = 0;
+	reader->ctxt->parseMode = XML_PARSE_READER;
 	goto node_found;
     }
     oldstate = reader->state;
@@ -1920,6 +1921,7 @@
 	ret->base = 0;
 	ret->cur = 0;
     }
+    
     if (ret->ctxt == NULL) {
         xmlGenericError(xmlGenericErrorContext,
 		"xmlNewTextReader : malloc failed\n");
@@ -1927,6 +1929,7 @@
 	xmlFree(ret);
 	return(NULL);
     }
+    ret->ctxt->parseMode = XML_PARSE_READER;
     ret->ctxt->_private = ret;
     ret->ctxt->linenumbers = 1;
     ret->ctxt->dictNames = 1;
@@ -3291,6 +3294,13 @@
 		(attr->children->next == NULL))
 		return(attr->children->content);
 	    else {
+		if (reader->buffer == NULL)
+		    reader->buffer = xmlBufferCreateSize(100);
+		if (reader->buffer == NULL) {
+		    xmlGenericError(xmlGenericErrorContext,
+				    "xmlTextReaderSetup : malloc failed\n");
+		    return (NULL);
+		}
 	        reader->buffer->use = 0;
 	        xmlNodeBufGetContent(reader->buffer, node);
 		return(reader->buffer->content);
@@ -3544,9 +3554,9 @@
  * xmlTextReaderPreserve:
  * @reader:  the xmlTextReaderPtr used
  *
- * 
- * current node being accessed by the xmlTextReader. This is dangerous
- * because the underlying node may be destroyed on the next Reads.
+ * This tells the XML Reader to preserve the current node.
+ * The caller must also use xmlTextReaderCurrentDoc() to
+ * keep an handle on the resulting document once parsing has finished
  *
  * Returns the xmlNodePtr or NULL in case of error.
  */
@@ -3564,7 +3574,7 @@
     if (cur == NULL)
         return(NULL);
 
-    if (cur->type != XML_DOCUMENT_NODE) {
+    if ((cur->type != XML_DOCUMENT_NODE) && (cur->type != XML_DTD_NODE)) {
 	cur->extra |= NODE_IS_PRESERVED;
 	cur->extra |= NODE_IS_SPRESERVED;
     }
@@ -4231,6 +4241,7 @@
      * use the parser dictionnary to allocate all elements and attributes names
      */
     reader->ctxt->docdict = 1;
+    reader->ctxt->parseMode = XML_PARSE_READER;
 
 #ifdef LIBXML_XINCLUDE_ENABLED
     if (reader->xincctxt != NULL) {

Modified: packages/libxml2/trunk/xmlsave.c
===================================================================
--- packages/libxml2/trunk/xmlsave.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xmlsave.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -1357,7 +1357,6 @@
     return(ret);
 }
 
-#if 0
 /**
  * xmlSaveToBuffer:
  * @buffer:  a buffer
@@ -1368,14 +1367,13 @@
  * with the encoding and the options given
  *
  * Returns a new serialization context or NULL in case of error.
- */
 xmlSaveCtxtPtr
 xmlSaveToBuffer(xmlBufferPtr buffer, const char *encoding, int options)
 {
     TODO
     return(NULL);
 }
-#endif
+ */
 
 /**
  * xmlSaveToIO:

Modified: packages/libxml2/trunk/xmlschemas.c
===================================================================
--- packages/libxml2/trunk/xmlschemas.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xmlschemas.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -12,6 +12,9 @@
  *   - when types are redefined in includes, check that all
  *     types in the redef list are equal
  *     -> need a type equality operation.
+ *   - if we don't intend to use the schema for schemas, we 
+ *     need to validate all schema attributes (ref, type, name)
+ *     against their types.
  */
 #define IN_LIBXML
 #include "libxml.h"
@@ -42,6 +45,8 @@
 
 /* #define DEBUG_AUTOMATA 1 */
 
+/* #define DEBUG_ATTR_VALIDATION 1 */
+
 #define UNBOUNDED (1 << 30)
 #define TODO 								\
     xmlGenericError(xmlGenericErrorContext,				\
@@ -100,17 +105,25 @@
 
     xmlDictPtr dict;		/* dictionnary for interned string names */
     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 */
 };
 
 
 #define XML_SCHEMAS_ATTR_UNKNOWN 1
 #define XML_SCHEMAS_ATTR_CHECKED 2
+#define XML_SCHEMAS_ATTR_PROHIBITED 3
+#define XML_SCHEMAS_ATTR_MISSING 4
+#define XML_SCHEMAS_ATTR_INVALID_VALUE 5
+#define XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED 6
 
 typedef struct _xmlSchemaAttrState xmlSchemaAttrState;
 typedef xmlSchemaAttrState *xmlSchemaAttrStatePtr;
 struct _xmlSchemaAttrState {
+    xmlSchemaAttrStatePtr next;
     xmlAttrPtr attr;
     int state;
+    xmlSchemaAttributePtr decl;
 };
 
 /**
@@ -143,9 +156,9 @@
     xmlRegExecCtxtPtr regexp;
     xmlSchemaValPtr value;
 
-    int attrNr;
-    int attrBase;
-    int attrMax;
+    xmlSchemaAttrStatePtr attrTop;
+    /* xmlSchemaAttrStatePtr attrBase; */
+    /* int attrMax; */
     xmlSchemaAttrStatePtr attr;
 };
 
@@ -176,18 +189,32 @@
  * 			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);
+static const char *
+xmlSchemaFacetTypeToString(xmlSchemaTypeType type);
+static int
+xmlSchemaValidateSimpleTypeValue(xmlSchemaValidCtxtPtr ctxt, 
+				 const xmlChar *value,
+				 int fireErrors,				 
+				 int applyFacets);
 
 /************************************************************************
  *									*
@@ -266,7 +293,51 @@
         xmlSchemaPErr(ctxt, node, error, msg, str1, str2);
 }
 
+
 /**
+ * xmlSchemaPErrExt:
+ * @ctxt: the parsing context
+ * @node: the context node
+ * @error: the error code 
+ * @strData1: extra data
+ * @strData2: extra data
+ * @strData3: extra data
+ * @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 parser error
+ */
+static void
+xmlSchemaPErrExt(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node, int error,
+		const xmlChar * strData1, const xmlChar * strData2, 
+		const xmlChar * strData3, const char *msg, const xmlChar * str1, 
+		const xmlChar * str2, const xmlChar * str3, const xmlChar * str4,
+		const xmlChar * str5)
+{
+
+    xmlGenericErrorFunc channel = NULL;
+    xmlStructuredErrorFunc schannel = NULL;
+    void *data = NULL;
+
+    if (ctxt != NULL) {
+        ctxt->nberrors++;
+        channel = ctxt->error;
+        data = ctxt->userData;
+	schannel = ctxt->serror;
+    }
+    __xmlRaiseError(schannel, channel, data, ctxt, node, XML_FROM_SCHEMASP,
+                    error, XML_ERR_ERROR, NULL, 0,
+                    (const char *) strData1, (const char *) strData2, 
+		    (const char *) strData3, 0, 0, msg, str1, str2, 
+		    str3, str4, str5);
+}
+
+
+/**
  * xmlSchemaVTypeErrMemory:
  * @node: a context node
  * @extra:  extra informations
@@ -524,6 +595,44 @@
 }
 
 /**
+ * xmlSchemaFreeWildcardNsSet:
+ * set:  a schema wildcard namespace
+ *
+ * Deallocates a list of wildcard constraint structures.
+ */
+static void
+xmlSchemaFreeWildcardNsSet(xmlSchemaWildcardNsPtr set)
+{
+    xmlSchemaWildcardNsPtr next;
+
+    while (set != NULL) {
+	next = set->next;
+	xmlFree(set);
+	set = next;
+    }
+}
+
+/**
+ * xmlSchemaFreeWildcard:
+ * @wildcard:  a wildcard structure
+ *
+ * Deallocates a wildcard structure.
+ */
+void
+xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard)
+{
+    if (wildcard == NULL)
+        return;
+    if (wildcard->annot != NULL)
+        xmlSchemaFreeAnnot(wildcard->annot);
+    if (wildcard->nsSet != NULL) 
+	xmlSchemaFreeWildcardNsSet(wildcard->nsSet);    
+    if (wildcard->negNsSet != NULL) 
+	xmlFree(wildcard->negNsSet);    
+    xmlFree(wildcard);
+}
+
+/**
  * xmlSchemaFreeAttributeGroup:
  * @schema:  a schema attribute group structure
  *
@@ -534,10 +643,52 @@
 {
     if (attr == NULL)
         return;
+    if (attr->annot != NULL)
+        xmlSchemaFreeAnnot(attr->annot);
+    if ((attr->flags & XML_SCHEMAS_ATTRGROUP_GLOBAL) && 
+	(attr->attributeWildcard != NULL))
+	xmlSchemaFreeWildcard(attr->attributeWildcard);
+
     xmlFree(attr);
 }
 
 /**
+ * xmlSchemaFreeAttributeUseList:
+ * @attrUse:  an attribute link
+ *
+ * Deallocate a list of schema attribute uses.
+ */
+static void
+xmlSchemaFreeAttributeUseList(xmlSchemaAttributeLinkPtr attrUse)
+{
+    xmlSchemaAttributeLinkPtr next;
+
+    while (attrUse != NULL) {
+	next = attrUse->next;
+	xmlFree(attrUse);
+	attrUse = next;
+    }    
+}
+
+/**
+ * xmlSchemaFreeTypeLinkList:
+ * @alink: a type link
+ *
+ * Deallocate a list of types.
+ */
+static void
+xmlSchemaFreeTypeLinkList(xmlSchemaTypeLinkPtr link)
+{
+    xmlSchemaTypeLinkPtr next;
+
+    while (link != NULL) {
+	next = link->next;
+	xmlFree(link);
+	link = next;
+    }    
+}
+
+/**
  * xmlSchemaFreeElement:
  * @schema:  a schema element structure
  *
@@ -598,6 +749,29 @@
             facet = next;
         }
     }
+    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) && 
+	    ((type->type != XML_SCHEMA_TYPE_COMPLEX) ||
+	    ((type->type == XML_SCHEMA_TYPE_COMPLEX) && 
+	    (type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD)))) { 
+	    xmlSchemaFreeWildcard(type->attributeWildcard);
+	}
+    }
+    if (type->memberTypes != NULL)
+	xmlSchemaFreeTypeLinkList(type->memberTypes);
+    if (type->facetSet != NULL) {
+	xmlSchemaFacetLinkPtr next, link;
+
+	link = type->facetSet;
+	do {
+	    next = link->next;
+	    xmlFree(link);
+	    link = next;
+	} while (link != NULL);
+    }      
     xmlFree(type);
 }
 
@@ -689,16 +863,14 @@
         return;
 
     fprintf(output, "Element ");
-    if (elem->flags & XML_SCHEMAS_ELEM_TOPLEVEL)
-        fprintf(output, "toplevel ");
+    if (elem->flags & XML_SCHEMAS_ELEM_GLOBAL)
+        fprintf(output, "global ");
     fprintf(output, ": %s ", elem->name);
     if (namespace != NULL)
         fprintf(output, "namespace '%s' ", namespace);
 
     if (elem->flags & XML_SCHEMAS_ELEM_NILLABLE)
         fprintf(output, "nillable ");
-    if (elem->flags & XML_SCHEMAS_ELEM_GLOBAL)
-        fprintf(output, "global ");
     if (elem->flags & XML_SCHEMAS_ELEM_DEFAULT)
         fprintf(output, "default ");
     if (elem->flags & XML_SCHEMAS_ELEM_FIXED)
@@ -830,7 +1002,7 @@
             fprintf(output, "mixed ");
             break;
         case XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS:
-            fprintf(output, "mixed_or_elems ");
+	/* not used. */
             break;
         case XML_SCHEMA_CONTENT_BASIC:
             fprintf(output, "basic ");
@@ -909,6 +1081,36 @@
  *									*
  ************************************************************************/
 
+static xmlAttrPtr
+xmlSchemaGetPropNode(xmlNodePtr node, const xmlChar *name) 
+{
+    xmlAttrPtr prop;
+
+    if ((node == NULL) || (name == NULL)) return(NULL);
+    prop = node->properties;
+    while (prop != NULL) {
+        if ((xmlStrEqual(prop->name, name)) &&	    
+	    (prop->ns == NULL))
+	    return(prop);
+	prop = prop->next;
+    }
+    return (NULL);
+}
+
+static const xmlChar *
+xmlSchemaGetNodeContent(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node)
+{
+    xmlChar *val;
+    const xmlChar *ret;
+
+    val = xmlNodeGetContent(node);
+    if (val == NULL)
+        return(NULL);
+    ret = xmlDictLookup(ctxt->dict, val, -1);
+    xmlFree(val);
+    return(ret);    
+}
+
 /**
  * xmlSchemaGetProp:
  * @ctxt: the parser context
@@ -1040,12 +1242,13 @@
     if ((name == NULL) || (schema == NULL))
         return (NULL);
     
-    if (namespace == NULL) {
+    
         ret = xmlHashLookup2(schema->elemDecl, name, namespace);
         if ((ret != NULL) &&
-	    ((level == 0) || (ret->flags & XML_SCHEMAS_ELEM_TOPLEVEL))) {
+	((level == 0) || (ret->flags & XML_SCHEMAS_ELEM_GLOBAL))) {
             return (ret);
-	}
+    } else
+	ret = NULL;
     /*
      * This one was removed, since top level element declarations have
      * the target namespace specified in targetNamespace of the <schema>
@@ -1062,17 +1265,19 @@
             return (ret);
 	}
     */
-    } else {
-	ret = xmlHashLookup2(schema->elemDecl, name, namespace);
-        if ((ret != NULL) &&
-	    ((level == 0) || (ret->flags & XML_SCHEMAS_ELEM_TOPLEVEL))) {
-            return (ret);
-	}
-    }
-    if (level > 0)
+    
+    /* if (level > 0) */
+    if (namespace == NULL)
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+    else
     import = xmlHashLookup(schema->schemasImports, namespace);
-    if (import != NULL)
+    if (import != NULL) {
 	ret = xmlSchemaGetElem(import->schema, name, namespace, level + 1);
+	if ((ret != NULL) && (ret->flags & XML_SCHEMAS_ELEM_GLOBAL)) {
+	    return (ret);
+	} else
+	    ret = NULL;
+    }
 #ifdef DEBUG
     if (ret == NULL) {
         if (namespace == NULL)
@@ -1106,15 +1311,23 @@
         return (NULL);
     if (schema != NULL) {
         ret = xmlHashLookup2(schema->typeDecl, name, namespace);
-        if (ret != NULL)
+        if ((ret != NULL) && (ret->flags & XML_SCHEMAS_TYPE_GLOBAL))
             return (ret);
     }
     ret = xmlSchemaGetPredefinedType(name, namespace);
     if (ret != NULL)
 	return (ret);
+    if (namespace == NULL)
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+    else
     import = xmlHashLookup(schema->schemasImports, namespace);
-    if (import != NULL)
+    if (import != NULL) {
 	ret = xmlSchemaGetType(import->schema, name, namespace);
+	if ((ret != NULL) && (ret->flags & XML_SCHEMAS_TYPE_GLOBAL)) {
+	    return (ret);
+	} else
+	    ret = NULL;
+    }
 #ifdef DEBUG
     if (ret == NULL) {
         if (namespace == NULL)
@@ -1127,6 +1340,153 @@
     return (ret);
 }
 
+/**
+ * xmlSchemaGetAttribute:
+ * @schema:  the context of the schema 
+ * @name:  the name of the attribute
+ * @ns:  the target namespace of the attribute 
+ *
+ * Lookup a an attribute in the schema or imported schemas
+ *
+ * Returns the attribute declaration or NULL if not found.
+ */
+static xmlSchemaAttributePtr
+xmlSchemaGetAttribute(xmlSchemaPtr schema, const xmlChar * name,
+                 const xmlChar * namespace)
+{
+    xmlSchemaAttributePtr ret;
+    xmlSchemaImportPtr import = NULL;
+
+    if ((name == NULL) || (schema == NULL))
+        return (NULL);
+    
+    
+    ret = xmlHashLookup2(schema->attrDecl, name, namespace);
+    if ((ret != NULL) && (ret->flags & XML_SCHEMAS_ATTR_GLOBAL))
+	return (ret); 
+    else
+	ret = NULL;
+    if (namespace == NULL)
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+    else
+	import = xmlHashLookup(schema->schemasImports, namespace);	
+    if (import != NULL) {
+	ret = xmlSchemaGetAttribute(import->schema, name, namespace);
+	if ((ret != NULL) && (ret->flags & XML_SCHEMAS_ATTR_GLOBAL)) {
+	    return (ret);
+	} else
+	    ret = NULL;
+    }
+#ifdef DEBUG
+    if (ret == NULL) {
+        if (namespace == NULL)
+            fprintf(stderr, "Unable to lookup attribute %s", name);
+        else
+            fprintf(stderr, "Unable to lookup attribute %s:%s", name,
+                    namespace);
+    }
+#endif
+    return (ret);
+}
+
+/**
+ * xmlSchemaGetAttributeGroup:
+ * @schema:  the context of the schema 
+ * @name:  the name of the attribute group
+ * @ns:  the target namespace of the attribute group 
+ *
+ * Lookup a an attribute group in the schema or imported schemas
+ *
+ * Returns the attribute group definition or NULL if not found.
+ */
+static xmlSchemaAttributeGroupPtr
+xmlSchemaGetAttributeGroup(xmlSchemaPtr schema, const xmlChar * name,
+                 const xmlChar * namespace)
+{
+    xmlSchemaAttributeGroupPtr ret;
+    xmlSchemaImportPtr import = NULL;
+
+    if ((name == NULL) || (schema == NULL))
+        return (NULL);
+    
+    
+    ret = xmlHashLookup2(schema->attrgrpDecl, name, namespace);
+    if ((ret != NULL) && (ret->flags & XML_SCHEMAS_ATTRGROUP_GLOBAL))
+	return (ret);  
+    else
+	ret = NULL;
+    if (namespace == NULL)
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+    else
+	import = xmlHashLookup(schema->schemasImports, namespace);	
+    if (import != NULL) {
+	ret = xmlSchemaGetAttributeGroup(import->schema, name, namespace);
+	if ((ret != NULL) && (ret->flags & XML_SCHEMAS_ATTRGROUP_GLOBAL))
+	    return (ret);
+	else
+	    ret = NULL;
+    }
+#ifdef DEBUG
+    if (ret == NULL) {
+        if (namespace == NULL)
+            fprintf(stderr, "Unable to lookup attribute group %s", name);
+        else
+            fprintf(stderr, "Unable to lookup attribute group %s:%s", name,
+                    namespace);
+    }
+#endif
+    return (ret);
+}
+
+/**
+ * xmlSchemaGetGroup:
+ * @schema:  the context of the schema 
+ * @name:  the name of the group
+ * @ns:  the target namespace of the group 
+ *
+ * Lookup a group in the schema or imported schemas
+ *
+ * Returns the group definition or NULL if not found.
+ */
+static xmlSchemaTypePtr
+xmlSchemaGetGroup(xmlSchemaPtr schema, const xmlChar * name,
+                 const xmlChar * namespace)
+{
+    xmlSchemaTypePtr ret;
+    xmlSchemaImportPtr import = NULL;
+
+    if ((name == NULL) || (schema == NULL))
+        return (NULL);
+    
+    
+    ret = xmlHashLookup2(schema->groupDecl, name, namespace);
+    if ((ret != NULL) && (ret->flags & XML_SCHEMAS_TYPE_GLOBAL))
+	return (ret);  
+    else
+	ret = NULL;
+    if (namespace == NULL)
+	import = xmlHashLookup(schema->schemasImports, XML_SCHEMAS_DEFAULT_NAMESPACE);
+    else
+	import = xmlHashLookup(schema->schemasImports, namespace);	
+    if (import != NULL) {
+	ret = xmlSchemaGetGroup(import->schema, name, namespace);
+	if ((ret != NULL) && (ret->flags & XML_SCHEMAS_TYPE_GLOBAL))
+	    return (ret);
+	else
+	    ret = NULL;
+    }
+#ifdef DEBUG
+    if (ret == NULL) {
+        if (namespace == NULL)
+            fprintf(stderr, "Unable to lookup group %s", name);
+        else
+            fprintf(stderr, "Unable to lookup group %s:%s", name,
+                    namespace);
+    }
+#endif
+    return (ret);
+}
+
 /************************************************************************
  * 									*
  * 			Parsing functions				*
@@ -1368,12 +1728,12 @@
 
 /**
  * xmlSchemaAddType:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  * @namespace:  the namespace
  *
- * Add an XML schema Simple Type definition
+ * Add an XML schema item
  * *WARNING* this interface is highly subject to change
  *
  * Returns the new struture or NULL in case of error
@@ -1434,6 +1794,8 @@
     }
     ret->minOccurs = 1;
     ret->maxOccurs = 1;
+    ret->attributeUses = NULL;
+    ret->attributeWildcard = NULL;
 
     return (ret);
 }
@@ -1487,6 +1849,60 @@
     return (ret);
 }
 
+/**
+ * xmlSchemaNewWildcardNs:
+ * @ctxt:  a schema validation context
+ *
+ * Creates a new wildcard namespace constraint.
+ *
+ * Returns the new struture or NULL in case of error
+ */
+static xmlSchemaWildcardNsPtr
+xmlSchemaNewWildcardNsConstraint(xmlSchemaParserCtxtPtr ctxt)
+{
+    xmlSchemaWildcardNsPtr ret;
+
+    ret = (xmlSchemaWildcardNsPtr) 
+	xmlMalloc(sizeof(xmlSchemaWildcardNs));
+    if (ret == NULL) {
+	xmlSchemaPErrMemory(ctxt, "creating wildcard namespace constraint", NULL);
+	return (NULL);    
+    }
+    ret->value = NULL;
+    ret->next = NULL;
+    return (ret);
+}
+
+/**
+ * xmlSchemaAddWildcard:
+ * @ctxt:  a schema validation context
+ * @schema:  the schema being built
+ * @name:  the group name
+ *
+ * Add an XML schema Group definition
+ *
+ * Returns the new struture or NULL in case of error
+ */
+static xmlSchemaWildcardPtr
+xmlSchemaAddWildcard(xmlSchemaParserCtxtPtr ctxt)
+{
+    xmlSchemaWildcardPtr ret = NULL;
+
+    if (ctxt == NULL)
+        return (NULL);
+
+    ret = (xmlSchemaWildcardPtr) xmlMalloc(sizeof(xmlSchemaWildcard));
+    if (ret == NULL) {
+        xmlSchemaPErrMemory(ctxt, "adding wildcard", NULL);
+        return (NULL);
+    }
+    memset(ret, 0, sizeof(xmlSchemaWildcard));
+    ret->minOccurs = 1;
+    ret->maxOccurs = 1;
+
+    return (ret);
+}
+
 /************************************************************************
  * 									*
  *		Utilities for parsing					*
@@ -1536,7 +1952,7 @@
     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",
+                      "Attribute \"%s\": the QName prefix \"%s\" is undefined\n",
                       (const xmlChar *) name, prefix);
     } else {
         *namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
@@ -1661,16 +2077,17 @@
  ************************************************************************/
 static xmlSchemaTypePtr xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr
                                                  ctxt, xmlSchemaPtr schema,
-                                                 xmlNodePtr node);
+                                                 xmlNodePtr node,
+						 int topLevel);
 static xmlSchemaTypePtr xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr
                                                   ctxt,
                                                   xmlSchemaPtr schema,
-                                                  xmlNodePtr node);
+                                                  xmlNodePtr node, 
+						  int topLevel);
 static xmlSchemaTypePtr xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr
                                                   ctxt,
                                                   xmlSchemaPtr schema,
-                                                  xmlNodePtr node,
-                                                  int simple);
+                                                  xmlNodePtr node);
 static xmlSchemaTypePtr xmlSchemaParseSequence(xmlSchemaParserCtxtPtr ctxt,
                                                xmlSchemaPtr schema,
                                                xmlNodePtr node);
@@ -1684,18 +2101,113 @@
 						     int topLevel);
 static xmlSchemaAttributeGroupPtr
 xmlSchemaParseAttributeGroup(xmlSchemaParserCtxtPtr ctxt,
-                             xmlSchemaPtr schema, xmlNodePtr node);
+                             xmlSchemaPtr schema, xmlNodePtr node,
+			     int topLevel);
 static xmlSchemaTypePtr xmlSchemaParseChoice(xmlSchemaParserCtxtPtr ctxt,
                                              xmlSchemaPtr schema,
                                              xmlNodePtr node);
 static xmlSchemaTypePtr xmlSchemaParseList(xmlSchemaParserCtxtPtr ctxt,
                                            xmlSchemaPtr schema,
                                            xmlNodePtr node);
-static xmlSchemaAttributePtr
+static xmlSchemaWildcardPtr
 xmlSchemaParseAnyAttribute(xmlSchemaParserCtxtPtr ctxt,
                            xmlSchemaPtr schema, xmlNodePtr node);
 
 /**
+ * xmlSchemaParseSchemaAttrValue:
+ * 
+ * @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
+ *
+ * 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
+xmlSchemaParseSchemaAttrValue(xmlSchemaParserCtxtPtr ctxt,
+			  xmlAttrPtr attr,
+			  xmlSchemaTypePtr type)
+{
+    const xmlChar *value;
+    int ret;    
+    
+    if ((ctxt == NULL) || (type == NULL) || (attr == 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);
+	    }
+	    break;
+	default: {
+	    xmlSchemaPErr(ctxt, (xmlNodePtr) attr, 
+		    XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaParseSchemaAttrValue, validation "
+		    "using this type in not implemented yet\"%s\".\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);
+	    }
+	}
+    }    
+    return (ret);
+}
+
+/**
  * xmlSchemaParseAttrDecls:
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
@@ -1720,10 +2232,13 @@
             attr = xmlSchemaParseAttribute(ctxt, schema, child, 0);
         } else if (IS_SCHEMA(child, "attributeGroup")) {
             attr = (xmlSchemaAttributePtr)
-                xmlSchemaParseAttributeGroup(ctxt, schema, child);
+                xmlSchemaParseAttributeGroup(ctxt, schema, child, 0);
         }
         if (attr != NULL) {
             if (lastattr == NULL) {
+		if (type->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP)
+		    ((xmlSchemaAttributeGroupPtr) type)->attributes = attr;
+		else
                 type->attributes = attr;
                 lastattr = attr;
             } else {
@@ -1734,15 +2249,14 @@
         child = child->next;
     }
     if (IS_SCHEMA(child, "anyAttribute")) {
-        attr = xmlSchemaParseAnyAttribute(ctxt, schema, child);
-        if (attr != NULL) {
-            if (lastattr == NULL) {
-                type->attributes = attr;
-                lastattr = attr;
-            } else {
-                lastattr->next = attr;
-                lastattr = attr;
-            }
+	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;
     }
@@ -1841,6 +2355,17 @@
     }
     facet->id = xmlSchemaGetProp(ctxt, node, "id");
     facet->value = value;
+    if ((facet->type != XML_SCHEMA_FACET_PATTERN) &&
+	(facet->type != XML_SCHEMA_FACET_ENUMERATION)) {
+	const xmlChar *fixed;
+
+	fixed = xmlSchemaGetProp(ctxt, node, "fixed");
+	if (fixed != NULL) {
+	    if (xmlStrEqual(fixed, BAD_CAST "true"))
+		facet->fixed = 1;
+	}
+    }
+    
     child = node->children;
 
     if (IS_SCHEMA(child, "annotation")) {
@@ -1955,28 +2480,20 @@
  *
  * Returns an attribute def structure or NULL
  */
-static xmlSchemaAttributePtr
+static xmlSchemaWildcardPtr
 xmlSchemaParseAnyAttribute(xmlSchemaParserCtxtPtr ctxt,
                            xmlSchemaPtr schema, xmlNodePtr node)
 {
-    const xmlChar *processContents;
-    xmlSchemaAttributePtr ret;
+    const xmlChar *processContents, *nsConstraint, *end, *cur, *dictMember;
+    xmlChar *member;
+    xmlSchemaWildcardPtr ret;
+    xmlSchemaWildcardNsPtr tmp, lastNs = NULL;
     xmlNodePtr child = NULL;
-    char name[100];
 
-
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-    snprintf(name, 99, "anyattr %d", ctxt->counter++ + 1);
-
-    /* local = xmlSchemaGetNamespace(ctxt, schema, node, BAD_CAST "anyattr", &ns); */
-
-    /*
-     * TODO: namespace = ((##any | ##other) | List of (anyURI |
-     *                    (##targetNamespace | * ##local)) )  : ##any
-     */
-    ret = xmlSchemaAddAttribute(ctxt, schema, BAD_CAST name, NULL);
+    ret = xmlSchemaAddWildcard(ctxt);
     if (ret == NULL) {
         return (NULL);
     }
@@ -1985,20 +2502,90 @@
     processContents = xmlSchemaGetProp(ctxt, node, "processContents");
     if ((processContents == NULL)
         || (xmlStrEqual(processContents, (const xmlChar *) "strict"))) {
-        ret->occurs = XML_SCHEMAS_ANYATTR_STRICT;
+        ret->processContents = XML_SCHEMAS_ANY_STRICT;
     } else if (xmlStrEqual(processContents, (const xmlChar *) "skip")) {
-        ret->occurs = XML_SCHEMAS_ANYATTR_SKIP;
+        ret->processContents = XML_SCHEMAS_ANY_SKIP;
     } else if (xmlStrEqual(processContents, (const xmlChar *) "lax")) {
-        ret->occurs = XML_SCHEMAS_ANYATTR_LAX;
+        ret->processContents = XML_SCHEMAS_ANY_LAX;
     } else {
-        xmlSchemaPErr2(ctxt, node, child,
+        xmlSchemaPErr(ctxt, node, 
                        XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD,
                        "anyAttribute has unexpected content "
 		       "for processContents: %s\n",
                        processContents, NULL);
-        ret->occurs = XML_SCHEMAS_ANYATTR_STRICT;
+        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);
+	}
+	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);    
+    }
+
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
@@ -2007,8 +2594,8 @@
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child,
                        XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD,
-                       "anyAttribute %s has unexpected content\n",
-                       (const xmlChar *) name, NULL);
+                       "anyAttribute has unexpected content\n",
+                       NULL, NULL);
     }
 
     return (ret);
@@ -2093,8 +2680,8 @@
 	if ((!topLevel) && (xmlSchemaGetProp(ctxt, node, "ref") != NULL)) {	    
 	    xmlSchemaPErr(ctxt, node, 
                           XML_SCHEMAP_INVALID_ATTR_COMBINATION,
-                          "Attribute declaration has both, \"name\" and "
-			  "\"ref\"\n", NULL, NULL);
+                          "Attribute declaration \"%s\" has both, \"name\" and "
+			  "\"ref\"\n", name, NULL);
 	}
 
         /* local = xmlSchemaGetNamespace(ctxt, schema, node, name, &ns); */
@@ -2112,7 +2699,8 @@
 	    }
 	}
 	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, 
@@ -2134,6 +2722,8 @@
         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");
@@ -2210,7 +2800,7 @@
                            "Attribute declaration %s has both (\"ref\" or "
 			   "\"type\") and <simpleType>\n", name, NULL);
 	} else
-	    ret->subtypes = xmlSchemaParseSimpleType(ctxt, schema, child);
+	    ret->subtypes = xmlSchemaParseSimpleType(ctxt, schema, child, 0);
         child = child->next;
     }
     if (child != NULL) {
@@ -2235,11 +2825,11 @@
  */
 static xmlSchemaAttributeGroupPtr
 xmlSchemaParseAttributeGroup(xmlSchemaParserCtxtPtr ctxt,
-                             xmlSchemaPtr schema, xmlNodePtr node)
+                             xmlSchemaPtr schema, xmlNodePtr node,
+			     int topLevel)
 {
     const xmlChar *name, *refNs = NULL, *ref = NULL;
     xmlSchemaAttributeGroupPtr ret;
-    xmlSchemaAttributePtr last = NULL, attr;
     xmlNodePtr child = NULL;
     const xmlChar *oldcontainer;
     char buf[100];
@@ -2249,7 +2839,6 @@
     oldcontainer = ctxt->container;
     name = xmlSchemaGetProp(ctxt, node, "name");
     if (name == NULL) {
-
         ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
         if (ref == NULL) {
             xmlSchemaPErr2(ctxt, node, child,
@@ -2272,6 +2861,8 @@
     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;
     ctxt->container = name;
@@ -2279,6 +2870,9 @@
         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;
@@ -2286,7 +2880,7 @@
             attr = xmlSchemaParseAttribute(ctxt, schema, child, 0);
         } else if (IS_SCHEMA(child, "attributeGroup")) {
             attr = (xmlSchemaAttributePtr)
-                xmlSchemaParseAttributeGroup(ctxt, schema, child);
+                xmlSchemaParseAttributeGroup(ctxt, schema, child, 0);
         }
         if (attr != NULL) {
             if (last == NULL) {
@@ -2303,6 +2897,7 @@
         TODO
 	child = child->next;
     }
+    */
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child,
                        XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD,
@@ -2326,7 +2921,7 @@
  */
 static xmlSchemaElementPtr
 xmlSchemaParseElement(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                      xmlNodePtr node, int toplevel)
+                      xmlNodePtr node, int topLevel)
 {
     const xmlChar *name, *fixed;
     const xmlChar *refNs = NULL, *ref = NULL;
@@ -2344,7 +2939,6 @@
     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 
@@ -2352,9 +2946,10 @@
         if (ref == NULL) {
             xmlSchemaPErr(ctxt, node, 
                            XML_SCHEMAP_ELEM_NONAME_NOREF,
-                           "Element has no name nor ref\n", NULL, NULL);
+                           "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);
@@ -2363,7 +2958,7 @@
 
 	/* Evaluate the target namespace */
 	if (schema->targetNamespace != NULL) {
-	    if (toplevel) {
+	    if (topLevel) {
 		ns = schema->targetNamespace;
 	    } else if (xmlSchemaGetProp(ctxt, node, "form") != NULL) {
 		if (xmlStrEqual( xmlSchemaGetProp(ctxt, node, "form"),
@@ -2379,7 +2974,7 @@
 	/* 3.3.3 : 2.1
 	 * One of ref or name must be present, but not both 
 	 */
-	if ((!toplevel) && (xmlSchemaGetProp(ctxt, node, "ref") != NULL)) {	    
+	if ((!topLevel) && (xmlSchemaGetProp(ctxt, node, "ref") != NULL)) {	    
 	    xmlSchemaPErr(ctxt, node, 
                           XML_SCHEMAP_INVALID_ATTR_COMBINATION,
                           "Element declaration has both, \"name\" and "
@@ -2398,7 +2993,7 @@
         ret->flags |= XML_SCHEMAS_ELEM_REF;
 
     /* 3.3.3 : 2.2 */     
-    if ((!toplevel) && (ref != NULL)) {
+    if ((!topLevel) && (ref != NULL)) {
 	attr = node->properties;
 	while (attr != NULL) {
 	    if ((attr->ns == NULL) &&
@@ -2416,12 +3011,14 @@
 	}
     }
 
-    if (toplevel)
+    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_NILLABLE;
+        ret->flags |= XML_SCHEMAS_ELEM_ABSTRACT;
     ctxt->container = name;
 
     ret->id = xmlSchemaGetProp(ctxt, node, "id");
@@ -2430,7 +3027,7 @@
     ret->substGroup =
         xmlGetQNameProp(ctxt, node, "substitutionGroup",
                         &(ret->substGroupNs));
-    if ((ret->substGroup != NULL) && (!toplevel)) {
+    if ((ret->substGroup != NULL) && (!topLevel)) {
 	/* 3.3.6 : 3 */
 	/*
 	 * TODO: This seems to be redundant, since the schema for schemas
@@ -2464,6 +3061,7 @@
         ret->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    
     if (ref != NULL) {
 	/* 3.3.3 (2.2) */ 
 	while (child != NULL) {
@@ -2496,7 +3094,7 @@
 			       "and a local complex type\n",
 			       ret->name, NULL);
 	    } else
-		ret->subtypes = xmlSchemaParseComplexType(ctxt, schema, child);
+		ret->subtypes = xmlSchemaParseComplexType(ctxt, schema, child, 0);
 	    child = child->next;
 	} else if (IS_SCHEMA(child, "simpleType")) {
 	    /* 3.3.3 : 3 
@@ -2510,7 +3108,7 @@
 			       "and a local simple type\n",
 			       ret->name, NULL);
 	    } else
-		ret->subtypes = xmlSchemaParseSimpleType(ctxt, schema, child);
+		ret->subtypes = xmlSchemaParseSimpleType(ctxt, schema, child, 0);
 	    child = child->next;
 	}
     
@@ -2556,10 +3154,10 @@
     type = xmlSchemaAddType(ctxt, schema, name, NULL);
     if (type == NULL)
         return (NULL);
+    type->type = XML_SCHEMA_TYPE_UNION;
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_UNION;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-    type->ref = xmlSchemaGetProp(ctxt, node, "memberTypes");
+    type->base = xmlSchemaGetProp(ctxt, node, "memberTypes");
 
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
@@ -2568,7 +3166,7 @@
     }
     while (IS_SCHEMA(child, "simpleType")) {
         subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseSimpleType(ctxt, schema, child);
+            xmlSchemaParseSimpleType(ctxt, schema, child, 0);
         if (subtype != NULL) {
             if (last == NULL) {
                 type->subtypes = subtype;
@@ -2608,6 +3206,7 @@
     xmlSchemaTypePtr type, subtype;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
@@ -2619,20 +3218,33 @@
     type->node = node;
     type->type = XML_SCHEMA_TYPE_LIST;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-    type->ref = xmlGetQNameProp(ctxt, node, "ref", &(type->refNs));
 
     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);
-        child = child->next;
-        type->subtypes = subtype;
+    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;
+        child = child->next;        
     }
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_LIST_CHILD,
@@ -2656,41 +3268,102 @@
  */
 static xmlSchemaTypePtr
 xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                         xmlNodePtr node)
+                         xmlNodePtr node, int topLevel)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, ctxtType;
     xmlNodePtr child = NULL;
-    const xmlChar *name;
+    const xmlChar *propVal;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
+    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 {	
-        /* local = xmlSchemaGetNamespace(ctxt, schema, node, name, &ns); */
-	type = xmlSchemaAddType(ctxt, schema, name, schema->targetNamespace);
+	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);
+	    return (NULL);
+	}
+	/*
+	* "name" has to be of type NCName. 
+	* TODO: Actually this should be validated by the schema for schemas.
+	*/
+	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);			    		    
+		}
+		if (item != NULL)
+		    xmlFree(item);
+		cur = end;
+	    } while (*cur != 0); 
+	}
+    }
     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;
     if (IS_SCHEMA(child, "restriction")) {
         subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseRestriction(ctxt, schema, child, 1);
+            xmlSchemaParseRestriction(ctxt, schema, child);
         child = child->next;
     } else if (IS_SCHEMA(child, "list")) {
         subtype = (xmlSchemaTypePtr)
@@ -2702,19 +3375,23 @@
         child = child->next;
     }
     type->subtypes = subtype;
-    if (subtype == NULL) {
-	xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD,
-                       "SimpleType %s does not define a variety\n",
-                       type->name, NULL);
-    }
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD,
-                       "SimpleType %s has unexpected content\n",
+                       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);
+	}
     }
 
+    ctxt->ctxtType = ctxtType;
+
     return (type);
 }
 
@@ -2733,7 +3410,7 @@
  */
 static xmlSchemaTypePtr
 xmlSchemaParseGroup(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                    xmlNodePtr node)
+                    xmlNodePtr node, int topLevel)
 {
     xmlSchemaTypePtr type, subtype;
     xmlNodePtr child = NULL;
@@ -2747,7 +3424,6 @@
 
     name = xmlSchemaGetProp(ctxt, node, "name");
     if (name == NULL) {
-
         ref = xmlGetQNameProp(ctxt, node, "ref", &refNs);
         if (ref == NULL) {
             xmlSchemaPErr2(ctxt, node, child,
@@ -2763,9 +3439,10 @@
     type = xmlSchemaAddGroup(ctxt, schema, name);
     if (type == NULL)
         return (NULL);
-
     type->node = node;
     type->type = XML_SCHEMA_TYPE_GROUP;
+    if (topLevel) 
+        type->flags |= XML_SCHEMAS_TYPE_GLOBAL;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
     type->ref = ref;
     type->refNs = refNs;
@@ -2898,7 +3575,7 @@
 
     newctxt = (xmlSchemaParserCtxtPtr) xmlMalloc(sizeof(xmlSchemaParserCtxt));
     if (newctxt == NULL) {
-        xmlSchemaPErrMemory(ctxt, "allocating schama parser context",
+        xmlSchemaPErrMemory(ctxt, "allocating schema parser context",
                             NULL);
         return (NULL);
     }
@@ -3066,8 +3743,39 @@
 		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);
+		
             }
         }
     }
@@ -3205,10 +3913,10 @@
     }
     while (child != NULL) {
 	if (IS_SCHEMA(child, "complexType")) {
-	    xmlSchemaParseComplexType(ctxt, schema, child);
+	    xmlSchemaParseComplexType(ctxt, schema, child, 1);
 	    child = child->next;
 	} else if (IS_SCHEMA(child, "simpleType")) {
-	    xmlSchemaParseSimpleType(ctxt, schema, child);
+	    xmlSchemaParseSimpleType(ctxt, schema, child, 1);
 	    child = child->next;
 	} else if (IS_SCHEMA(child, "element")) {
 	    xmlSchemaParseElement(ctxt, schema, child, 1);
@@ -3217,10 +3925,10 @@
 	    xmlSchemaParseAttribute(ctxt, schema, child, 1);
 	    child = child->next;
 	} else if (IS_SCHEMA(child, "attributeGroup")) {
-	    xmlSchemaParseAttributeGroup(ctxt, schema, child);
+	    xmlSchemaParseAttributeGroup(ctxt, schema, child, 1);
 	    child = child->next;
 	} else if (IS_SCHEMA(child, "group")) {
-	    xmlSchemaParseGroup(ctxt, schema, child);
+	    xmlSchemaParseGroup(ctxt, schema, child, 1);
 	    child = child->next;
 	} else if (IS_SCHEMA(child, "notation")) {
 	    xmlSchemaParseNotation(ctxt, schema, child);
@@ -3241,6 +3949,8 @@
 	    child = child->next;
 	}
     }
+    ctxt->parentItem = NULL;
+    ctxt->ctxtType = NULL;
 }
 
 /**
@@ -3355,7 +4065,7 @@
     if (!IS_SCHEMA(root, "schema")) {
 	xmlSchemaPErr(ctxt, (xmlNodePtr) doc,
 		      XML_SCHEMAP_NOT_SCHEMA,
-		      "File %s is not a schemas", schemaLocation, NULL);
+		      "File %s is not a schema", schemaLocation, NULL);
 	xmlFreeDoc(doc);
         return (-1);
     }
@@ -3435,7 +4145,7 @@
             subtype = (xmlSchemaTypePtr)
                 xmlSchemaParseElement(ctxt, schema, child, 0);
         } else if (IS_SCHEMA(child, "group")) {
-            subtype = xmlSchemaParseGroup(ctxt, schema, child);
+            subtype = xmlSchemaParseGroup(ctxt, schema, child, 0);
         } else if (IS_SCHEMA(child, "any")) {
             subtype = xmlSchemaParseAny(ctxt, schema, child);
         } else if (IS_SCHEMA(child, "sequence")) {
@@ -3513,7 +4223,7 @@
             subtype = (xmlSchemaTypePtr)
                 xmlSchemaParseElement(ctxt, schema, child, 0);
         } else if (IS_SCHEMA(child, "group")) {
-            subtype = xmlSchemaParseGroup(ctxt, schema, child);
+            subtype = xmlSchemaParseGroup(ctxt, schema, child, 0);
         } else if (IS_SCHEMA(child, "any")) {
             subtype = xmlSchemaParseAny(ctxt, schema, child);
         } else if (IS_SCHEMA(child, "choice")) {
@@ -3548,7 +4258,6 @@
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
  * @node:  a subtree containing XML Schema informations
- * @simple:  is that part of a simple type.
  *
  * parse a XML schema Restriction definition
  * *WARNING* this interface is highly subject to change
@@ -3557,10 +4266,9 @@
  */
 static xmlSchemaTypePtr
 xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                          xmlNodePtr node, int simple)
+                          xmlNodePtr node)
 {
-    xmlSchemaTypePtr type, subtype;
-    xmlSchemaFacetPtr facet, lastfacet = NULL;
+    xmlSchemaTypePtr type, subtype;    
     xmlNodePtr child = NULL;
     xmlChar name[30];
     const xmlChar *oldcontainer;
@@ -3574,14 +4282,16 @@
     type = xmlSchemaAddType(ctxt, schema, name, NULL);
     if (type == NULL)
         return (NULL);
+    type->type = XML_SCHEMA_TYPE_RESTRICTION;
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_RESTRICTION;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
     type->base = xmlGetQNameProp(ctxt, node, "base", &(type->baseNs));
-    if ((!simple) && (type->base == NULL)) {
+    if ((type->base == NULL) && 
+	(ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT)) {
         xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_RESTRICTION_NONAME_NOREF,
-                       "Restriction %s has no base\n", type->name, NULL);
+	    XML_SCHEMAP_RESTRICTION_NONAME_NOREF,
+	    "Restriction \"%s\" must have a \"base\" attribute.\n", 
+	    type->name, NULL);
     }
     ctxt->container = name;
 
@@ -3592,68 +4302,107 @@
     }
     subtype = NULL;
 
-    if (IS_SCHEMA(child, "all")) {
-        subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseAll(ctxt, schema, child);
-        child = child->next;
-        type->subtypes = subtype;
-    } else if (IS_SCHEMA(child, "choice")) {
-        subtype = xmlSchemaParseChoice(ctxt, schema, child);
-        child = child->next;
-        type->subtypes = subtype;
-    } else if (IS_SCHEMA(child, "sequence")) {
-        subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseSequence(ctxt, schema, child);
-        child = child->next;
-        type->subtypes = subtype;
-    } else if (IS_SCHEMA(child, "group")) {
-        subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseGroup(ctxt, schema, child);
-        child = child->next;
-        type->subtypes = subtype;
-    } else {
-        if (IS_SCHEMA(child, "simpleType")) {
-            subtype = (xmlSchemaTypePtr)
-                xmlSchemaParseSimpleType(ctxt, schema, child);
-            child = child->next;
-            type->baseType = subtype;
-        }
-        /*
-         * Facets
-         */
-        while ((IS_SCHEMA(child, "minInclusive")) ||
-               (IS_SCHEMA(child, "minExclusive")) ||
-               (IS_SCHEMA(child, "maxInclusive")) ||
-               (IS_SCHEMA(child, "maxExclusive")) ||
-               (IS_SCHEMA(child, "totalDigits")) ||
-               (IS_SCHEMA(child, "fractionDigits")) ||
-               (IS_SCHEMA(child, "pattern")) ||
-               (IS_SCHEMA(child, "enumeration")) ||
-               (IS_SCHEMA(child, "whiteSpace")) ||
-               (IS_SCHEMA(child, "length")) ||
-               (IS_SCHEMA(child, "maxLength")) ||
-               (IS_SCHEMA(child, "minLength"))) {
-            facet = xmlSchemaParseFacet(ctxt, schema, child);
-            if (facet != NULL) {
-                if (lastfacet == NULL) {
-                    type->facets = facet;
-                    lastfacet = facet;
-                } else {
-                    lastfacet->next = facet;
-                    lastfacet = facet;
-                }
-                lastfacet->next = NULL;
-            }
-            child = child->next;
-        }
-    }
-    child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+    if (ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) {
+	if (IS_SCHEMA(child, "all")) {
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseAll(ctxt, schema, child);
+	    child = child->next;
+	    type->subtypes = subtype;
+	} else if (IS_SCHEMA(child, "choice")) {
+	    subtype = xmlSchemaParseChoice(ctxt, schema, child);
+	    child = child->next;
+	    type->subtypes = subtype;
+	} else if (IS_SCHEMA(child, "sequence")) {
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseSequence(ctxt, schema, child);
+	    child = child->next;
+	    type->subtypes = subtype;
+	} else if (IS_SCHEMA(child, "group")) {
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseGroup(ctxt, schema, child, 0);
+	    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;	
+	
+	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;
+	}
+	/*
+	* Add the facets to the parent simpleType/complexType.
+	*/
+	while ((IS_SCHEMA(child, "minInclusive")) ||
+	    (IS_SCHEMA(child, "minExclusive")) ||
+	    (IS_SCHEMA(child, "maxInclusive")) ||
+	    (IS_SCHEMA(child, "maxExclusive")) ||
+	    (IS_SCHEMA(child, "totalDigits")) ||
+	    (IS_SCHEMA(child, "fractionDigits")) ||
+	    (IS_SCHEMA(child, "pattern")) ||
+	    (IS_SCHEMA(child, "enumeration")) ||
+	    (IS_SCHEMA(child, "whiteSpace")) ||
+	    (IS_SCHEMA(child, "length")) ||
+	    (IS_SCHEMA(child, "maxLength")) ||
+	    (IS_SCHEMA(child, "minLength"))) {
+	    facet = xmlSchemaParseFacet(ctxt, schema, child);
+	    if (facet != NULL) {
+		if (lastfacet == NULL)
+		    ctxt->ctxtType->facets = facet;			
+		else
+		    lastfacet->next = facet;
+		lastfacet = facet;
+		lastfacet->next = NULL;
+	    }
+	    child = child->next;
+	}
+	/*
+	* Create links for derivation and validation.
+	*/	    
+	if (lastfacet != NULL) {
+	    xmlSchemaFacetLinkPtr facetLink, lastFacetLink = NULL;
+
+	    facet = ctxt->ctxtType->facets;
+	    do {		    
+		facetLink = (xmlSchemaFacetLinkPtr) xmlMalloc(sizeof(xmlSchemaFacetLink));
+		if (facetLink == NULL) {
+		    xmlSchemaPErrMemory(ctxt, "allocation a facet link", NULL);
+		    xmlFree(facetLink);
+		    return (NULL);
+		}	
+		facetLink->facet = facet;
+		facetLink->next = NULL;
+		if (lastFacetLink == NULL) 
+		    ctxt->ctxtType->facetSet = facetLink;			                                         
+		else
+		    lastFacetLink->next = facetLink;
+		lastFacetLink = facetLink;
+		facet = facet->next;
+	    } while (facet != NULL);
+	}
+    }    
+    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX)
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);	
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD,
-                       "Restriction %s has unexpected content\n",
-                       type->name, NULL);
-    }
+	xmlSchemaPErr2(ctxt, node, child,
+	    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD,
+	    "Restriction \"%s\" has unexpected content.\n",
+	    type->name, NULL);
+    }   
     ctxt->container = oldcontainer;
     return (type);
 }
@@ -3684,11 +4433,11 @@
     oldcontainer = ctxt->container;
 
     snprintf((char *) name, 30, "extension %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL);    
     if (type == NULL)
         return (NULL);
+    type->type = XML_SCHEMA_TYPE_EXTENSION;
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_EXTENSION;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
     ctxt->container = name;
 
@@ -3714,7 +4463,7 @@
         subtype = xmlSchemaParseSequence(ctxt, schema, child);
         child = child->next;
     } else if (IS_SCHEMA(child, "group")) {
-        subtype = xmlSchemaParseGroup(ctxt, schema, child);
+        subtype = xmlSchemaParseGroup(ctxt, schema, child, 0);
         child = child->next;
     }
     if (subtype != NULL)
@@ -3752,13 +4501,12 @@
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-
     snprintf((char *) name, 30, "simpleContent %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaAddType(ctxt, schema, name, NULL);    
     if (type == NULL)
         return (NULL);
+    type->type = XML_SCHEMA_TYPE_SIMPLE_CONTENT;
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_SIMPLE_CONTENT;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
 
     child = node->children;
@@ -3766,10 +4514,11 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
-    subtype = NULL;
+    ctxt->parentItem = type;
+    subtype = NULL;    
     if (IS_SCHEMA(child, "restriction")) {
         subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseRestriction(ctxt, schema, child, 0);
+            xmlSchemaParseRestriction(ctxt, schema, child);
         child = child->next;
     } else if (IS_SCHEMA(child, "extension")) {
         subtype = (xmlSchemaTypePtr)
@@ -3808,13 +4557,12 @@
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-
     snprintf((char *) name, 30, "complexContent %d", ctxt->counter++ + 1);
     type = xmlSchemaAddType(ctxt, schema, name, NULL);
     if (type == NULL)
         return (NULL);
-    type->node = node;
     type->type = XML_SCHEMA_TYPE_COMPLEX_CONTENT;
+    type->node = node;    
     type->id = xmlSchemaGetProp(ctxt, node, "id");
 
     child = node->children;
@@ -3822,10 +4570,11 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    ctxt->parentItem = type;
     subtype = NULL;
     if (IS_SCHEMA(child, "restriction")) {
         subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseRestriction(ctxt, schema, child, 0);
+            xmlSchemaParseRestriction(ctxt, schema, child);
         child = child->next;
     } else if (IS_SCHEMA(child, "extension")) {
         subtype = (xmlSchemaTypePtr)
@@ -3855,9 +4604,9 @@
  */
 static xmlSchemaTypePtr
 xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
-                          xmlNodePtr node)
+                          xmlNodePtr node, int topLevel)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, ctxtType;
     xmlNodePtr child = NULL;
     const xmlChar *name;
     const xmlChar *oldcontainer;    
@@ -3866,10 +4615,11 @@
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
+    ctxtType = ctxt->ctxtType;
+
     oldcontainer = ctxt->container;
     name = xmlSchemaGetProp(ctxt, node, "name");
     if (name == NULL) {
-
         snprintf(buf, 99, "complexType %d", ctxt->counter++ + 1);
 	name = (const xmlChar *)buf;
 	type = xmlSchemaAddType(ctxt, schema, name, NULL);
@@ -3881,12 +4631,13 @@
     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;
 
@@ -3895,6 +4646,7 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    ctxt->ctxtType = type;
     if (IS_SCHEMA(child, "simpleContent")) {
 	/* 3.4.3 : 2.2  
 	 * Specifying mixed='true' when the <simpleContent>
@@ -3920,7 +4672,7 @@
             subtype = xmlSchemaParseSequence(ctxt, schema, child);
             child = child->next;
         } else if (IS_SCHEMA(child, "group")) {
-            subtype = xmlSchemaParseGroup(ctxt, schema, child);
+            subtype = xmlSchemaParseGroup(ctxt, schema, child, 0);
             child = child->next;
         }
         if (subtype != NULL)
@@ -3933,7 +4685,10 @@
                        "ComplexType %s has unexpected content\n",
                        type->name, NULL);
     }
+    if (type->attributeWildcard != NULL)
+	type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
     ctxt->container = oldcontainer;
+    ctxt->ctxtType = ctxtType;
     return (type);
 }
 
@@ -3984,7 +4739,10 @@
                                val, NULL);
             }
         } else {
-	    schema->flags |= XML_SCHEMAS_QUALIF_ELEM;
+	    /* Removed, since the default value for elementFormDefault
+	    * is "unqualified".
+	    */
+	    /* schema->flags |= XML_SCHEMAS_QUALIF_ELEM; */
 	}
         val = xmlSchemaGetProp(ctxt, node, "attributeFormDefault");
         if (val != NULL) {
@@ -3998,6 +4756,51 @@
             }
         } 
 
+	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); 
+	    }
+	}
+
         xmlSchemaParseSchemaTopLevel(ctxt, schema, node->children);
     } else {
         xmlDocPtr doc;
@@ -4027,7 +4830,6 @@
         xmlGenericError(xmlGenericErrorContext,
                         "xmlSchemaParse() failed\n");
 #endif
-
     return (schema);
 }
 
@@ -4182,6 +4984,7 @@
         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);
@@ -4464,7 +5267,11 @@
         case XML_SCHEMA_TYPE_ALL:{
                 xmlAutomataStatePtr start;
                 xmlSchemaTypePtr subtypes;
-                xmlSchemaElementPtr elem = (xmlSchemaElementPtr) type;
+		/* 
+		 * Changed, since type in not an xmlSchemaElement here.
+		 */
+                /* xmlSchemaElementPtr elem = (xmlSchemaElementPtr) type; */
+		xmlSchemaElementPtr elem;
                 int lax;
 
                 subtypes = type->subtypes;
@@ -4531,7 +5338,7 @@
             if (type->subtypes == NULL) {
 	        xmlSchemaTypePtr rgroup;
 		if (type->ref != NULL) {
-		    rgroup = xmlHashLookup2(ctxt->schema->groupDecl, type->ref,
+		    rgroup = xmlSchemaGetGroup(ctxt->schema, type->ref,
 		    			   type->refNs);
 		    if (rgroup == NULL) {
 		        xmlSchemaPErr(ctxt, type->node,
@@ -4634,22 +5441,26 @@
 {
     if ((ctxt == NULL) || (elem == NULL))
         return;
+
     if (elem->ref != NULL) {
         xmlSchemaElementPtr elemDecl;
 
         if (elem->subtypes != NULL) {
             xmlSchemaPErr(ctxt, elem->node,
                           XML_SCHEMAP_INVALID_REF_AND_SUBTYPE,
-                          "Schemas: element %s have both ref and subtype\n",
+                          "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, XML_SCHEMAP_UNKNOWN_REF,
-                          "Schemas: element %s ref to %s not found\n",
-                          name, elem->ref);
+            xmlSchemaPErr(ctxt, elem->node, 
+		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;
@@ -4658,7 +5469,7 @@
 
         if (elem->subtypes != NULL) {
             xmlSchemaPErr(ctxt, elem->node, XML_SCHEMAP_TYPE_AND_SUBTYPE,
-                          "Schemas: element %s have both type and subtype\n",
+                          "Schemas: element %s has both type and subtype\n",
                           name, NULL);
             return;
         }
@@ -4666,9 +5477,11 @@
                                     elem->namedTypeNs);
 
         if (typeDecl == NULL) {
-            xmlSchemaPErr(ctxt, elem->node, XML_SCHEMAP_UNKNOWN_TYPE,
-                          "Schemas: element %s type %s not found\n", name,
-                          elem->namedType);
+            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;
@@ -4684,29 +5497,38 @@
  */
 static void
 xmlSchemaParseListRefFixup(xmlSchemaTypePtr type, xmlSchemaParserCtxtPtr ctxt)
-{
-    const xmlChar *itemType, *namespace;
-    xmlSchemaTypePtr subtype;
-    
-    /* Handle the "itemType" attribute. */
-    itemType = xmlGetQNameProp(ctxt, type->node, "itemType", &namespace);
-    if (itemType != NULL) {
-        /* Do not allow more that one item type. */
-        if (type->subtypes != NULL) {
-            xmlSchemaPErr(ctxt, type->node,
-	    		  XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE,
-                          "List %s has more than one item type defined\n",
-			  type->name, NULL);
+{    
+    /*
+    * 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. 
+	*/
+	xmlSchemaPErr(ctxt, type->node,
+	    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);
+    } 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);
         }
-        subtype = xmlSchemaGetType(ctxt->schema, itemType, namespace);
-        if (subtype == NULL) {
-            xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_TYPE,
-                          "List %s references an unknown item type: %s\n",
-                          type->name, xmlSchemaGetProp(ctxt, type->node,
-			  "itemType"));
-        } else
-            type->subtypes = subtype;
-    }
+    }               
+    if ((type->subtypes != NULL) && 
+	(type->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
+	xmlSchemaTypeFixup(type->subtypes, ctxt, NULL);
 }
 
 /**
@@ -4714,63 +5536,2306 @@
  * @typeDecl:  the schema type definition
  * @ctxt:  the schema parser context
  *
- * Checks the memberTypes references of the union type.
+ * Checks and builds the memberTypes of the union type.
+ * Returns -1 in case of an internal error, 0 otherwise.
  */
-static void
+static int
 xmlSchemaParseUnionRefCheck(xmlSchemaTypePtr type,
                    xmlSchemaParserCtxtPtr ctxt)
 {
     const xmlChar *cur, *end, *prefix, *ncName, *namespace;
     xmlChar *tmp;
-    xmlSchemaTypePtr subtype;
+    xmlSchemaTypeLinkPtr link, lastLink = NULL, prevLink, subLink, newLink;
+    xmlSchemaTypePtr memberType, ctxtType;
     xmlNsPtr ns;
     int len;
 
-     if ((type->type != XML_SCHEMA_TYPE_UNION) || (type->ref == NULL))
-        return;
+    /* 1 If the <union> alternative is chosen, then [Definition:]  
+    * define the explicit members as the type definitions ·resolved· 
+    * to by the items in the ·actual value· of the memberTypes [attribute], 
+    * if any, followed by the type definitions corresponding to the 
+    * <simpleType>s among the [children] of <union>, if any. 
+    */   
 
-    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 = 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);
-        }
-        /* Lookup the referenced type */
-        subtype = xmlSchemaGetType(ctxt->schema, ncName, namespace);
-        if (subtype == NULL) {
-            xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_MEMBER_TYPE,
-                       "Union %s references an unknown member type %s\n",
-                       type->name,  (const xmlChar *) tmp);
-        } 
-        xmlFree(tmp);
-        cur = end;
-    } while (*cur != 0);    
+    if (type->type != XML_SCHEMA_TYPE_UNION)
+        return (-1);
+    if (ctxt->ctxtType == NULL) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAS_ERR_INTERNAL,
+	    "Internal error: xmlSchemaParseUnionRefCheck, no parent type "
+	    "available", NULL, NULL);
+	return (-1);
+    }
+    /*
+    * src-union-memberTypes-or-simpleTypes
+    * Either the memberTypes [attribute] of the <union> element must 
+    * be non-empty or there must be at least one simpleType [child]. 
+    */
+    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,
+	    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);
+    } 
+	
+    ctxtType = ctxt->ctxtType;
+    if (type->base != NULL) {
+	cur = type->base;
+	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 = 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);
+	    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);
+	    } else {
+		if (memberType->contentType == XML_SCHEMA_CONTENT_UNKNOWN) 
+		    xmlSchemaTypeFixup(memberType, ctxt, NULL);	    
+		link = (xmlSchemaTypeLinkPtr) xmlMalloc(sizeof(xmlSchemaTypeLink));
+		if (link == NULL) {
+		    xmlSchemaPErrMemory(ctxt, "allocating a type link", NULL);
+		    return (-1);
+		}
+		link->type = memberType;
+		link->next = NULL;
+		if (lastLink == NULL)
+		    ctxtType->memberTypes = link;		    
+		else 
+		    lastLink->next = link;
+		lastLink = link;	    
+	    }
+	    xmlFree(tmp);
+	    cur = end;
+	} while (*cur != 0); 
+    }
+    /*
+    * Add local simple types,
+    */    
+    memberType = type->subtypes;
+    while (memberType != NULL) {
+	if (memberType->contentType == XML_SCHEMA_CONTENT_UNKNOWN)
+	    xmlSchemaTypeFixup(memberType, ctxt, NULL);	    
+	link = (xmlSchemaTypeLinkPtr) xmlMalloc(sizeof(xmlSchemaTypeLink));
+	if (link == NULL) {
+	    xmlSchemaPErrMemory(ctxt, "allocating a type link", NULL);
+	    return (-1);
+	}
+	link->type = memberType;
+	link->next = NULL;
+	if (lastLink == NULL)
+	    ctxtType->memberTypes = link;		    
+	else 
+	    lastLink->next = link;
+	lastLink = link;
+	memberType = memberType->next;
+    }    
+    /*
+    * The actual value is then formed by replacing any union type 
+    * definition in the ·explicit members· with the members of their 
+    * {member type definitions}, in order.
+    */
+    link = ctxtType->memberTypes;
+    while (link != NULL) {
+	if (link->type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	    subLink = link->type->memberTypes;	    
+	    if (subLink != NULL) {		
+		link->type = subLink->type;
+		if (subLink->next != NULL) {
+		    lastLink = link->next;
+		    subLink = subLink->next;		
+		    prevLink = link;
+		    while (subLink != NULL) {		    
+			newLink = (xmlSchemaTypeLinkPtr) 
+			    xmlMalloc(sizeof(xmlSchemaTypeLink));
+			if (newLink == NULL) {
+			    xmlSchemaPErrMemory(ctxt, "allocating a type link", 
+				NULL);
+			    return (-1);
+			}
+			newLink->type = memberType;	    
+			prevLink->next = newLink;
+			prevLink = newLink;
+			newLink->next = lastLink;
+			
+			subLink = subLink->next;
+		    }
+		}
+	    }
+	}
+	link = link->next;
+    }    
+
+    return (0);
 }
 
 /**
+ * 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
+ * @valType: the value type
+ * 
+ *
+ * Returns 1 if the type has the given value type, or
+ * is derived from such a type.
+ */
+static int
+xmlSchemaIsDerivedFromBuiltInType(xmlSchemaParserCtxtPtr ctxt, 
+				  xmlSchemaTypePtr type, int valType)
+{
+    /* TODO: Check if this works in every case. */
+    if ((type->type == XML_SCHEMA_TYPE_BASIC) &&
+		(type->contentType == XML_SCHEMA_CONTENT_BASIC)) {
+		if (type->builtInType == valType)
+			return(1);
+    } else if (type->type == XML_SCHEMA_TYPE_ATTRIBUTE) {
+	if (((xmlSchemaAttributePtr) type)->subtypes != NULL) 
+	    return(xmlSchemaIsDerivedFromBuiltInType(ctxt, 
+		((xmlSchemaAttributePtr) type)->subtypes, valType));
+    } else if ((type->type == XML_SCHEMA_TYPE_RESTRICTION) ||
+	(type->type == XML_SCHEMA_TYPE_EXTENSION)) {
+	if (type->baseType != NULL) 
+	    return(xmlSchemaIsDerivedFromBuiltInType(ctxt, type->baseType, 
+		valType));
+    } else if ((type->subtypes != NULL) &&
+	((type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX) ||
+	 (type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) ||
+	 (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE) ||
+	 (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT))) {
+	return(xmlSchemaIsDerivedFromBuiltInType(ctxt, type->subtypes, 
+	    valType));
+    }
+
+    return (0);
+}
+
+/**
+ * xmlSchemaIsDerivedFromBuiltInType:
+ * @type:  the simpleType definition
+ *
+ * Returns the primitive type of the given type or
+ * NULL in case of error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaGetPrimitiveType(xmlSchemaTypePtr type)
+{
+    while (type != NULL) {
+	if (type->flags & XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE)
+	    return (type);
+	type = type->baseType;
+    }
+
+    return (NULL);
+}
+
+
+/**
+ * xmlSchemaBuildAttributeUsesOwned:
+ * @ctxt:  the schema parser context
+ * @type:  the complex type definition
+ * @cur: the attribute declaration list
+ * @lastUse: the top of the attribute use list
+ *
+ * Builds the attribute uses list on the given complex type.
+ * This one is supposed to be called by 
+ * xmlSchemaBuildAttributeValidation only.
+ */
+static int
+xmlSchemaBuildAttributeUsesOwned(xmlSchemaParserCtxtPtr ctxt, 
+				 xmlSchemaAttributePtr cur,
+				 xmlSchemaAttributeLinkPtr *uses,
+				 xmlSchemaAttributeLinkPtr *lastUse)
+{
+    xmlSchemaAttributeLinkPtr tmp;
+    while (cur != NULL) {
+	if (cur->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
+	    /* 
+	     * W3C: "2 The {attribute uses} of the attribute groups ·resolved· 
+	     * to by the ·actual value·s of the ref [attribute] of the 
+	     * <attributeGroup> [children], if any."
+	     */
+	    if (xmlSchemaBuildAttributeUsesOwned(ctxt, 
+		((xmlSchemaAttributeGroupPtr) cur)->attributes, uses, 
+		lastUse) == -1) {
+		return (-1);	    
+	    }
+	} else {
+	    /* W3C: "1 The set of attribute uses corresponding to the 
+	     * <attribute> [children], if any."
+	     */	    	    
+	    tmp = (xmlSchemaAttributeLinkPtr) 
+		xmlMalloc(sizeof(xmlSchemaAttributeLink));
+	    if (tmp == NULL) {
+		xmlSchemaPErrMemory(ctxt, "building attribute uses", NULL);
+		return (-1);
+	    }
+	    tmp->attr = cur;
+	    tmp->next = NULL;
+	    if (*uses == NULL)
+		*uses = tmp;		    
+	    else 
+		(*lastUse)->next = tmp;
+	    *lastUse = tmp;	    
+	}	
+	cur = cur->next;
+    }	
+    return (0);
+}
+
+/**
+ * xmlSchemaCloneWildcardNsConstraints:
+ * @ctxt:  the schema parser context
+ * @dest:  the destination wildcard
+ * @source: the source wildcard
+ *
+ * Clones the namespace constraints of source
+ * and assignes them to dest.
+ * Returns -1 on internal error, 0 otherwise.
+ */
+static int
+xmlSchemaCloneWildcardNsConstraints(xmlSchemaParserCtxtPtr ctxt,
+				    xmlSchemaWildcardPtr *dest,
+				    xmlSchemaWildcardPtr source)				    
+{
+    xmlSchemaWildcardNsPtr cur, tmp, last;
+
+    if ((source == NULL) || (*dest == NULL))
+	return(-1);    
+    (*dest)->any = source->any;
+    cur = source->nsSet;
+    last = NULL;
+    while (cur != NULL) {
+	tmp = xmlSchemaNewWildcardNsConstraint(ctxt);
+	if (tmp == NULL)
+	    return(-1);
+	tmp->value = cur->value;
+	if (last == NULL)
+	    (*dest)->nsSet = tmp;
+	else 
+	    last->next = tmp;
+	last = tmp;
+	cur = cur->next;
+    }    
+    if ((*dest)->negNsSet != NULL)
+	xmlSchemaFreeWildcardNsSet((*dest)->negNsSet);	   
+    if (source->negNsSet != NULL) {
+	(*dest)->negNsSet = xmlSchemaNewWildcardNsConstraint(ctxt);
+	if ((*dest)->negNsSet == NULL)
+	    return(-1);
+	(*dest)->negNsSet->value = source->negNsSet->value;	    
+    } else
+	(*dest)->negNsSet = NULL;
+    return(0);
+}
+
+/**
+ * xmlSchemaUnionWildcards:
+ * @ctxt:  the schema parser context
+ * @completeWild:  the first wildcard
+ * @curWild: the second wildcard 
+ *
+ * Unions the namespace constraints of the given wildcards.
+ * @completeWild will hold the resulting union.
+ * Returns a positive error code on failure, -1 in case of an
+ * internal error, 0 otherwise.
+ */
+static int
+xmlSchemaUnionWildcards(xmlSchemaParserCtxtPtr ctxt, 			    
+			    xmlSchemaWildcardPtr completeWild,
+			    xmlSchemaWildcardPtr curWild)
+{
+    xmlSchemaWildcardNsPtr cur, curB, tmp;
+
+    /*
+    * 1 If O1 and O2 are the same value, then that value must be the 
+    * value.
+    */
+    if ((completeWild->any == curWild->any) &&
+	((completeWild->nsSet == NULL) == (curWild->nsSet == NULL)) &&
+	((completeWild->negNsSet == NULL) == (curWild->negNsSet == NULL))) {
+	
+	if ((completeWild->negNsSet == NULL) ||
+	    (completeWild->negNsSet->value == curWild->negNsSet->value)) {
+	    
+	    if (completeWild->nsSet != NULL) {
+		int found = 0;
+		
+		/* 
+		* Check equality of sets. 
+		*/
+		cur = completeWild->nsSet;
+		while (cur != NULL) {
+		    found = 0;
+		    curB = curWild->nsSet;
+		    while (curB != NULL) {
+			if (cur->value == curB->value) {
+			    found = 1;
+			    break;
+			}
+			curB = curB->next;
+		    }
+		    if (!found)
+			break;
+		    cur = cur->next;
+		}
+		if (found)
+		    return(0);
+	    } else
+		return(0);
+	}
+    }	        
+    /*
+    * 2 If either O1 or O2 is any, then any must be the value
+    */
+    if (completeWild->any != curWild->any) {	
+	if (completeWild->any == 0) {
+	    completeWild->any = 1;
+	    if (completeWild->nsSet != NULL) {
+		xmlSchemaFreeWildcardNsSet(completeWild->nsSet);
+		completeWild->nsSet = NULL;
+	    }
+	    if (completeWild->negNsSet != NULL) {
+		xmlFree(completeWild->negNsSet);
+		completeWild->negNsSet = NULL;
+	    }
+	}
+	return (0);
+    }
+    /*
+    * 3 If both O1 and O2 are sets of (namespace names or ·absent·), 
+    * then the union of those sets must be the value.
+    */
+    if ((completeWild->nsSet != NULL) && (curWild->nsSet != NULL)) {		
+	int found;
+	xmlSchemaWildcardNsPtr start;
+	
+	cur = curWild->nsSet;
+	start = completeWild->nsSet;
+	while (cur != NULL) {
+	    found = 0;
+	    curB = start;
+	    while (curB != NULL) {
+		if (cur->value == curB->value) {
+		    found = 1;
+		    break;
+		}
+		curB = curB->next;
+	    }
+	    if (!found) {
+		tmp = xmlSchemaNewWildcardNsConstraint(ctxt);
+		if (tmp == NULL) 
+		    return (-1);
+		tmp->value = cur->value;
+		tmp->next = completeWild->nsSet;		    		    
+		completeWild->nsSet = tmp;
+	    }
+	    cur = cur->next;
+	}	
+		    		
+	return(0);
+    }    
+    /*
+    * 4 If the two are negations of different values (namespace names 
+    * or ·absent·), then a pair of not and ·absent· must be the value.
+    */
+    if ((completeWild->negNsSet != NULL) && 
+	(curWild->negNsSet != NULL) &&
+	(completeWild->negNsSet->value != curWild->negNsSet->value)) {
+	completeWild->negNsSet->value = NULL;
+
+	return(0);
+    }
+    /* 
+     * 5.
+     */
+    if (((completeWild->negNsSet != NULL) && 
+	(completeWild->negNsSet->value != NULL) &&
+	(curWild->nsSet != NULL)) ||
+	((curWild->negNsSet != NULL) && 
+	(curWild->negNsSet->value != NULL) &&
+	(completeWild->nsSet != NULL))) {
+
+	int nsFound, absentFound = 0;
+	
+	if (completeWild->nsSet != NULL) {
+	    cur = completeWild->nsSet;
+	    curB = curWild->negNsSet;
+	} else {
+	    cur = curWild->nsSet;
+	    curB = completeWild->negNsSet;
+	}
+	nsFound = 0;
+	while (cur != NULL) {
+	    if (cur->value == NULL) 
+		absentFound = 1;
+	    else if (cur->value == curB->value)
+		nsFound = 1;
+	    if (nsFound && absentFound)
+		break;
+	    cur = cur->next;
+	}	
+
+	if (nsFound && absentFound) {
+	    /*
+	    * 5.1 If the set S includes both the negated namespace 
+	    * name and ·absent·, then any must be the value.
+	    */    
+	    completeWild->any = 1;
+	    if (completeWild->nsSet != NULL) {
+		xmlSchemaFreeWildcardNsSet(completeWild->nsSet);
+		completeWild->nsSet = NULL;
+	    }
+	    if (completeWild->negNsSet != NULL) {
+		xmlFree(completeWild->negNsSet);
+		completeWild->negNsSet = NULL;
+	    }
+	} else if (nsFound && (!absentFound)) {
+	    /* 
+	    * 5.2 If the set S includes the negated namespace name 
+	    * but not ·absent·, then a pair of not and ·absent· must 
+	    * be the value.
+	    */
+	    if (completeWild->nsSet != NULL) {
+		xmlSchemaFreeWildcardNsSet(completeWild->nsSet);
+		completeWild->nsSet = NULL;
+	    }
+	    if (completeWild->negNsSet == NULL) {
+		completeWild->negNsSet = xmlSchemaNewWildcardNsConstraint(ctxt);
+		if (completeWild->negNsSet == NULL)
+		    return (-1);
+	    }
+	    completeWild->negNsSet->value = NULL;
+	} else if ((!nsFound) && absentFound) {
+	    /*
+	    * 5.3 If the set S includes ·absent· but not the negated 
+	    * namespace name, then the union is not expressible.
+	    */
+	    xmlSchemaPErr(ctxt, completeWild->node, 
+		XML_SCHEMAP_UNION_NOT_EXPRESSIBLE,
+		"The union of the wilcard is not expressible\n",
+		NULL, NULL);	
+	    return(XML_SCHEMAP_UNION_NOT_EXPRESSIBLE);
+	} else if ((!nsFound) && (!absentFound)) {
+	    /* 
+	    * 5.4 If the set S does not include either the negated namespace 
+	    * name or ·absent·, then whichever of O1 or O2 is a pair of not 
+	    * and a namespace name must be the value.
+	    */
+	    if (completeWild->negNsSet == NULL) {
+		if (completeWild->nsSet != NULL) {
+		    xmlSchemaFreeWildcardNsSet(completeWild->nsSet);
+		    completeWild->nsSet = NULL;
+		}
+		completeWild->negNsSet = xmlSchemaNewWildcardNsConstraint(ctxt);
+		if (completeWild->negNsSet == NULL)
+		    return (-1);
+		completeWild->negNsSet->value = curWild->negNsSet->value;
+	    }
+	}
+	return (0);
+    }
+    /* 
+     * 6.
+     */
+    if (((completeWild->negNsSet != NULL) && 
+	(completeWild->negNsSet->value == NULL) &&
+	(curWild->nsSet != NULL)) ||
+	((curWild->negNsSet != NULL) && 
+	(curWild->negNsSet->value == NULL) &&
+	(completeWild->nsSet != NULL))) {
+
+	if (completeWild->nsSet != NULL) {
+	    cur = completeWild->nsSet;
+	} else {
+	    cur = curWild->nsSet;
+	}	
+	while (cur != NULL) {
+	    if (cur->value == NULL) {
+		/*
+		* 6.1 If the set S includes ·absent·, then any must be the 
+		* value.
+		*/
+		completeWild->any = 1;
+		if (completeWild->nsSet != NULL) {
+		    xmlSchemaFreeWildcardNsSet(completeWild->nsSet);
+		    completeWild->nsSet = NULL;
+		}
+		if (completeWild->negNsSet != NULL) {
+		    xmlFree(completeWild->negNsSet);
+		    completeWild->negNsSet = NULL;
+		}
+		return (0);
+	    }
+	    cur = cur->next;
+	}			
+	if (completeWild->negNsSet == NULL) {
+	    /*
+	    * 6.2 If the set S does not include ·absent·, then a pair of not 
+	    * and ·absent· must be the value.
+	    */
+	    if (completeWild->nsSet != NULL) {
+		xmlSchemaFreeWildcardNsSet(completeWild->nsSet);
+		completeWild->nsSet = NULL;
+	    }
+	    completeWild->negNsSet = xmlSchemaNewWildcardNsConstraint(ctxt);
+	    if (completeWild->negNsSet == NULL)
+		return (-1);
+	    completeWild->negNsSet->value = NULL;
+	}
+	return (0);
+    }
+    return (0);
+
+}
+
+/**
+ * xmlSchemaIntersectWildcards:
+ * @ctxt:  the schema parser context
+ * @completeWild:  the first wildcard
+ * @curWild: the second wildcard 
+ *
+ * Intersects the namespace constraints of the given wildcards.
+ * @completeWild will hold the resulting intersection.
+ * Returns a positive error code on failure, -1 in case of an
+ * internal error, 0 otherwise.
+ */
+static int
+xmlSchemaIntersectWildcards(xmlSchemaParserCtxtPtr ctxt, 			    
+			    xmlSchemaWildcardPtr completeWild,
+			    xmlSchemaWildcardPtr curWild)
+{
+    xmlSchemaWildcardNsPtr cur, curB, prev,  tmp;
+
+    /*
+    * 1 If O1 and O2 are the same value, then that value must be the 
+    * value.
+    */
+    if ((completeWild->any == curWild->any) &&
+	((completeWild->nsSet == NULL) == (curWild->nsSet == NULL)) &&
+	((completeWild->negNsSet == NULL) == (curWild->negNsSet == NULL))) {
+	
+	if ((completeWild->negNsSet == NULL) ||
+	    (completeWild->negNsSet->value == curWild->negNsSet->value)) {
+	    
+	    if (completeWild->nsSet != NULL) {
+		int found = 0;
+		
+		/* 
+		* Check equality of sets. 
+		*/
+		cur = completeWild->nsSet;
+		while (cur != NULL) {
+		    found = 0;
+		    curB = curWild->nsSet;
+		    while (curB != NULL) {
+			if (cur->value == curB->value) {
+			    found = 1;
+			    break;
+			}
+			curB = curB->next;
+		    }
+		    if (!found)
+			break;
+		    cur = cur->next;
+		}
+		if (found)
+		    return(0);
+	    } else
+		return(0);
+	}
+    }	        
+    /*
+    * 2 If either O1 or O2 is any, then the other must be the value.
+    */
+    if ((completeWild->any != curWild->any) && (completeWild->any)) {		    
+	if (xmlSchemaCloneWildcardNsConstraints(ctxt, &completeWild, curWild) == -1)
+	    return(-1);	    
+	return(0);
+    }	            
+    /*
+    * 3 If either O1 or O2 is a pair of not and a value (a namespace 
+    * name or ·absent·) and the other is a set of (namespace names or 
+    * ·absent·), then that set, minus the negated value if it was in 
+    * the set, minus ·absent· if it was in the set, must be the value.
+    */
+    if (((completeWild->negNsSet != NULL) && (curWild->nsSet != NULL)) ||
+	((curWild->negNsSet != NULL) && (completeWild->nsSet != NULL))) {
+	const xmlChar *neg;
+	
+	if (completeWild->nsSet == NULL) {
+	    neg = completeWild->negNsSet->value;
+	    if (xmlSchemaCloneWildcardNsConstraints(ctxt, &completeWild, curWild) == -1)
+		return(-1);
+	} else
+	    neg = curWild->negNsSet->value;
+	/*
+	* Remove absent and negated.
+	*/
+	prev = NULL;
+	cur = completeWild->nsSet;
+	while (cur != NULL) {
+	    if (cur->value == NULL) {
+		if (prev == NULL) 
+		    completeWild->nsSet = cur->next;
+		else 
+		    prev->next = cur->next;
+		xmlFree(cur);
+		break;
+	    }
+	    prev = cur;
+	    cur = cur->next;
+	}
+	if (neg != NULL) {
+	    prev = NULL;
+	    cur = completeWild->nsSet;
+	    while (cur != NULL) {
+		if (cur->value == neg) {
+		    if (prev == NULL) 
+			completeWild->nsSet = cur->next;
+		    else 
+			prev->next = cur->next;
+		    xmlFree(cur);
+		    break;
+		}
+		prev = cur;
+		cur = cur->next;
+	    }
+	}
+
+	return(0);
+    }	        
+    /*
+    * 4 If both O1 and O2 are sets of (namespace names or ·absent·), 
+    * then the intersection of those sets must be the value.
+    */
+    if ((completeWild->nsSet != NULL) && (curWild->nsSet != NULL)) {		
+	int found;
+	
+	cur = completeWild->nsSet;
+	prev = NULL;
+	while (cur != NULL) {
+	    found = 0;
+	    curB = curWild->nsSet;
+	    while (curB != NULL) {
+		if (cur->value == curB->value) {
+		    found = 1;
+		    break;
+		}
+		curB = curB->next;
+	    }
+	    if (!found) {
+		if (prev == NULL)
+		    completeWild->nsSet = cur->next;
+		else 
+		    prev->next = cur->next;
+		tmp = cur->next;
+		xmlFree(cur);
+		cur = tmp;		
+		continue;
+	    }
+	    prev = cur;
+	    cur = cur->next;
+	}	
+		    		
+	return(0);
+    }    
+    /* 5 If the two are negations of different namespace names, 
+    * then the intersection is not expressible
+    */	    
+    if ((completeWild->negNsSet != NULL) && 
+	(curWild->negNsSet != NULL) &&
+	(completeWild->negNsSet->value != curWild->negNsSet->value) &&
+	(completeWild->negNsSet->value != NULL) && 
+	(curWild->negNsSet->value != NULL)) {
+
+	xmlSchemaPErr(ctxt, completeWild->node, XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE,
+	    "The intersection of the wilcard is not expressible\n",
+	    NULL, NULL);	
+	return(XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE);
+    }		    
+    /* 
+    * 6 If the one is a negation of a namespace name and the other 
+    * is a negation of ·absent·, then the one which is the negation 
+    * of a namespace name must be the value.
+    */
+    if ((completeWild->negNsSet != NULL) && (curWild->negNsSet != NULL) &&
+	(completeWild->negNsSet->value != curWild->negNsSet->value) &&
+	(completeWild->negNsSet->value == NULL)) {	
+	completeWild->negNsSet->value =  curWild->negNsSet->value; 
+    }
+    return(0);
+}
+
+/**
+ * xmlSchemaIsWildcardNsConstraintSubset:
+ * @ctxt:  the schema parser context
+ * @wildA:  the first wildcard
+ * @wildB: the second wildcard 
+ *
+ * Returns 1 if the namespace constraint of @wildA is an intensional 
+ * subset of @wildB, 0 otherwise.
+ */
+static int
+xmlSchemaIsWildcardNsConstraintSubset(
+                            xmlSchemaParserCtxtPtr ctxt ATTRIBUTE_UNUSED, 
+			    xmlSchemaWildcardPtr wildA,
+			    xmlSchemaWildcardPtr wildB)
+{    
+
+    /*
+    * Schema Component Constraint: Wildcard Subset 
+    */
+    /*
+    * 1 super must be any. 
+    */
+    if (wildB->any)
+	return (1);
+    /*
+    * 2.1 sub must be a pair of not and a namespace name or ·absent·.
+    * 2.2 super must be a pair of not and the same value.
+    */
+    if ((wildA->negNsSet != NULL) &&
+	(wildB->negNsSet != NULL) &&
+	(wildA->negNsSet->value == wildA->negNsSet->value))
+	return (1);    
+    /* 
+    * 3.1 sub must be a set whose members are either namespace names or ·absent·. 
+    */
+    if (wildA->nsSet != NULL) {
+	/*
+	* 3.2.1 super must be the same set or a superset thereof. 
+	*/
+	if (wildB->nsSet != NULL) {
+	    xmlSchemaWildcardNsPtr cur, curB;
+	    int found = 0;
+	    
+	    cur = wildA->nsSet;
+	    while (cur != NULL) {
+		found = 0;
+		curB = wildB->nsSet;
+		while (curB != NULL) {
+		    if (cur->value == curB->value) {
+			found = 1;
+			break;
+		    }
+		    curB = curB->next;
+		}
+		if (!found)
+		    return (0);
+		cur = cur->next;
+	    }
+	    if (found)
+		return (1); 
+	} else if (wildB->negNsSet != NULL) {
+	    xmlSchemaWildcardNsPtr cur;
+	    /*
+	    * 3.2.2 super must be a pair of not and a namespace name or 
+	    * ·absent· and that value must not be in sub's set. 
+	    */
+	    cur = wildA->nsSet;
+	    while (cur != NULL) {		
+		if (cur->value == wildB->negNsSet->value)
+		    return (0);
+		cur = cur->next;
+	    }  
+	    return (1);
+	}
+    }
+    return (0);
+}
+
+/**
+ * xmlSchemaBuildCompleteAttributeWildcard:
+ * @ctxt:  the schema parser context
+ * @attrs: the attribute list 
+ * @completeWild: the resulting complete wildcard
+ *
+ * Returns -1 in case of an internal error, 0 otherwise.
+ */
+static int
+xmlSchemaBuildCompleteAttributeWildcard(xmlSchemaParserCtxtPtr ctxt, 				    
+				   xmlSchemaAttributePtr attrs,
+				   xmlSchemaWildcardPtr *completeWild)				
+{        
+    while (attrs != NULL) {
+	if (attrs->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
+	    xmlSchemaAttributeGroupPtr group;
+
+	    group = (xmlSchemaAttributeGroupPtr) attrs;	  
+	    if ((group->flags & XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED) == 0) {
+		if (group->attributes != NULL) {
+		    if (xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
+			group->attributes, &group->attributeWildcard) == -1)
+			return (-1);
+		}
+		group->flags |= XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED;
+	    }		
+	    if (group->attributeWildcard != NULL) {		
+		if (*completeWild == NULL) {
+		    /*
+		    * Copy the first encountered wildcard as context, except for the annotation.
+		    */
+		    *completeWild = xmlSchemaAddWildcard(ctxt);
+		    (*completeWild)->type = XML_SCHEMA_TYPE_ANY_ATTRIBUTE;	   
+		    if (xmlSchemaCloneWildcardNsConstraints(ctxt, 
+			completeWild, group->attributeWildcard) == -1)
+			return (-1);
+		    (*completeWild)->processContents = group->attributeWildcard->processContents;
+		    /*
+		    * Although the complete wildcard might not correspond to any
+		    * node in the schema, we will save this context node.
+		    */
+		    (*completeWild)->node = group->attributeWildcard->node;  
+		    
+		} else if (xmlSchemaIntersectWildcards(ctxt, *completeWild, group->attributeWildcard) == -1) {
+		    xmlSchemaFreeWildcard(*completeWild);
+		    return (-1);
+		}		
+	    }
+	}
+	attrs = attrs->next;
+    }
+   		                 
+    return (0);   
+}
+
+/**
+ * xmlSchemaMatchesWildcardNs:
+ * @wild:  the wildcard
+ * @ns:  the namespace
+ * 
+ *
+ * Returns 1 if the given namespace matches the wildcard,
+ * 0 otherwise.
+ */
+static int
+xmlSchemaMatchesWildcardNs(xmlSchemaWildcardPtr wild, const xmlChar* ns)
+{
+    if (wild == NULL)
+	return(0);
+
+    if (wild->any)
+	return(1);
+    else if (wild->nsSet != NULL) {
+	xmlSchemaWildcardNsPtr cur;
+
+	cur = wild->nsSet;
+	while (cur != NULL) {
+	    if (xmlStrEqual(cur->value, ns))
+		return(1);
+	    cur = cur->next;
+	}
+    } else if ((wild->negNsSet != NULL) && (ns != NULL) && 
+	(!xmlStrEqual(wild->negNsSet->value, ns)))
+	return(1);	
+	
+    return(0);
+}
+
+/**
+ * xmlSchemaBuildAttributeValidation:
+ * @ctxt:  the schema parser context
+ * @type:  the complex type definition
+ * 
+ *
+ * Builds the wildcard and the attribute uses on the given complex type.
+ * Returns -1 if an internal error occurs, 0 otherwise.
+ */
+static int
+xmlSchemaBuildAttributeValidation(xmlSchemaParserCtxtPtr ctxt, xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr baseType = NULL;
+    xmlSchemaAttributeLinkPtr cur, base, tmp, id = NULL, prev = NULL, uses = NULL, 
+	lastUse = NULL, lastBaseUse = NULL;
+    xmlSchemaAttributePtr attrs;
+    xmlSchemaTypePtr anyType;
+    int baseIsAnyType = 0;
+
+    anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+    /* 
+     * Complex Type Definition with complex content Schema Component.
+     *
+     * Attribute uses.
+     */
+    if (type->attributeUses != NULL) {
+        xmlSchemaPErr(ctxt, type->node, XML_SCHEMAS_ERR_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,
+		      "Internal error: xmlSchemaBuildAttributeValidation: "
+		      "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;
+    /*
+     * Inherit the attribute uses of the base type.
+     */
+    /*
+     * NOTE: It is allowed to "extend" the anyType complex type.
+     */
+    if (!baseIsAnyType) {
+	if (baseType != NULL) {
+	    for (cur = baseType->attributeUses; cur != NULL; cur = cur->next) {
+		tmp = (xmlSchemaAttributeLinkPtr) 
+		    xmlMalloc(sizeof(xmlSchemaAttributeLink));
+		if (tmp == NULL) {
+		    xmlSchemaPErrMemory(ctxt, 
+			"building attribute uses of complexType", NULL);
+		    return (-1);
+		}
+		tmp->attr = cur->attr;
+		tmp->next = NULL;
+		if (type->attributeUses == NULL) {
+		    type->attributeUses = tmp;
+		} else 
+		    lastBaseUse->next = tmp;
+		lastBaseUse = tmp; 
+	    }
+	}
+    }
+    if ((type->subtypes != NULL) && 
+	((type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) || 
+	 (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT))) {
+	attrs = type->subtypes->subtypes->attributes;
+	type->attributeWildcard = type->subtypes->subtypes->attributeWildcard;
+    } else {
+	/* Short hand form of the complexType. */
+	attrs = type->attributes;
+    }
+    /*
+    * 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;
+	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) ||
+	 ((baseType != NULL) && 	    
+	  (baseType->type == XML_SCHEMA_TYPE_COMPLEX) &&	      
+	  (baseType->attributeWildcard != NULL)))) {	    
+	if (type->attributeWildcard != NULL) {
+	    /*
+	    * Union the complete wildcard with the base wildcard.
+	    */
+	    if (xmlSchemaUnionWildcards(ctxt, type->attributeWildcard, 
+		baseType->attributeWildcard) == -1)
+		return (-1);
+	} else {
+	    /*
+	    * Just inherit the wildcard.
+	    */
+	    type->attributeWildcard = baseType->attributeWildcard;
+	}
+    }
+    
+    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {
+	if (type->attributeWildcard != NULL) {
+	    /* 
+	    * 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);
+		return (1);
+	    } else if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
+		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);	    
+		return (1);
+	    }
+	    /* 4.3 Unless the {base type definition} is the ·ur-type 
+	    * definition·, the complex type definition's {attribute 
+	    * wildcard}'s {process contents} must be identical to or 
+	    * stronger than the {base type definition}'s {attribute 
+	    * wildcard}'s {process contents}, where strict is stronger 
+	    * than lax is stronger than skip.
+	    */
+	    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);
+		return (1);
+	    }
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) {
+	/*
+	* Derivation Valid (Extension)
+	* At this point the type and the base have both, either
+	* no wildcard or a wildcard.
+	*/
+	if ((baseType->attributeWildcard != NULL) &&
+	    (baseType->attributeWildcard != type->attributeWildcard)) {
+	    /* 1.3 */
+	    if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
+		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);
+		return (1);		
+	    }
+	}		
+    }	
+
+    /*
+     * Gather attribute uses defined by this type.
+     */
+    if (attrs != NULL) {
+	if (xmlSchemaBuildAttributeUsesOwned(ctxt, attrs, 
+	    &uses, &lastUse) == -1) {
+	    return (-1);
+	}
+    }
+    /* 3.4.6 -> Complex Type Definition Properties Correct 4.
+     * "Two distinct attribute declarations in the {attribute uses} must 
+     * not have identical {name}s and {target namespace}s."
+     *
+     * For "extension" this is done further down.
+     */
+    if ((uses != NULL) && ((type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) == 0)) {
+	cur = uses;
+	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);
+		    break;
+		}
+		tmp = tmp->next;
+	    }
+	    cur = cur->next;
+	}
+    }	
+    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {	
+	/*
+	 * Derive by restriction.
+	 */
+	if (baseIsAnyType) {
+	    type->attributeUses = uses;
+	} else {
+	    int found;
+
+	    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)))) {
+			
+			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, 
+				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);					
+			} 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);
+			    
+			} else {
+			    /*
+			    * 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;
+		}
+		
+		if (!found) {
+		    if (cur->attr->occurs != XML_SCHEMAS_ATTR_USE_PROHIBITED) {
+			/*
+			* derivation-ok-restriction  2.2
+			*/
+			if ((type->attributeWildcard != NULL) &&
+			    xmlSchemaMatchesWildcardNs(type->attributeWildcard,
+				cur->attr->targetNamespace))
+			    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);
+			} else {
+			    /* 
+			    * Add the attribute use.
+			    *
+			    * Note that this may lead to funny derivation error reports, if
+			    * multiple equal attribute uses exist; but this is not
+			    * allowed anyway, and it will be reported beforehand.
+			    */
+			    tmp = cur;
+			    if (prev != NULL)
+				prev->next = cur->next;
+			    else 
+				uses = cur->next;
+			    cur = cur->next;    			
+			    if (type->attributeUses == NULL) {
+				type->attributeUses = tmp;
+			    } else 
+				lastBaseUse->next = tmp;
+			    lastBaseUse = tmp;		
+			    
+			    continue;
+			}
+		    }
+		}		    	    
+		prev = cur;	
+		cur = cur->next;
+	    }
+	    if (uses != NULL)
+		xmlSchemaFreeAttributeUseList(uses);
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) { 
+	/*
+	 * The spec allows only appending, and not other kinds of extensions.
+	 *
+	 * This ensures: Schema Component Constraint: Derivation Valid (Extension) : 1.2 
+	 */
+	if (uses != NULL) {
+	    if (type->attributeUses == NULL) {
+		type->attributeUses = uses;
+	    } else 
+		lastBaseUse->next = uses;
+	}
+    } else {
+	/* 
+	* Derive implicitely from the ur-type.
+	*/
+	type->attributeUses = uses;
+    }
+    /*
+     * 3.4.6 -> Complex Type Definition Properties Correct
+     */
+    if (type->attributeUses != NULL) {
+	cur = type->attributeUses;
+	prev = NULL;
+	while (cur != NULL) {
+	    /*
+	    * 4. Two distinct attribute declarations in the {attribute uses} must 
+	    * not have identical {name}s and {target namespace}s.
+	    *
+	    * Note that this was already done for "restriction" and types derived from
+	    * the ur-type.
+	    */
+	    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)))) {
+
+			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);
+			break;
+		    }
+		    tmp = tmp->next;
+		}
+	    }
+	    /*
+	    * 5. Two distinct attribute declarations in the {attribute uses} must 
+	    * not have {type definition}s which are or are derived from ID.
+	    */
+	    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));
+		} 
+		id = cur;
+	    }
+	    /*
+	    * Remove "prohibited" attribute uses. The reason this is done at this late 
+	    * stage is to be able to catch dublicate attribute uses. So we had to keep
+	    * prohibited uses in the list as well.
+	    */
+	    if (cur->attr->occurs == XML_SCHEMAS_ATTR_USE_PROHIBITED) {
+		tmp = cur;
+		if (prev == NULL)
+		    type->attributeUses = cur->next;
+		else
+		    prev->next = cur->next;
+		cur = cur->next;
+		xmlFree(tmp);
+	    } else {
+		prev = cur;
+		cur = cur->next;
+	    }
+	}    
+    }
+    /*	
+     * TODO: This check should be removed if we are 100% sure of
+     * the base type attribute uses already being built.
+     */
+    if ((baseType != NULL) && (!baseIsAnyType) &&
+	(baseType->type == XML_SCHEMA_TYPE_COMPLEX) &&
+	(baseType->contentType == XML_SCHEMA_CONTENT_UNKNOWN)) {
+	xmlSchemaPErr(ctxt, baseType->node, XML_SCHEMAS_ERR_INTERNAL,
+	    "Internal error: xmlSchemaBuildAttributeValidation: "
+	    "attribute uses not builded on base type \"%s\".\n",
+	    baseType->name, NULL);
+    }    
+    return (0);
+}
+
+/**
+ * xmlSchemaTypeFinalContains:
+ * @schema:  the schema
+ * @type:  the type definition
+ * @final: the final
+ *
+ * Evaluates if a type definition contains the given "final".
+ * This does take "finalDefault" into account as well.
+ *
+ * Returns 1 if the type does containt the given "final",
+ * 0 otherwise.
+ */
+static int
+xmlSchemaTypeFinalContains(xmlSchemaPtr schema, xmlSchemaTypePtr type, int final)
+{
+    int tfinal = final, tflags = type->flags;
+
+    if (type == NULL)
+	return (0);    
+    if (type->flags & XML_SCHEMAS_TYPE_FINAL_DEFAULT) {
+	switch (final) {
+	    case XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION;
+		break;
+	    case XML_SCHEMAS_TYPE_FINAL_EXTENSION:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_EXTENSION;
+		break;
+	    case XML_SCHEMAS_TYPE_FINAL_LIST:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_LIST;
+		break;
+	    case XML_SCHEMAS_TYPE_FINAL_UNION:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_UNION;
+		break;
+	}
+	tflags = schema->flags;
+    }
+    if (tflags & tfinal) 
+	return (1);
+    else
+	return (0);
+    
+}
+
+/**
+ * xmlSchemaGetUnionSimpleTypeMemberTypes:
+ * @type:  the Union Simple Type
+ *
+ * Returns a list of member types of @type if existing, 
+ * returns NULL otherwise.
+ */
+static xmlSchemaTypeLinkPtr
+xmlSchemaGetUnionSimpleTypeMemberTypes(xmlSchemaTypePtr type)
+{
+    while (type != NULL) {
+	if (type->memberTypes != NULL)
+	    return (type->memberTypes);
+	else
+	    type = type->baseType;
+    }
+    return (NULL);
+}
+
+/**
+ * xmlSchemaGetListSimpleTypeItemType:
+ * @type:  the simple type definition
+ *
+ * Returns the item type definition of the list simple type.
+ */ 
+static xmlSchemaTypePtr
+xmlSchemaGetListSimpleTypeItemType(xmlSchemaTypePtr type)
+{    
+    if ((type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) == 0)
+	return (NULL);
+    /*
+    * Note: In libxml2, the built-in types do not reflect 
+    * the datatype hierarchy (yet?) - we have to treat them
+    * in a special way.
+    */
+    if (type->type == XML_SCHEMA_TYPE_BASIC) 
+	return (xmlSchemaGetBuiltInListSimpleTypeItemType(type));
+    if (type->subtypes->type == XML_SCHEMA_TYPE_LIST)
+	/* 1 If the <list> alternative is chosen, then the type 
+	* definition ·resolved· to by the ·actual value· of the 
+	* itemType [attribute] of <list>, if present, otherwise 
+	* the type definition corresponding to the <simpleType> 
+	* among the [children] of <list>.
+	*/
+	return (type->subtypes->subtypes);
+    else {
+	/* 2 If the <restriction> option is chosen, then the 
+	* {item type definition} of the {base type definition}.
+	*/    
+	return (xmlSchemaGetListSimpleTypeItemType(type->baseType));
+    }    
+}
+
+/**
+ * xmlSchemaCheckCOSSTDerivedOK:
+ * @type:  the derived simple type definition
+ * @baseType:  the base type definition
+ *
+ * Checks wheter @type can be validly 
+ * derived from @baseType.
+ *
+ * Returns 0 on success, an positive error code otherwise.
+ */ 
+static int
+xmlSchemaCheckCOSSTDerivedOK(xmlSchemaPtr schema,
+				     xmlSchemaTypePtr type,
+				     xmlSchemaTypePtr baseType,
+				     int subset)
+{   
+    /*
+    * Schema Component Constraint: Type Derivation OK (Simple)
+    *
+    *
+    * 1 They are the same type definition.
+    * TODO: The identy check might have to be more complex than this.
+    */
+    if (type == baseType)
+	return (0);    
+    /* 
+    * 2.1 restriction is not in the subset, or in the {final}
+    * of its own {base type definition};
+    */
+    if ((subset & XML_SCHEMAS_TYPE_FINAL_RESTRICTION) ||
+	(xmlSchemaTypeFinalContains(schema, 
+	    type->baseType, XML_SCHEMAS_TYPE_FINAL_RESTRICTION))) {
+	return (XML_SCHEMAP_COS_ST_DERIVED_OK_2_1); 
+    }
+    /* 2.2 */
+    if (type->baseType == baseType) {
+	/*
+	* 2.2.1 D's ·base type definition· is B.
+	*/
+	return (0);
+    }   
+    /* 
+    * 2.2.2 D's ·base type definition· is not the ·ur-type definition· 
+    * and is validly derived from B given the subset, as defined by this 
+    * constraint.    
+    */
+    if ((type->baseType != xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE)) &&
+	(xmlSchemaCheckCOSSTDerivedOK(schema, type->baseType, baseType, subset) == 0)) {
+	return (0);		
+    } 
+    /* 
+    * 2.2.3 D's {variety} is list or union and B is the ·simple ur-type 
+    * definition·.
+    */
+    if (((type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) ||
+	(type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION)) &&
+	(baseType == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE))) {
+	return (0);
+    }    
+    /* 
+    * 2.2.4 B's {variety} is union and D is validly derived from a type 
+    * definition in B's {member type definitions} given the subset, as 
+    * defined by this constraint.
+    *
+    * NOTE: This seems not to involve built-in types, since there is no
+    * built-in Union Simple Type.
+    */
+    if (baseType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	xmlSchemaTypeLinkPtr cur;
+
+	cur = baseType->memberTypes;
+	while (cur != NULL) {
+	    if (xmlSchemaCheckCOSSTDerivedOK(schema, type, 
+		cur->type, subset) == 0)
+		return (0);
+	    cur = cur->next;
+	}	
+    }
+    
+    return (XML_SCHEMAP_COS_ST_DERIVED_OK_2_2);
+}
+
+
+/**
+ * xmlSchemaCheckSTPropsCorrect:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ *
+ * Checks st-props-correct.
+ *
+ * Returns 0 if the properties are correct,
+ * if not, a positive error code and -1 on internal
+ * errors.
+ */
+static int
+xmlSchemaCheckSTPropsCorrect(xmlSchemaParserCtxtPtr ctxt, 
+			     xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr baseType = type->baseType, anySimpleType,
+	anyType;
+
+    /*
+    * Schema Component Constraint: Simple Type Definition Properties Correct
+    *
+    * NOTE: This is somehow redundant, since we actually built a simple type
+    * to have all the needed information; this acts as an self test.
+    */
+    anySimpleType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+    anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+    /* 
+    * TODO: 1 The values of the properties of a simple type definition must be as 
+    * described in the property tableau in Datatype definition, modulo the 
+    * impact of Missing Sub-components (§5.3).
+    */
+    /* Base type: If the datatype has been ·derived· by ·restriction· 
+    * then the Simple Type Definition component from which it is ·derived·, 
+    * otherwise the Simple Type Definition for anySimpleType (§4.1.6). 
+    */
+    if (baseType == NULL) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
+	    "Simple type \"%s\" does not have a base type.\n",
+	    type->name, 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,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
+	    "Simple type \"%s\": its base type \"%s\" is not a simple "
+	    "type.\n",
+	    type->name, baseType->name);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
+    }
+    if ((baseType != anySimpleType) &&
+	(type->subtypes->type != XML_SCHEMA_TYPE_RESTRICTION)) {
+	xmlSchemaPErr(ctxt, type->node,
+	    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);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
+    }
+    /* 
+    * Variety: One of {atomic, list, union}. 
+    */
+    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,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
+	    "Simple type \"%s\" has an absent variety.\n",
+	    type->name, NULL);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
+    }
+    /* TODO: Finish this. */
+
+    /*
+    * 2 All simple type definitions must be derived ultimately from the ·simple 
+    * ur-type definition (so· circular definitions are disallowed). That is, it 
+    * must be possible to reach a built-in primitive datatype or the ·simple 
+    * ur-type definition· by repeatedly following the {base type definition}.
+    */    
+    baseType = type->baseType;
+    while ((baseType != NULL) && (baseType->type != XML_SCHEMA_TYPE_BASIC)) {
+	if (baseType->contentType == XML_SCHEMA_CONTENT_UNKNOWN)
+	    xmlSchemaTypeFixup(baseType, ctxt,  NULL);
+	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);
+	    return (XML_SCHEMAP_ST_PROPS_CORRECT_2);
+	}	   
+	baseType = baseType->baseType;
+    }   
+    /*
+    * 3 The {final} of the {base type definition} must not contain restriction.
+    */
+    if (xmlSchemaTypeFinalContains(ctxt->schema, baseType, 
+	XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+	xmlSchemaPErr(ctxt, type->node,
+	    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);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_3);
+    }    
+    return (0);
+}
+
+/**
+ * xmlSchemaCheckDerivationValidSimpleRestriction:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ *
+ * Checks if the given @type (simpleType) is derived 
+ * validly by restriction.
+ *
+ * Returns -1 on internal errors, 0 if the type is validly derived, 
+ * a positive error code otherwise.
+ */
+static int
+xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr ctxt, 
+					       xmlSchemaTypePtr type)
+{    
+
+    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",
+	    type->name, NULL);
+	return (-1);
+    }
+
+    if (type->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) {
+	xmlSchemaTypePtr primitive;
+	/* 
+	* 1.1 The {base type definition} must be an atomic simple 
+	* type definition or a built-in primitive datatype.
+	*/	
+	if ((type->baseType->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) {
+	    xmlSchemaPErr(ctxt, type->node,
+		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);
+	    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 */
+	if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType, 
+	    XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+	    xmlSchemaPErr(ctxt, type->node,
+		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);
+	    return (XML_SCHEMAP_COS_ST_RESTRICTS_1_2);
+	}
+	
+	/* 
+	* 1.3.1 DF must be an allowed constraining facet for the {primitive
+	* type definition}, as specified in the appropriate subsection of 3.2 
+	* Primitive datatypes.
+	*/
+	if (type->facets != NULL) {
+	    xmlSchemaFacetPtr facet;
+	    int ok = 1;
+	    
+	    primitive = xmlSchemaGetPrimitiveType(type);
+	    if (primitive == NULL) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_ERR_INTERNAL_ERROR,
+		    "xmlSchemaCheckDerivationValidSimpleRestriction: failed "
+		    "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,
+			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;			    
+		}
+		facet = facet->next;
+	    } while (facet != NULL);	    
+	    if (ok == 0)
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1);
+	    
+	}
+	/*
+	* TODO: 1.3.2 (facet derivation)
+	*/
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+	xmlSchemaTypePtr itemType = NULL;
+
+	itemType = xmlSchemaGetListSimpleTypeItemType(type);
+	if (itemType == NULL) {
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_ERR_INTERNAL_ERROR,
+		"Internal error: xmlSchemaCheckDerivationValidSimpleRestriction: "
+		"failed to evaluate the item type of type \"%s\".\n",
+		type->name, NULL);
+	    return (-1);
+	}
+	/*
+	* 2.1 The {item type definition} must have a {variety} of atomic or 
+	* union (in which case all the {member type definitions} 
+	* must be atomic).
+	*/
+	if (((itemType->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) &&  
+	    ((itemType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) == 0)) {	    
+	    xmlSchemaPErr(ctxt, type->node,
+		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);	    
+	    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_1);
+	} else if (itemType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	    xmlSchemaTypeLinkPtr member;
+
+	    member = itemType->memberTypes;
+	    while (member != NULL) {
+		if ((member->type->flags & 
+		    XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) {
+		    xmlSchemaPErr(ctxt, type->node,
+			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);
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_1);
+		}
+		member = member->next;
+	    }
+	}
+	
+	if (type->baseType == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE)) {
+	    xmlSchemaFacetPtr facet;
+	    /*
+	    * This is the case if we have: <simpleType><list ..
+	    */
+	    /*
+	    * 2.3.1 
+	    * 2.3.1.1 The {final} of the {item type definition} must not 
+	    * contain list.
+	    */
+	    if (xmlSchemaTypeFinalContains(ctxt->schema, 
+		itemType, XML_SCHEMAS_TYPE_FINAL_LIST)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    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);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1);
+	    }
+	    /*
+	    * 2.3.1.2 The {facets} must only contain the whiteSpace
+	    * facet component.
+	    */
+	    if (type->facets != NULL) {
+		facet = type->facets;
+		do {
+		    if (facet->type != XML_SCHEMA_FACET_WHITESPACE) {		 
+			xmlSchemaPErr(ctxt, type->node,
+			    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));
+			return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2);
+		    }
+		    facet = facet->next;
+		} while (facet != NULL);
+	    }
+	    /*
+	    * TODO: Datatypes states: 
+	    * A ·list· datatype can be ·derived· from an ·atomic· datatype 
+	    * whose ·lexical space· allows space (such as string or anyURI)or 
+	    * a ·union· datatype any of whose {member type definitions}'s 
+	    * ·lexical space· allows space.
+	    */
+	} else {
+	    /*
+	    * This is the case if we have: <simpleType><restriction ...
+	    */
+	    /*
+	    * 2.3.2 
+	    * 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,
+		    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);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1);
+	    }
+	    /*
+	    * 2.3.2.2 The {final} of the {base type definition} must not
+	    * contain restriction.
+	    */
+	    if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType,
+		XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    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);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2);
+	    }
+	    /*
+	    * 2.3.2.3 The {item type definition} must be validly derived 
+	    * from the {base type definition}'s {item type definition} given
+	    * the empty set, as defined in Type Derivation OK (Simple) (§3.14.6).
+	    */
+	    {
+		xmlSchemaTypePtr baseItemType;
+
+		baseItemType = xmlSchemaGetListSimpleTypeItemType(type->baseType);
+		if (baseItemType == NULL) {
+		    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",
+			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);
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3);
+		}
+	    }
+	    
+	    if (type->facets != NULL) {
+		xmlSchemaFacetPtr facet;
+		int ok = 1;
+		/* 
+		* 2.3.2.4 Only length, minLength, maxLength, whiteSpace, pattern 
+		* and enumeration facet components are allowed among the {facets}.
+		*/
+		facet = type->facets;
+		do {
+		    switch (facet->type) {
+			case XML_SCHEMA_FACET_LENGTH:
+			case XML_SCHEMA_FACET_MINLENGTH:
+			case XML_SCHEMA_FACET_MAXLENGTH:
+			case XML_SCHEMA_FACET_WHITESPACE:
+			    /*
+			    * TODO: 2.5.1.2 List datatypes
+			    * The value of ·whiteSpace· is fixed to the value collapse. 
+			    */
+			case XML_SCHEMA_FACET_PATTERN:
+			case XML_SCHEMA_FACET_ENUMERATION:
+			    break;
+			default: {
+			    xmlSchemaPErr(ctxt, type->node,
+				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));
+			    /*
+			    * We could return, but it's nicer to report all 
+			    * invalid facets.
+			    */
+			    ok = 0;			    
+			}
+		    }		    
+		    facet = facet->next;
+		} while (facet != NULL);
+		if (ok == 0)
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4);
+		/*
+		* TODO: 2.3.2.5 For each facet in the {facets} (call this DF), if there
+		* is a facet of the same kind in the {facets} of the {base type 
+		* definition} (call this BF),then the DF's {value} must be a valid 
+		* restriction of BF's {value} as defined in [XML Schemas: Datatypes].
+		*/
+	    }	    
+	    
+
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	/*
+	* 3.1 The {member type definitions} must all have {variety} of 
+	* atomic or list.
+	*/
+	xmlSchemaTypeLinkPtr member;
+
+	member = type->memberTypes;
+	while (member != NULL) {
+	    if (((member->type->flags & 
+		XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) && 
+		((member->type->flags & 
+		XML_SCHEMAS_TYPE_VARIETY_LIST) == 0)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    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);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_1);
+	    }
+	    member = member->next;
+	}
+	/*
+	* 3.3.1 If the {base type definition} is the ·simple ur-type 
+	* definition· 
+	*/
+	if (type->baseType == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE)) {
+	    /*
+	    * 3.3.1.1 All of the {member type definitions} must have a 
+	    * {final} which does not contain union.
+	    */
+	    member = type->memberTypes;
+	    while (member != NULL) {
+		if (xmlSchemaTypeFinalContains(ctxt->schema, member->type, 
+		    XML_SCHEMAS_TYPE_FINAL_UNION)) {
+		    xmlSchemaPErr(ctxt, type->node,
+			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);
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1);
+		}
+		member = member->next;
+	    }
+	    /*
+	    * 3.3.1.2 The {facets} must be empty.
+	    */
+	    if (type->facetSet != NULL) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2,
+		    "Union simple type \"%s\": the facets must be empty.\n",
+		    type->name, NULL);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2);
+	    }
+	} else {
+	    /*
+	    * 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,
+		    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);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1);
+	    }
+	    /*
+	    * 3.3.2.2 The {final} of the {base type definition} must not contain restriction.
+	    */
+	    if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType, 
+		XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    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);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2);
+	    }
+	    /*
+	    * 3.3.2.3 The {member type definitions}, in order, must be validly 
+	    * derived from the corresponding type definitions in the {base 
+	    * type definition}'s {member type definitions} given the empty set, 
+	    * as defined in Type Derivation OK (Simple) (§3.14.6).
+	    */
+	    {
+		xmlSchemaTypeLinkPtr baseMember;
+
+		/*
+		* OPTIMIZE: if the type is restricting, it has no local defined 
+		* member types and inherits the member types of the base type; 
+		* thus a check for equality can be skipped.
+		*/
+		/*
+		* TODO: Even worse: I cannot see a scenario where a restricting
+		* union simple type can have other member types as the member 
+		* types of it's base type. This check seems not necessary with
+		* respect to the derivation process in libxml2.
+		*/
+		if (type->memberTypes != NULL) {
+		    member = type->memberTypes;
+		    baseMember = xmlSchemaGetUnionSimpleTypeMemberTypes(type->baseType);
+		    if ((member == NULL) && (baseMember != NULL)) {		   
+			xmlSchemaPErr(ctxt, type->node,
+			    XML_SCHEMAS_ERR_INTERNAL,
+			    "Internal error: "
+			    "xmlSchemaCheckDerivationValidSimpleRestriction "
+			    "(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,
+				"Internal error: "
+				"xmlSchemaCheckDerivationValidSimpleRestriction "
+				"(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);
+			    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3);
+			}		
+			member = member->next;
+			baseMember = baseMember->next;
+		    }
+		}
+	    }
+	    /*
+	    * 3.3.2.4 Only pattern and enumeration facet components are 
+	    * allowed among the {facets}.
+	    */	    
+	    if (type->facets != NULL) {
+		xmlSchemaFacetPtr facet;
+		int ok = 1;
+
+		facet = type->facets;
+		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));
+			ok = 0;			    
+		    }		    
+		    facet = facet->next;
+		} while (facet != NULL);
+		if (ok == 0)
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4);
+		    
+	    }
+	    /*
+	    * TODO: 3.3.2.5 (facet derivation)
+	    */
+	}
+    }
+
+    return (0);
+}
+
+/**
+ * xmlSchemaCheckSRCSimpleType:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ *
+ * Checks crc-simple-type constraints.
+ *
+ * Returns 0 if the constraints are satisfied,
+ * if not a positive error code and -1 on internal
+ * errors.
+ */
+static int
+xmlSchemaCheckSRCSimpleType(xmlSchemaParserCtxtPtr ctxt,
+			    xmlSchemaTypePtr type)
+{   
+    /*
+    * NOTE: src-simple-type 2-4 are redundant, since the checks
+    * were are done for the corresponding <restriction>, <list> and <union>
+    * elements, but W3C wants a <simpleType> error as well, so it gets one.
+    * Maby this can be skipped in the future, if we get sure it's not needed.
+    */
+    if (type->subtypes == NULL) {
+	xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaCheckSRCSimpleType, "
+		"no subtype on simple type \"%s\".\n",
+		type->name, NULL);
+	return (-1);
+    }
+    /* 
+    * src-simple-type.1 The corresponding simple type definition, if any,
+    * must satisfy the conditions set out in Constraints on Simple Type 
+    * Definition Schema Components (§3.14.6).    
+    */
+    if ((xmlSchemaCheckSTPropsCorrect(ctxt, type) != 0) ||
+	(xmlSchemaCheckCOSSTRestricts(ctxt, type) != 0)) {
+	/*
+	* TODO: Removed this, since it got annoying to get an
+	* extra error report, if anything failed until now.
+	* Enable this if needed.
+	*/
+	/*
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_SRC_SIMPLE_TYPE_1,
+	    "Simple type \"%s\" does not satisfy the constraints "
+	    "on simple type definitions.\n",
+	    type->name, NULL);
+	*/
+	return (XML_SCHEMAP_SRC_SIMPLE_TYPE_1);
+    }
+
+    if (type->subtypes->type == XML_SCHEMA_TYPE_RESTRICTION) {
+	/*
+	* src-simple-type.2 If the <restriction> alternative is chosen, 
+	* 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);
+	}
+    } 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], 
+	* but not both.
+	* NOTE: baseType is set to the local simple type definiton,
+	* if existent, at parse time. This is a hack and not nice.
+	*/
+	if (((type->subtypes->base == NULL) && 
+	     (type->baseType == NULL)) ||	      
+	    ((type->subtypes->base != NULL) &&
+	     (type->subtypes->baseType != NULL))) {
+	    xmlSchemaPErr(ctxt, type->node,
+		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);
+	    return (XML_SCHEMAP_SRC_SIMPLE_TYPE_3);
+	}
+    
+
+    } else if (type->subtypes->type == XML_SCHEMA_TYPE_UNION) {
+	xmlSchemaTypeLinkPtr member;
+	xmlSchemaTypePtr ancestor, anySimpleType;
+
+	anySimpleType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+
+	/* src-simple-type.4 Circular union type definition is disallowed. That is, if 
+	* the <union> alternative is chosen, there must not be any entries 
+	* in the memberTypes [attribute] at any depth which resolve to the 
+	* component corresponding to the <simpleType>.
+	*/	
+	member = type->memberTypes;
+	while (member != NULL) {
+	    ancestor = member->type;
+	    while ((ancestor != NULL) && (ancestor->type != XML_SCHEMA_TYPE_BASIC)) {
+		if (ancestor->contentType == XML_SCHEMA_CONTENT_UNKNOWN)
+		    xmlSchemaTypeFixup(ancestor, ctxt,  NULL);
+		if (ancestor == anySimpleType)
+		    break;
+		else if (ancestor == type) {
+		    xmlSchemaPErr(ctxt, type->node,
+			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);
+		    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
+		    * 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.
+		    */
+
+		}
+		ancestor = ancestor->baseType;
+	    }   
+	    member = member->next;
+	}
+
+    }
+
+    return (0);
+}
+
+/**
  * xmlSchemaTypeFixup:
  * @typeDecl:  the schema type definition
  * @ctxt:  the schema parser context
@@ -4781,162 +7846,269 @@
 xmlSchemaTypeFixup(xmlSchemaTypePtr typeDecl,
                    xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
+    xmlSchemaTypePtr ctxtType;
+
     if (typeDecl == 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) {
+	    case XML_SCHEMA_TYPE_SIMPLE_CONTENT:
+	    case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
+	    case XML_SCHEMA_TYPE_UNION:
+	    case XML_SCHEMA_TYPE_RESTRICTION:
+	    case XML_SCHEMA_TYPE_EXTENSION:	    
+		return;
+	    default:
+	        break;
+	}
+    }
     if (name == NULL)
         name = typeDecl->name;
     if (typeDecl->contentType == XML_SCHEMA_CONTENT_UNKNOWN) {
         switch (typeDecl->type) {
-            case XML_SCHEMA_TYPE_SIMPLE_CONTENT:{
-                    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
-                    if (typeDecl->subtypes != NULL)
+            case XML_SCHEMA_TYPE_SIMPLE_CONTENT:{		    
+		    if (typeDecl->subtypes != NULL) {
+			if (typeDecl->subtypes->contentType ==
+			    XML_SCHEMA_CONTENT_UNKNOWN) {
+			    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
+				NULL);
+			}
                         typeDecl->contentType =
                             typeDecl->subtypes->contentType;
+		    }
                     break;
                 }
             case XML_SCHEMA_TYPE_RESTRICTION:{
+		    xmlSchemaTypePtr base = NULL;
+
+		    ctxt->ctxtType->flags |= 
+			XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
                     if (typeDecl->subtypes != NULL)
                         xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
 
                     if (typeDecl->base != NULL) {
-                        xmlSchemaTypePtr baseType;
-
-                        baseType =
+                        base =
                             xmlSchemaGetType(ctxt->schema, typeDecl->base,
                                              typeDecl->baseNs);
-                        if (baseType == NULL) {
+                        if (base == NULL) {
 			    xmlSchemaPErr(ctxt, typeDecl->node,
-			                  XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-				"Schemas: type %s base type %s not found\n",
-                                          name, typeDecl->base);
-                        }
-                        typeDecl->baseType = baseType;
+				XML_SCHEMAP_SRC_RESOLVE,
+				"Restriction \"%s\": the QName \"%s\" of the "
+				"attribute \"base\" does not resolve to a schema "
+				"component.\n",
+				name, typeDecl->base);
+                        } 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);
+                        }			
                     }
-		    if (typeDecl->subtypes == NULL)
-			if (typeDecl->baseType != NULL) {
-			    /* The base type might be not "type fixed" yet,
-			     * so do it now. */
-			    if (typeDecl->baseType->contentType == 
-			    		XML_SCHEMA_CONTENT_UNKNOWN)
-				xmlSchemaTypeFixup(typeDecl->baseType, ctxt, NULL);
+		    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)
+			    /* 1.1.1 */
+			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((typeDecl->subtypes->subtypes == NULL) &&
+			    ((typeDecl->subtypes->type ==
+			    XML_SCHEMA_TYPE_ALL)
+			    || (typeDecl->subtypes->type ==
+			    XML_SCHEMA_TYPE_SEQUENCE)))
+			    /* 1.1.2 */
+			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((typeDecl->subtypes->type ==
+			    XML_SCHEMA_TYPE_CHOICE)
+			    && (typeDecl->subtypes->subtypes == NULL))
+			    /* 1.1.3 */
+			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else {
+			    /* 1.2 and 2.X are applied at the other layer */
 			    typeDecl->contentType =
-			             typeDecl->baseType->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 
-                            /* 1.1.1 */
-                            typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->subtypes == NULL) &&
-                             ((typeDecl->subtypes->type ==
-                               XML_SCHEMA_TYPE_ALL)
-                              || (typeDecl->subtypes->type ==
-                                  XML_SCHEMA_TYPE_SEQUENCE)))
-                        /* 1.1.2 */
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->type ==
-                              XML_SCHEMA_TYPE_CHOICE)
-                             && (typeDecl->subtypes->subtypes == NULL))
-                        /* 1.1.3 */
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else {
-                        /* 1.2 and 2.X are applied at the other layer */
-                        typeDecl->contentType =
-                            XML_SCHEMA_CONTENT_ELEMENTS;
-                    }
+			    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);
+			}
+		    }
                     break;
                 }
             case XML_SCHEMA_TYPE_EXTENSION:{
-                    xmlSchemaContentType explicitContentType;
-                    xmlSchemaTypePtr base;
-
-                    if (typeDecl->base != NULL) {
-                        xmlSchemaTypePtr baseType;
-
-                        baseType =
-                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                             typeDecl->baseNs);
-                        if (baseType == NULL) {
-			    xmlSchemaPErr(ctxt, typeDecl->node,
-			                  XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-				"Schemas: type %s base type %s not found\n",
-                                          name, typeDecl->base);
-                        }
-                        typeDecl->baseType = baseType;
-                    }
-                    if (typeDecl->subtypes != NULL)
-                        xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
-
-                    explicitContentType = XML_SCHEMA_CONTENT_ELEMENTS;
-                    if (typeDecl->subtypes == NULL)
-                        /* 1.1.1 */
-                        explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->subtypes == NULL) &&
-                             ((typeDecl->subtypes->type ==
-                               XML_SCHEMA_TYPE_ALL)
-                              || (typeDecl->subtypes->type ==
-                                  XML_SCHEMA_TYPE_SEQUENCE)))
-                        /* 1.1.2 */
-                        explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->type ==
-                              XML_SCHEMA_TYPE_CHOICE)
-                             && (typeDecl->subtypes->subtypes == NULL))
-                        /* 1.1.3 */
-                        explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-
-                    base = xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                            typeDecl->baseNs);
-                    if (base == NULL) {
+		    xmlSchemaTypePtr base = NULL;
+		    xmlSchemaContentType explicitContentType;
+		    
+		    /*
+		    * An extension does exist on a complexType only.
+		    */
+		    ctxt->ctxtType->flags |= 
+			XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION;
+		    if (typeDecl->recurse) {
+			/* TODO: The word "recursive" should be changed to "circular" here. */
                         xmlSchemaPErr(ctxt, typeDecl->node,
                                       XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-                                      "Schemas: base type %s of type %s not found\n",
-                                      typeDecl->base, name);
-                        return;
-                    }
-                    if (typeDecl->recurse) {
-                        xmlSchemaPErr(ctxt, typeDecl->node,
-                                      XML_SCHEMAP_UNKNOWN_BASE_TYPE,
 				  "Schemas: extension type %s is recursive\n",
                                       name, NULL);
                         return;
 		    }
-		    typeDecl->recurse = 1;
-                    xmlSchemaTypeFixup(base, ctxt, NULL);
-		    typeDecl->recurse = 0;
-                    if (explicitContentType == XML_SCHEMA_CONTENT_EMPTY) {
-                        /* 2.1 */
-                        typeDecl->contentType = base->contentType;
-                    } else if (base->contentType ==
-                               XML_SCHEMA_CONTENT_EMPTY) {
-                        /* 2.2 imbitable ! */
-                        typeDecl->contentType =
-                            XML_SCHEMA_CONTENT_ELEMENTS;
-                    } else {
-                        /* 2.3 imbitable pareil ! */
-                        typeDecl->contentType =
-                            XML_SCHEMA_CONTENT_ELEMENTS;
+		    if (typeDecl->base != NULL) {                        
+                        base =
+                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
+                                             typeDecl->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);
+                        } else if (base->contentType == 
+			    XML_SCHEMA_CONTENT_UNKNOWN) {
+			    typeDecl->recurse = 1;
+			    xmlSchemaTypeFixup(base, ctxt, NULL);
+			    typeDecl->recurse = 0;
+                        }
+			/*
+			* The type definition ·resolved· to by the ·actual 
+			* value· of the base [attribute]
+			*/
+			ctxt->ctxtType->baseType = base;
+			/*
+			* TODO: This one is still needed for computation of
+			* the content model by xmlSchemaBuildAContentModel.
+			* Try to get rid of it.
+			*/
+			typeDecl->baseType = base;			
                     }
+		    if ((typeDecl->subtypes != NULL) &&
+			(typeDecl->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
+                        xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);	    
+		    
+		    explicitContentType = XML_SCHEMA_CONTENT_ELEMENTS;
+		    if (typeDecl->subtypes == NULL)
+			/* 1.1.1 */
+			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
+		    else if ((typeDecl->subtypes->subtypes == NULL) &&
+			((typeDecl->subtypes->type ==
+			XML_SCHEMA_TYPE_ALL)
+			|| (typeDecl->subtypes->type ==
+			XML_SCHEMA_TYPE_SEQUENCE)))
+			/* 1.1.2 */
+			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
+		    else if ((typeDecl->subtypes->type ==
+			XML_SCHEMA_TYPE_CHOICE)
+			&& (typeDecl->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;
+			} else if (base->contentType ==
+			    XML_SCHEMA_CONTENT_EMPTY) {
+			    /* 2.2 imbitable ! */
+			    typeDecl->contentType =
+				XML_SCHEMA_CONTENT_ELEMENTS;
+			} else {
+			    /* 2.3 imbitable pareil ! */
+			    typeDecl->contentType =
+				XML_SCHEMA_CONTENT_ELEMENTS;
+			}
+		    }		                
                     break;
                 }
             case XML_SCHEMA_TYPE_COMPLEX:{
+		    ctxtType = ctxt->ctxtType;
+		    ctxt->ctxtType = typeDecl;
+		    if ((typeDecl->subtypes == NULL) || 
+			((typeDecl->subtypes->type != 
+			XML_SCHEMA_TYPE_SIMPLE_CONTENT) && 
+			(typeDecl->subtypes->type != 
+			XML_SCHEMA_TYPE_COMPLEX_CONTENT))) {
+			/* 
+			* This case is understood as shorthand for complex 
+			* content restricting the ur-type definition, and 
+			* the details of the mappings should be modified as 
+			* necessary.
+			*/			
+			typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+			typeDecl->flags |= 
+			    XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
+		    }
                     if (typeDecl->subtypes == NULL) {
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-
+			typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
                         if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
                             typeDecl->contentType =
-                                XML_SCHEMA_CONTENT_MIXED;
+                                XML_SCHEMA_CONTENT_MIXED;			
                     } else {
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
+			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 {
-                            xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
-                                               NULL);
-                            if (typeDecl->subtypes != NULL)
+                        } else {			    
+                            if (typeDecl->subtypes != NULL) {
                                 typeDecl->contentType =
                                     typeDecl->subtypes->contentType;
-                        }
-			if (typeDecl->attributes == NULL)
-			    typeDecl->attributes =
-			        typeDecl->subtypes->attributes;
+			    }
+                        }			
                     }
+		    xmlSchemaBuildAttributeValidation(ctxt, typeDecl);
+		    ctxt->ctxtType = ctxtType;
                     break;
                 }
             case XML_SCHEMA_TYPE_COMPLEX_CONTENT:{
@@ -4946,42 +8118,174 @@
                             typeDecl->contentType =
                                 XML_SCHEMA_CONTENT_MIXED;
                     } else {
-                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
+                        if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED) {
                             typeDecl->contentType =
                                 XML_SCHEMA_CONTENT_MIXED;
-                        else {
+                        } else {
                             xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
                                                NULL);
                             if (typeDecl->subtypes != NULL)
                                 typeDecl->contentType =
                                     typeDecl->subtypes->contentType;
                         }
+			/* 
+			 * Removed due to implementation of the build of attribute uses. 
+			 */
+			/*
 			if (typeDecl->attributes == NULL)
 			    typeDecl->attributes =
 			        typeDecl->subtypes->attributes;
+			*/
                     }
                     break;
                 }
+	    case XML_SCHEMA_TYPE_SIMPLE:
+		/*
+		* Simple Type Definition Schema Component
+		*
+		*/
+		ctxtType = ctxt->ctxtType;		
+		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		if (typeDecl->subtypes->contentType == 
+		    XML_SCHEMA_CONTENT_UNKNOWN) {
+		    ctxt->ctxtType = typeDecl;
+		    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
+		}
+		/* Fixup base type */		
+		if ((typeDecl->baseType != NULL) && 
+		    (typeDecl->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);
+		}
+		/* Base type: 
+		* 2 If the <list> or <union> alternative is chosen, 
+		* then the ·simple ur-type definition·.
+		*/
+		if (typeDecl->subtypes->type ==
+		    XML_SCHEMA_TYPE_LIST) {
+		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;		    
+		} else if (typeDecl->subtypes->type ==
+		    XML_SCHEMA_TYPE_UNION) {
+		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;
+		} else if (typeDecl->subtypes->type ==
+		    XML_SCHEMA_TYPE_RESTRICTION) {
+		    xmlSchemaFacetLinkPtr facet, cur, last = NULL;
+		    		    	    		   
+		    /* 
+		    * Variety
+		    * If the <restriction> alternative is chosen, then the 
+		    * {variety} of the {base type definition}.
+		    */	
+		    if (typeDecl->baseType != NULL) {
+			if (typeDecl->baseType->flags & 
+			    XML_SCHEMAS_TYPE_VARIETY_ATOMIC)
+			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
+			else if (typeDecl->baseType->flags & 
+			    XML_SCHEMAS_TYPE_VARIETY_LIST)
+			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
+			else if (typeDecl->baseType->flags & 
+			    XML_SCHEMAS_TYPE_VARIETY_UNION)
+			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;		    		    		   
+			/*
+			* Schema Component Constraint: Simple Type Restriction 
+			* (Facets)
+			* NOTE: Satisfaction of 1 and 2 arise from the fixup 
+			* applied beforehand.
+			*			    
+			* 3 The {facets} of R are the union of S and the {facets} 
+			* of B, eliminating duplicates. To eliminate duplicates, 
+			* when a facet of the same kind occurs in both S and the 
+			* {facets} of B, the one in the {facets} of B is not 
+			* included, with the exception of enumeration and pattern 
+			* facets, for which multiple occurrences with distinct values 
+			* are allowed.
+			*/
+			if (typeDecl->baseType->facetSet != NULL) {
+			    last = typeDecl->facetSet;
+			    if (last != NULL)
+				while (last->next != NULL)
+				    last = last->next;
+				cur = typeDecl->baseType->facetSet;
+				for (; cur != NULL; cur = cur->next) {
+				    /* 
+				    * Base patterns won't be add here:
+				    * they are ORed in a type and
+				    * ANDed in derived types. This will
+				    * happed at validation level by
+				    * walking the base axis of the type.
+				    */
+				    if (cur->facet->type == 
+					XML_SCHEMA_FACET_PATTERN) 
+					continue;
+				    facet = NULL;
+				    if ((typeDecl->facetSet != NULL) &&
+					(cur->facet->type != 
+					XML_SCHEMA_FACET_PATTERN) &&
+					(cur->facet->type != 
+					XML_SCHEMA_FACET_ENUMERATION)) {				
+					facet = typeDecl->facetSet;
+					do {
+					    if (cur->facet->type == 
+						facet->facet->type) 
+						break;
+					    facet = facet->next;
+					} while (facet != NULL);
+				    }
+				    if (facet == NULL) {
+					facet = (xmlSchemaFacetLinkPtr) 
+					    xmlMalloc(sizeof(xmlSchemaFacetLink));
+					if (facet == NULL) {
+					    xmlSchemaPErrMemory(ctxt, 
+						"fixing simpleType", NULL);
+					    return;
+					}
+					facet->facet = cur->facet;
+					facet->next = NULL;
+					if (last == NULL)
+					    typeDecl->facetSet = facet;		    
+					else 
+					    last->next = facet;
+					last = facet;				
+				    }				    
+				}
+			}
+		    }
+		}	
+		/*
+		* Check constraints.
+		*/
+		xmlSchemaCheckSRCSimpleType(ctxt, typeDecl);
+		ctxt->ctxtType = ctxtType;
+		break;
             case XML_SCHEMA_TYPE_SEQUENCE:
             case XML_SCHEMA_TYPE_GROUP:
             case XML_SCHEMA_TYPE_ALL:
             case XML_SCHEMA_TYPE_CHOICE:
                 typeDecl->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
                 break;
+            case XML_SCHEMA_TYPE_LIST: 
+		xmlSchemaParseListRefFixup(typeDecl, ctxt);
+		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		break;
+            case XML_SCHEMA_TYPE_UNION:		
+		xmlSchemaParseUnionRefCheck(typeDecl, ctxt);
+		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		break;
             case XML_SCHEMA_TYPE_BASIC:
             case XML_SCHEMA_TYPE_ANY:
             case XML_SCHEMA_TYPE_FACET:
-            case XML_SCHEMA_TYPE_SIMPLE:
             case XML_SCHEMA_TYPE_UR:
             case XML_SCHEMA_TYPE_ELEMENT:
             case XML_SCHEMA_TYPE_ATTRIBUTE:
             case XML_SCHEMA_TYPE_ATTRIBUTEGROUP:
             case XML_SCHEMA_TYPE_ANY_ATTRIBUTE:
             case XML_SCHEMA_TYPE_NOTATION:
-            case XML_SCHEMA_TYPE_LIST:
-		xmlSchemaParseListRefFixup(typeDecl, ctxt);
-            case XML_SCHEMA_TYPE_UNION:
-                xmlSchemaParseUnionRefCheck(typeDecl, ctxt);
             case XML_SCHEMA_FACET_MININCLUSIVE:
             case XML_SCHEMA_FACET_MINEXCLUSIVE:
             case XML_SCHEMA_FACET_MAXINCLUSIVE:
@@ -5025,9 +8329,12 @@
         case XML_SCHEMA_CONTENT_MIXED:
             xmlGenericError(xmlGenericErrorContext, "mixed\n");
             break;
+	/* Removed, since not used. */
+	/*
         case XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS:
             xmlGenericError(xmlGenericErrorContext, "mixed or elems\n");
             break;
+	*/
         case XML_SCHEMA_CONTENT_BASIC:
             xmlGenericError(xmlGenericErrorContext, "basic\n");
             break;
@@ -5060,72 +8367,150 @@
 
     if (nonNegativeIntegerType == NULL) {
         nonNegativeIntegerType =
-            xmlSchemaGetPredefinedType(BAD_CAST "nonNegativeInteger",
-                                       xmlSchemaNs);
+            xmlSchemaGetBuiltInType(XML_SCHEMAS_NNINTEGER);
     }
     switch (facet->type) {
         case XML_SCHEMA_FACET_MININCLUSIVE:
         case XML_SCHEMA_FACET_MINEXCLUSIVE:
         case XML_SCHEMA_FACET_MAXINCLUSIVE:
-        case XML_SCHEMA_FACET_MAXEXCLUSIVE:{
+        case XML_SCHEMA_FACET_MAXEXCLUSIVE:
+	case XML_SCHEMA_FACET_ENUMERATION: {
                 /*
                  * Okay we need to validate the value
                  * at that point.
                  */
                 xmlSchemaValidCtxtPtr vctxt;
+		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}. 
+		*
+		* minInclusive, maxInclusive, minExclusive, maxExclusive:
+		* The value ·must· be in the 
+		* ·value space· of the ·base type·. 
+		*/
+		/*
+		* This function is intended to deliver a compiled value
+		* on the facet. In XML Schemas the type holding a facet, 
+		* cannot be a built-in type. Thus to ensure that other API
+		* calls (relaxng) do work, if the given type is a built-in 
+		* type, we will assume that the given built-in type *is
+		* already* the base type.		
+		*/
+		if (typeDecl->type != XML_SCHEMA_TYPE_BASIC) {
+		    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);
+		    }		
+		} else
+		    base = typeDecl;
+		/*
+		* TODO: Try to avoid creating a new context.
+		*/
                 vctxt = xmlSchemaNewValidCtxt(NULL);
-                if (vctxt == NULL)
-                    break;
-                xmlSchemaValidateSimpleValue(vctxt, typeDecl,
-                                             facet->value);
-                facet->val = vctxt->value;
-                vctxt->value = NULL;
-                if (facet->val == 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);	
+		}
+		vctxt->type = base;
+		ret = xmlSchemaValidateSimpleTypeValue(vctxt, facet->value, 0, 1);
+		facet->val = vctxt->value;
+		vctxt->value = NULL;		
+                if (ret > 0) {
                     /* error code */
                     if (ctxt != NULL) {
-                        xmlSchemaPErr(ctxt, facet->node,
-                                      XML_SCHEMAP_INVALID_FACET,
-                                      "Schemas: type %s facet value %s invalid\n",
-                                      name, facet->value);
+                        xmlSchemaPErrExt(ctxt, facet->node,
+			    XML_SCHEMAP_INVALID_FACET, 
+			    NULL, NULL, NULL,
+			    "Type \"%s\": the value \"%s\" of the "
+			    "facet \"%s\" is invalid.\n",
+			    name, facet->value, 
+			    BAD_CAST xmlSchemaFacetTypeToString(facet->type), 
+			    NULL, NULL);
                     }
                     ret = -1;
-                }
-                xmlSchemaFreeValidCtxt(vctxt);
+                } else if (ret < 0) {
+		    xmlSchemaPErrExt(ctxt, facet->node,
+			XML_SCHEMAS_ERR_INTERNAL,
+			NULL, NULL, NULL,
+			"Internal error: xmlSchemaCheckFacet, "
+			"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);
                 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;
-                tmp = xmlSchemaValidateSimpleValue(vctxt, typeDecl,
+		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,
-                                      "Schemas: type %s enumeration value %s invalid\n",
-                                      name, facet->value);
+			    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,
-                              "Schemas: type %s facet regexp %s invalid\n",
-                              name, facet->value);
+		    XML_SCHEMAP_REGEXP_INVALID,
+		    "Type \"%s\": the value \"%s\" of the "
+		    "facet \"pattern\" is invalid.\n",
+		    name, facet->value);
                 ret = -1;
             }
             break;
@@ -5143,10 +8528,14 @@
                 if (tmp != 0) {
                     /* error code */
                     if (ctxt != NULL) {
-                        xmlSchemaPErr(ctxt, facet->node,
-                                      XML_SCHEMAP_INVALID_FACET_VALUE,
-                                      "Schemas: type %s facet value %s invalid\n",
-                                      name, facet->value);
+                        xmlSchemaPErrExt(ctxt, facet->node,
+			    XML_SCHEMAP_INVALID_FACET_VALUE,
+			    NULL, NULL, NULL,
+			    "Type \"%s\": the value \"%s\" of the "
+			    "facet \"%s\" is invalid.\n",
+			    name, facet->value, 
+			    BAD_CAST xmlSchemaFacetTypeToString(facet->type),
+			    NULL, NULL);
                     }
                     ret = -1;
                 }
@@ -5162,9 +8551,10 @@
                 } else {
                     if (ctxt != NULL) {
                         xmlSchemaPErr(ctxt, facet->node,
-                                      XML_SCHEMAP_INVALID_WHITE_SPACE,
-                                      "Schemas: type %s whiteSpace value %s invalid\n",
-                                      name, facet->value);
+			    XML_SCHEMAP_INVALID_WHITE_SPACE,
+			    "Type \"%s\": the value \"%s\" of the "
+			    "facet \"whiteSpace\" is invalid.\n",
+			    name, facet->value);
                     }
                     ret = -1;
                 }
@@ -5187,17 +8577,19 @@
                        xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
     if (name == NULL)
-        name = typeDecl->name;
-    if (typeDecl->type == XML_SCHEMA_TYPE_RESTRICTION) {
-        if (typeDecl->facets != NULL) {
-            xmlSchemaFacetPtr facet = typeDecl->facets;
-
-            while (facet != NULL) {
-                xmlSchemaCheckFacet(facet, typeDecl, ctxt, name);
-                facet = facet->next;
-            }
-        }
-    }
+        name = typeDecl->name; 
+    /*
+    * NOTE: It is intended to use the facets list, instead
+    * of facetSet.
+    */
+    if (typeDecl->facets != NULL) {
+	xmlSchemaFacetPtr facet = typeDecl->facets;
+	
+	while (facet != NULL) {
+	    xmlSchemaCheckFacet(facet, typeDecl, ctxt, name);
+	    facet = facet->next;
+	}
+    }    
 }
 
 /**
@@ -5209,32 +8601,41 @@
  * Fixes finish doing the computations on the attributes definitions
  */
 static void
-xmlSchemaAttrGrpFixup(xmlSchemaAttributeGroupPtr attrgrpDecl,
+xmlSchemaAttrGrpFixup(xmlSchemaAttributeGroupPtr attrgrp,
                       xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
     if (name == NULL)
-        name = attrgrpDecl->name;
-    if (attrgrpDecl->attributes != NULL)
+        name = attrgrp->name;
+    if (attrgrp->attributes != NULL)
         return;
-    if (attrgrpDecl->ref != NULL) {
+    if (attrgrp->ref != NULL) {
         xmlSchemaAttributeGroupPtr ref;
 
-        ref = xmlHashLookup2(ctxt->schema->attrgrpDecl, attrgrpDecl->ref,
-                             attrgrpDecl->refNs);
+        ref = xmlSchemaGetAttributeGroup(ctxt->schema, attrgrp->ref, attrgrp->refNs);
         if (ref == NULL) {
-            xmlSchemaPErr(ctxt, attrgrpDecl->node,
-                          XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP,
-                          "Schemas: attribute group %s reference %s not found\n",
-                          name, attrgrpDecl->ref);
+            xmlSchemaPErr(ctxt, attrgrp->node,
+		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);
             return;
         }
         xmlSchemaAttrGrpFixup(ref, ctxt, NULL);
-        attrgrpDecl->attributes = ref->attributes;
-    } else {
-        xmlSchemaPErr(ctxt, attrgrpDecl->node, XML_SCHEMAP_NOATTR_NOREF,
-                      "Schemas: attribute %s has no attributes nor reference\n",
+        attrgrp->attributes = ref->attributes;
+	attrgrp->attributeWildcard = ref->attributeWildcard;
+    }
+    /* 
+    * Removed, since a global attribute group does not need to hold any
+    * attributes or wildcard 
+    */
+    /*
+    else {
+        xmlSchemaPErr(ctxt, attrgrp->node, XML_SCHEMAP_NOATTR_NOREF,
+                      "Schemas: attribute group %s has no attributes nor reference\n",
                       name, NULL);
     }
+    */
 }
 
 /**
@@ -5249,6 +8650,12 @@
 xmlSchemaAttrFixup(xmlSchemaAttributePtr attrDecl,
                    xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
+    /*
+    * 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)
@@ -5256,31 +8663,34 @@
     if (attrDecl->typeName != NULL) {
         xmlSchemaTypePtr type;
 
-        type = xmlSchemaGetType(ctxt->schema, attrDecl->typeName,
-                                attrDecl->typeNs);
-        if (type == NULL) {
-            xmlSchemaPErr(ctxt, attrDecl->node, XML_SCHEMAP_UNKNOWN_TYPE,
-                          "Schemas: attribute %s type %s not found\n",
-                          name, attrDecl->typeName);
-        }
+	type = xmlSchemaGetType(ctxt->schema, attrDecl->typeName,
+	    attrDecl->typeNs);
+	if (type == NULL) {
+	    xmlSchemaPErr(ctxt, attrDecl->node, 
+		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;
 
-        ref = xmlHashLookup2(ctxt->schema->attrDecl, attrDecl->ref,
-                             attrDecl->refNs);
+	ref = xmlSchemaGetAttribute(ctxt->schema, attrDecl->ref, attrDecl->refNs);
         if (ref == NULL) {
-            xmlSchemaPErr(ctxt, attrDecl->node, XML_SCHEMAP_UNKNOWN_REF,
-                          "Schemas: attribute %s reference %s not found\n",
-                          name, attrDecl->ref);
+            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);
             return;
         }
         xmlSchemaAttrFixup(ref, ctxt, NULL);
         attrDecl->subtypes = ref->subtypes;
-    } else if (attrDecl->type != XML_SCHEMA_TYPE_ANY_ATTRIBUTE) {
-        xmlSchemaPErr(ctxt, attrDecl->node, XML_SCHEMAP_NOTYPE_NOREF,
-                      "Schemas: attribute %s has no type nor reference\n",
-                      name, NULL);
+    } else {
+	attrDecl->subtypes = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);        
     }
 }
 
@@ -5403,6 +8813,8 @@
     /*
      * Then fixup all types properties
      */
+    ctxt->ctxtType = NULL;
+    ctxt->parentItem = NULL;
     xmlHashScan(ret->typeDecl, (xmlHashScanner) xmlSchemaTypeFixup, ctxt);
 
     /*
@@ -5506,72 +8918,54 @@
 static int
 xmlSchemaValidateFacetsInternal(xmlSchemaValidCtxtPtr ctxt,
                         xmlSchemaTypePtr base,
-                        xmlSchemaFacetPtr facets,
+                        xmlSchemaFacetLinkPtr facets,
 			const xmlChar * value, int fireErrors)
 {
     int ret = 0;
     int tmp = 0;
     xmlSchemaTypeType type;
-    xmlSchemaFacetPtr facet = facets;
+    xmlSchemaFacetLinkPtr facetLink = facets;
 
-    while (facet != NULL) {
-        type = facet->type;
+    while (facetLink != NULL) {
+        type = facetLink->facet->type;
         if (type == XML_SCHEMA_FACET_ENUMERATION) {
             tmp = 1;
 
-            while (facet != NULL) {
+            while (facetLink != NULL) {
                 tmp =
-                    xmlSchemaValidateFacet(base, facet, value,
+                    xmlSchemaValidateFacet(base, facetLink->facet, value,
                                            ctxt->value);
                 if (tmp == 0) {
                     return 0;
                 }
-                facet = facet->next;
+                facetLink = facetLink->next;
             }
         } else
-            tmp = xmlSchemaValidateFacet(base, facet, value, ctxt->value);
+            tmp = xmlSchemaValidateFacet(base, facetLink->facet, value, 
+	    ctxt->value);
 
         if (tmp != 0) {
             ret = tmp;
-            if (fireErrors)
-                xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_FACET,
-			      "Failed to validate type with facet %s\n",
-			      (const xmlChar *) xmlSchemaFacetTypeToString(type),
-			      NULL);
+            if (fireErrors) {		
+		xmlSchemaVErr(ctxt, ctxt->cur, tmp,		    
+		    "The value failed to validate against the facet \"%s\".\n",
+		    (const xmlChar *) xmlSchemaFacetTypeToString(type), 
+		    NULL);		
+
+	    }
         }
-        if (facet != NULL)
-            facet = facet->next;
+        if (facetLink != NULL)
+            facetLink = facetLink->next;
     }
     return (ret);
 }
 
-/**
- * xmlSchemaValidateFacets:
- * @ctxt:  a schema validation context
- * @base:  the base type
- * @facets:  the list of facets to check
- * @value:  the lexical repr of the value to validate
- * @val:  the precomputed value
- *
- * Check a value against all facet conditions
- *
- * 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
-xmlSchemaValidateFacets(xmlSchemaValidCtxtPtr ctxt,
-                        xmlSchemaTypePtr base,
-                        xmlSchemaFacetPtr facets, const xmlChar * value)
-{
-    return(xmlSchemaValidateFacetsInternal(ctxt, base, facets, value, 1));
-}
-
 /************************************************************************
  * 									*
  * 			Simple type validation				*
  * 									*
  ************************************************************************/
-
+#if 0 /* Not currently used. */
 /**
  * xmlSchemaValidateSimpleValueUnion:
  * @ctxt:  a schema validation context
@@ -5703,7 +9097,6 @@
         }
     } else if (type->type == XML_SCHEMA_TYPE_RESTRICTION) {
         xmlSchemaTypePtr base;
-        xmlSchemaFacetPtr facet;
 
         base = type->baseType;
         if (base != NULL) {
@@ -5718,9 +9111,11 @@
 	 * building the Schemas
          */
         if (ctxt->schema != NULL) {
-            if (ret == 0) {
-                facet = type->facets;
-                ret = xmlSchemaValidateFacetsInternal(ctxt, base, facet,
+	    xmlSchemaFacetLinkPtr facetLink;
+
+            if ((ret == 0) && (type->facetSet != NULL)) {
+                facetLink = type->facetSet;
+                ret = xmlSchemaValidateFacetsInternal(ctxt, base, facetLink,
 				value, fireErrors);
             }
         }
@@ -5774,6 +9169,7 @@
     }
     return (ret);
 }
+#endif
 
 /************************************************************************
  * 									*
@@ -5785,13 +9181,32 @@
                                     xmlNodePtr node);
 static int xmlSchemaValidateAttributes(xmlSchemaValidCtxtPtr ctxt,
                                        xmlNodePtr elem,
-                                       xmlSchemaAttributePtr attributes);
+                                       xmlSchemaTypePtr type);
 static int xmlSchemaValidateType(xmlSchemaValidCtxtPtr ctxt,
                                  xmlNodePtr elem,
                                  xmlSchemaElementPtr elemDecl,
                                  xmlSchemaTypePtr type);
 
+
 /**
+ * xmlSchemaFreeAttrStates:
+ * @state:  a list of attribute states
+ *
+ * Free the given list of attribute states
+ *
+ */
+static void
+xmlSchemaFreeAttributeStates(xmlSchemaAttrStatePtr state)
+{
+    xmlSchemaAttrStatePtr tmp;
+    while (state != NULL) {
+	tmp = state;
+	state = state->next;	
+	xmlFree(tmp);
+    }
+}
+
+/**
  * xmlSchemaRegisterAttributes:
  * @ctxt:  a schema validation context
  * @attrs:  a list of attributes
@@ -5803,29 +9218,30 @@
 static int
 xmlSchemaRegisterAttributes(xmlSchemaValidCtxtPtr ctxt, xmlAttrPtr attrs)
 {
+    xmlSchemaAttrStatePtr tmp;
+
+    ctxt->attr = NULL;
+    ctxt->attrTop = NULL;
     while (attrs != NULL) {
         if ((attrs->ns != NULL) &&
             (xmlStrEqual(attrs->ns->href, xmlSchemaInstanceNs))) {
             attrs = attrs->next;
             continue;
         }
-        if (ctxt->attrNr >= ctxt->attrMax) {
-            xmlSchemaAttrStatePtr tmp;
-
-            ctxt->attrMax *= 2;
             tmp = (xmlSchemaAttrStatePtr)
-                xmlRealloc(ctxt->attr, ctxt->attrMax *
-                           sizeof(xmlSchemaAttrState));
+	       xmlMalloc(sizeof(xmlSchemaAttrState));
             if (tmp == NULL) {
                 xmlSchemaVErrMemory(ctxt, "registering attributes", NULL);
-                ctxt->attrMax /= 2;
                 return (-1);
             }
+	tmp->attr = attrs;
+	tmp->state = XML_SCHEMAS_ATTR_UNKNOWN;
+	tmp->next = NULL;
+	if (ctxt->attr == NULL) 
             ctxt->attr = tmp;
-        }
-        ctxt->attr[ctxt->attrNr].attr = attrs;
-        ctxt->attr[ctxt->attrNr].state = XML_SCHEMAS_ATTR_UNKNOWN;
-        ctxt->attrNr++;
+	else
+	    ctxt->attrTop->next = tmp;
+	ctxt->attrTop = tmp;
         attrs = attrs->next;
     }
     return (0);
@@ -5845,18 +9261,41 @@
 xmlSchemaCheckAttributes(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
 {
     int ret = 0;
-    int i;
+    xmlSchemaAttrStatePtr cur;    
 
-    for (i = ctxt->attrBase; i < ctxt->attrNr; i++) {
-        if (ctxt->attr[i].attr == NULL)
-            break;
-        if (ctxt->attr[i].state == XML_SCHEMAS_ATTR_UNKNOWN) {
+    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 on %s is unknown\n",
-			  ctxt->attr[i].attr->name, node->name);
+	    		  "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);
         }
     }
+	cur = cur->next;
+    }
+
     return (ret);
 }
 
@@ -5903,10 +9342,16 @@
                     ret =
                         xmlSchemaValidateFacets(ctxt, base, facet, value);
                 }
-		if ((ret == 0) && (type->attributes != NULL)) {
+		/* 
+		 * 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:{
@@ -5951,38 +9396,6 @@
 }
 
 /**
- * xmlSchemaSkipIgnored:
- * @ctxt:  a schema validation context
- * @type:  the current type context
- * @node:  the top node.
- *
- * Skip ignorable nodes in that context
- *
- * Returns the new sibling
- *     number otherwise and -1 in case of internal or API error.
- */
-static xmlNodePtr
-xmlSchemaSkipIgnored(xmlSchemaValidCtxtPtr ctxt ATTRIBUTE_UNUSED,
-                     xmlSchemaTypePtr type, xmlNodePtr node)
-{
-    int mixed = 0;
-
-    /*
-     * TODO complete and handle entities
-     */
-    mixed = ((type->contentType == XML_SCHEMA_CONTENT_MIXED) ||
-             (type->contentType == XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS));
-    while ((node != NULL) &&
-           ((node->type == XML_COMMENT_NODE) ||
-            ((mixed == 1) && (node->type == XML_TEXT_NODE)) ||
-            (((type->contentType == XML_SCHEMA_CONTENT_ELEMENTS) &&
-              (node->type == XML_TEXT_NODE) && (IS_BLANK_NODE(node)))))) {
-        node = node->next;
-    }
-    return (node);
-}
-
-/**
  * xmlSchemaValidateCallback:
  * @ctxt:  a schema validation context
  * @name:  the name of the element detected (might be NULL)
@@ -6047,7 +9460,7 @@
     ret = xmlSchemaValidateCheckNodeList(child);
     if (ret < 0) {
         xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleType %s content\n",
+		      "Internal error: xmlSchemaValidateSimpleRestrictionType %s content\n",
 		      node->name, NULL);
         return (-1);
     } else if (ret == 0) {
@@ -6063,6 +9476,7 @@
 }
 #endif
 
+#if 0 /* Not used any more */
 /**
  * xmlSchemaValidateSimpleType:
  * @ctxt:  a schema validation context
@@ -6147,22 +9561,18 @@
     value = xmlNodeGetContent(child);
     switch (variety->type) {
         case XML_SCHEMA_TYPE_RESTRICTION:{
-                xmlSchemaFacetPtr facet;
-
                 base = variety->baseType;
                 if (base != NULL) {
                     ret = xmlSchemaValidateSimpleValue(ctxt, base, value);
                 } else {
-                TODO}
-                if (ret == 0) {
-                    facet = variety->facets;
-                    ret =
-                        xmlSchemaValidateFacets(ctxt, base, facet, value);
-                }
+                TODO}		 
+                
+		/* Removed due to changes of attribute validation:
 		if ((ret == 0) && (variety->attributes != NULL)) {
 		    ret = xmlSchemaValidateAttributes(ctxt, node,
 		    		variety->attributes);
 		}
+		*/
                 break;
             }
         case XML_SCHEMA_TYPE_LIST:
@@ -6178,6 +9588,9 @@
 		ret = ctxt->err;
 	    }
     }
+    if ((ret == 0) && (variety->facetSet != NULL)) {
+	ret = xmlSchemaValidateFacets(ctxt, base, variety->facetSet, value);
+    }
     if (value != NULL)
         xmlFree(value);
 
@@ -6188,8 +9601,498 @@
     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?
+ *
+ * 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,
+				 int fireErrors,				 
+				 int applyFacets)
+{
+    xmlSchemaTypePtr type;
+    int ret = 0;    
+    type = ctxt->type;     
+    
+    if (type->type == XML_SCHEMA_TYPE_BASIC) {
+	xmlNodePtr child;
+
+	if (ctxt->value != NULL) {
+	    xmlSchemaFreeValue(ctxt->value);
+	    ctxt->value = NULL;
+	}
+	child = ctxt->node;
+	while (child != NULL) {
+	    switch (child->type) {
+	    case XML_TEXT_NODE:
+	    case XML_CDATA_SECTION_NODE:
+	    case XML_PI_NODE:
+	    case XML_COMMENT_NODE:
+	    case XML_XINCLUDE_START:
+	    case XML_XINCLUDE_END:
+		break;
+	    case XML_ENTITY_REF_NODE:
+	    case XML_ENTITY_NODE:
+		TODO 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_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, ctxt->cur, XML_SCHEMAS_ERR_INVALIDELEM,
+		    "Element \"%s\": node type of node unexpected here.\n",
+		    ctxt->cur->name, NULL);
+		return (ctxt->err);
+	    }
+	    child = child->next;
+	}
+	ret = xmlSchemaValPredefTypeNode(type, value, &(ctxt->value),
+	    ctxt->cur);
+	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);
+	    }	    
+	} else if (ret < 0) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"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);
+	if (ret < 0) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"validating atomic simple type \"%s\"\n",
+		type->name, NULL);
+	} else if (ret > 0) {
+	    ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
+	    if (fireErrors) {
+		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;
+
+	    /* 
+	    * Check facets. Be sure to pass the built-in type to
+	    * xmlSchemaValidateFacetsInternal.
+	    */	    	    	    
+	    builtIn = type->baseType;
+	    while (builtIn->type != XML_SCHEMA_TYPE_BASIC)
+		builtIn = builtIn->baseType;
+	    ret = xmlSchemaValidateFacetsInternal(ctxt, builtIn, 
+		type->facetSet, value, fireErrors);
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "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);
+		}
+	    }	
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+        
+	xmlSchemaTypePtr tmpType;
+	const xmlChar *cur, *end;
+	xmlChar *tmp;
+	int 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);		
+	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);
+	    len++;
+	    ctxt->type = tmpType;
+	    ret = xmlSchemaValidateSimpleTypeValue(ctxt, tmp, 0, 1);
+	    xmlFree(tmp);
+	    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);
+		}		
+		break;
+	    } else if (ret < 0)
+		break;
+	    cur = end;
+	} while (*cur != 0);
+	/* 
+	* Check facets.
+	*/
+	if (ret < 0) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"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);
+		    }
+		    
+		}
+		/*
+		* Pattern facets are ORed at type level and ANDed
+		* if derived. Walk the base axis.
+		*/
+		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;
+
+	/*
+	* TODO: For all datatypes ·derived· by ·union·  whiteSpace does 
+	* not apply directly; however, 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. 
+	*
+	* This means that the value is normalized by the first validating
+	* member type, then the facets of the union type are applied. This
+	* needs changing of the value!
+	*/	
+	
+	/*
+	* 1.2.3 if {variety} is ·union· then the string must ·match· a 
+	* literal in the ·lexical space· of at least one member of 
+	* {member type definitions} 
+	*/
+	memberLink = xmlSchemaGetUnionSimpleTypeMemberTypes(type);
+	if (memberLink == NULL) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"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);
+		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,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "validating members of union simple type \"%s\"\n",
+		    type->name, NULL);
+	    }
+	}
+	/*
+	* 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) {
+		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "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);
+		}
+	    }	
+	}
+    }    
+    ctxt->type = type;
+    return (ret);
+}
+
+/**
+ * xmlSchemaValidateSimpleTypeElement:
+ * @ctxt:  a schema validation context
+ * @node:  the element node to be validated.
+ *
+ * Validate the element against a simple type.
+ *
+ * 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
+xmlSchemaValidateSimpleTypeElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+{
+    xmlNodePtr child;
+    xmlSchemaTypePtr type;
+    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: xmlSchemaValidateSimpleTypeElement %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: 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].
+	*/
+        xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_TYPE_3_1_2,
+		      "Element \"%s\" must have no element children.\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 "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);
+        }
+	attr = attr->next;
+    }
+    value = xmlNodeGetContent(child);
+    ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1);
+    if (value != NULL)
+        xmlFree(value);
+
+    ctxt->type = type;
+    return (ret);
+}
+
+/**
  * xmlSchemaValidateElementType:
  * @ctxt:  a schema validation context
  * @node:  the top node.
@@ -6207,8 +10110,19 @@
     xmlSchemaTypePtr type;
     xmlRegExecCtxtPtr oldregexp;        /* cont model of the parent */
     xmlSchemaElementPtr decl;
-    int ret, attrBase;
+    int ret;
+    xmlSchemaAttrStatePtr attrs = NULL, attrTop = NULL;
 
+    /* This one is called by xmlSchemaValidateContent only. */
+    /* 
+     * TODO: Look into "xmlSchemaValidateElement" for missing parts, which should
+     * go in here as well.
+     */
+
+    /* TODO: Is this one called always with an element declaration as the 
+     * context's type?
+     */
+
     oldregexp = ctxt->regexp;
 
     child = ctxt->node;
@@ -6241,10 +10155,12 @@
     /*
      * Verify the attributes
      */
-    attrBase = ctxt->attrBase;
-    ctxt->attrBase = ctxt->attrNr;
-    xmlSchemaRegisterAttributes(ctxt, child->properties);
-    xmlSchemaValidateAttributes(ctxt, child, type->attributes);
+    
+    attrs = ctxt->attr;    
+    attrTop = ctxt->attrTop;
+    
+    xmlSchemaRegisterAttributes(ctxt, child->properties);            
+
     /*
      * Verify the element content recursively
      */
@@ -6289,16 +10205,17 @@
      * Verify that all attributes were Schemas-validated
      */
     xmlSchemaCheckAttributes(ctxt, node);
-    ctxt->attrNr = ctxt->attrBase;
-    ctxt->attrBase = attrBase;
-
+    if (ctxt->attr != NULL)
+	xmlSchemaFreeAttributeStates(ctxt->attr);
+    ctxt->attr = attrs;    
+    ctxt->attrTop = attrTop;
     ctxt->regexp = oldregexp;
-
     ctxt->node = child;
     ctxt->type = type;
     return (ctxt->err);
 }
 
+#if 0 /* Not currently used. */
 /**
  * xmlSchemaValidateBasicType:
  * @ctxt:  a schema validation context
@@ -6326,6 +10243,13 @@
 		      node->name, NULL);
         return (-1);
     }
+    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);
+    }
     /*
      * First check the content model of the node.
      */
@@ -6377,9 +10301,11 @@
         xmlSchemaFreeValue(ctxt->value);
         ctxt->value = NULL;
     }
+   
     ret = xmlSchemaValidatePredefinedType(type, value, &(ctxt->value));
+    
     if (value != NULL)
-        xmlFree(value);
+        xmlFree(value);    
     if (ret != 0) {
         xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_VALUE,
 		      "Element %s: failed to validate basic type %s\n",
@@ -6387,6 +10313,7 @@
     }
     return (ret);
 }
+#endif
 
 /**
  * xmlSchemaValidateComplexType:
@@ -6398,121 +10325,248 @@
  * Validation Rule: Element Locally Valid (Complex Type)
  *
  * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
+ * number otherwise and -1 in case of 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.
  */
 static int
 xmlSchemaValidateComplexType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
 {
     xmlNodePtr child;
-    xmlSchemaTypePtr type, subtype;
-    int ret;
+    xmlSchemaTypePtr type;
+    int ret = 0;
 
     child = ctxt->node;
     type = ctxt->type;
     ctxt->cur = node;
 
     switch (type->contentType) {
-        case XML_SCHEMA_CONTENT_EMPTY:
-	    if (type->baseType != NULL) {
-	    } else if (child != NULL) {
-		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_NOTEMPTY,
-			      "Element %s is supposed to be empty\n",
-			      node->name, NULL);
-            }
-            if (type->attributes != NULL) {
-                xmlSchemaValidateAttributes(ctxt, node, type->attributes);
-            }
-            subtype = type->subtypes;
-            while (subtype != NULL) {
-                ctxt->type = subtype;
-                xmlSchemaValidateComplexType(ctxt, node);
-                subtype = subtype->next;
-            }
+	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);
+            }	 
             break;
+	}
         case XML_SCHEMA_CONTENT_ELEMENTS:
-        case XML_SCHEMA_CONTENT_MIXED:
-        case XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS:
-            /*
-             * Skip ignorable nodes in that context
-             */
-            child = xmlSchemaSkipIgnored(ctxt, type, child);
-            while (child != NULL) {
-                if (child->type == XML_ELEMENT_NODE) {
-                    ret = xmlRegExecPushString(ctxt->regexp,
-                                               child->name, child);
+        case XML_SCHEMA_CONTENT_MIXED:              
+	    while (child != NULL) {		
+		if (child->type == XML_ELEMENT_NODE) {
+		    ret = xmlRegExecPushString(ctxt->regexp,
+			child->name, child);
 #ifdef DEBUG_AUTOMATA
-                    if (ret < 0)
-                        xmlGenericError(xmlGenericErrorContext,
-                                        "  --> %s Error\n", child->name);
-                    else
-                        xmlGenericError(xmlGenericErrorContext,
-                                        "  --> %s\n", child->name);
+		    if (ret < 0)
+			xmlGenericError(xmlGenericErrorContext,
+			"  --> %s Error\n", child->name);
+		    else
+			xmlGenericError(xmlGenericErrorContext,
+			"  --> %s\n", child->name);
 #endif
-                }
-                child = child->next;
-                /*
-                 * Skip ignorable nodes in that context
-                 */
-                child = xmlSchemaSkipIgnored(ctxt, type, child);
-            }
-	    if (((type->contentType == XML_SCHEMA_CONTENT_MIXED) ||
-		(type->contentType == XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS)) &&
-		(type->subtypes != NULL)) {
-		TODO
-	    }
-
-
-            if (type->attributes != NULL) {
-                xmlSchemaValidateAttributes(ctxt, node, type->attributes);
-            }
+		} else if ((type->contentType == XML_SCHEMA_CONTENT_ELEMENTS) && 
+		    /* 
+		    * TODO: Ask Daniel if this are all character nodes.
+		    */
+		    (((child->type == XML_TEXT_NODE) && (!IS_BLANK_NODE(child))) ||
+		     (child->type == XML_ENTITY_NODE) ||		    		    
+		     (child->type == XML_ENTITY_REF_NODE) ||		    
+		     (child->type == XML_CDATA_SECTION_NODE))) {		    
+		    /* 
+		    * 2.3 If the {content type} is element-only, then the 
+		    * element information item has no character information 
+		    * item [children] other than those whose [character 
+		    * 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);		    
+		    break;
+		}
+		child = child->next;		    
+	    }            	    
             break;
+	case XML_SCHEMA_CONTENT_SIMPLE:
         case XML_SCHEMA_CONTENT_BASIC:{
+	    xmlSchemaTypePtr base, anyType;
+	    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 
+	    * information item [children], and the ·normalized value· 
+	    * 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;
+	    while (child != NULL) {
+                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);
+		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
+		    break;
+		}
+		child = child->next;		    
+	    }	    
+	    if (ret == 0) {
+		/*
+		* Validate the character content against a simple type.
+		*/
+		if (ctxt->node == 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);
+		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
+		} else if (ret < 0) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaValidateComplexType, "
+			"Element \"%s\": error while validating character "
+			"content against complex type \"%s\".\n",
+			node->name, type->name);
+		    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
+		* 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);
+		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);
+		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
+		} else if (ret < 0) {
+		    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaValidateComplexType, "
+			"Element \"%s\": error while validating character "
+			"content against complex type \"%s\"; failed to "
+			"apply facets.\n",
+			type->name, NULL);
+		}
+	    }
+	    if (value != NULL)
+		xmlFree(value);    
+	    /* 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;
-		    if (type->baseType->type == XML_SCHEMA_TYPE_BASIC)
-			xmlSchemaValidateBasicType(ctxt, node);
-		    else if (type->baseType->type == XML_SCHEMA_TYPE_COMPLEX)
-			xmlSchemaValidateComplexType(ctxt, node);
-		    else if (type->baseType->type == XML_SCHEMA_TYPE_SIMPLE) 
-			xmlSchemaValidateSimpleType(ctxt, node);
-		    else
-			xmlGenericError(xmlGenericErrorContext,
-                                 "unexpected content type of base: %d\n",
-                                 type->contentType);
-
-                }
-                if (type->attributes != NULL) {
-                    xmlSchemaValidateAttributes(ctxt, node,
-                                                type->attributes);
-                }
-                ctxt->type = type;
-                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;
     return (ctxt->err);
 }
 
@@ -6537,7 +10591,6 @@
     type = ctxt->type;
     ctxt->cur = node;
 
-    xmlSchemaValidateAttributes(ctxt, node, type->attributes);
     ctxt->cur = node;
 
     switch (type->type) {
@@ -6570,13 +10623,11 @@
                 break;
             }
         case XML_SCHEMA_TYPE_BASIC:
-            xmlSchemaValidateBasicType(ctxt, node);
+	case XML_SCHEMA_TYPE_SIMPLE:
+            xmlSchemaValidateSimpleTypeElement(ctxt, node);
             break;
         case XML_SCHEMA_TYPE_FACET:
-            TODO break;
-        case XML_SCHEMA_TYPE_SIMPLE:
-            xmlSchemaValidateSimpleType(ctxt, node);
-            break;
+            TODO break;        
         case XML_SCHEMA_TYPE_SEQUENCE:
             TODO break;
         case XML_SCHEMA_TYPE_CHOICE:
@@ -6633,7 +10684,6 @@
         case XML_SCHEMA_TYPE_ANY_ATTRIBUTE:
             TODO break;
     }
-    xmlSchemaValidateAttributes(ctxt, node, type->attributes);
 
     if (ctxt->node == NULL)
         return (ctxt->err);
@@ -6662,6 +10712,10 @@
     if ((elem == NULL) || (type == NULL) || (elemDecl == NULL))
         return (0);
 
+    /* This one is called by "xmlSchemaValidateElementType" and
+     * "xmlSchemaValidateElement".
+     */
+
     /*
      * 3.3.4 : 2
      */
@@ -6710,9 +10764,7 @@
 
     ctxt->type = elemDecl->subtypes;
     ctxt->node = elem->children;
-    xmlSchemaValidateContent(ctxt, elem);
-    xmlSchemaValidateAttributes(ctxt, elem, elemDecl->attributes);
-
+    xmlSchemaValidateContent(ctxt, elem);   
     return (ctxt->err);
 }
 
@@ -6721,7 +10773,7 @@
  * xmlSchemaValidateAttributes:
  * @ctxt:  a schema validation context
  * @elem:  an element
- * @attributes:  the list of attribute declarations
+ * @type:  the complexType holding the attribute uses
  *
  * Validate the attributes of an element.
  *
@@ -6729,44 +10781,69 @@
  *     number otherwise and -1 in case of internal or API error.
  */
 static int
-xmlSchemaValidateAttributes(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem,
-                            xmlSchemaAttributePtr attributes)
+xmlSchemaValidateAttributes(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem, xmlSchemaTypePtr type)
 {
-    int i, ret;
-    xmlAttrPtr attr;
+    int ret;
+    xmlAttrPtr attr; /* An attribute on the element. */
     xmlChar *value;
-    xmlSchemaAttributeGroupPtr group = NULL;
+    const xmlChar *nsURI;
+    xmlSchemaAttributeLinkPtr attrUse;
+    xmlSchemaAttributePtr attrDecl;
     int found;
+    xmlSchemaAttrStatePtr curState, reqAttrStates = NULL, reqAttrStatesTop = NULL;
+#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 (attributes == NULL)
+    if ((type->attributeUses == NULL) && (type->attributeWildcard == NULL))
         return (0);
-    while (attributes != NULL) {
+
+    attrUse = type->attributeUses;
+
+    while (attrUse != NULL) {
         found = 0;    
-        /*
-         * Handle attribute groups
-         */
-        if (attributes->type == XML_SCHEMA_TYPE_ATTRIBUTEGROUP) {
-            group = (xmlSchemaAttributeGroupPtr) attributes;
-            xmlSchemaValidateAttributes(ctxt, elem, group->attributes);
-            attributes = group->next;
-            continue;
+	attrDecl = attrUse->attr;
+#ifdef DEBUG_ATTR_VALIDATION
+	printf("attr use - name: %s\n", xmlSchemaGetOnymousAttrName(attrDecl));
+	printf("attr use - use: %d\n", attrDecl->occurs);
+#endif
+        for (curState = ctxt->attr; curState != NULL; curState = curState->next) {		    
+
+	    if (curState->decl == attrUse->attr) {
+#ifdef DEBUG_ATTR_VALIDATION
+		redundant = 1;
+#endif
         }
-        for (i = ctxt->attrBase; i < ctxt->attrNr; i++) {
-            attr = ctxt->attr[i].attr;
+	    attr = curState->attr;
+#ifdef DEBUG_ATTR_VALIDATION
+	    printf("attr - name: %s\n", attr->name);
+	    if (attr->ns != NULL)
+		printf("attr - ns: %s\n", attr->ns->href);
+	    else
+		printf("attr - ns: none\n");
+#endif
+	    /* TODO: Can this ever happen? */
             if (attr == NULL)
                 continue;
-            if (attributes->ref != NULL) {
-                if (!xmlStrEqual(attr->name, attributes->ref))
+            if (attrDecl->ref != NULL) {
+                if (!xmlStrEqual(attr->name, attrDecl->ref))
                     continue;
                 if (attr->ns != NULL) {
-                    if ((attributes->refNs == NULL) ||
-                        (!xmlStrEqual(attr->ns->href, attributes->refNs)))
+                    if ((attrDecl->refNs == NULL) ||
+                        (!xmlStrEqual(attr->ns->href, attrDecl->refNs)))
                         continue;
-                } else if (attributes->refNs != NULL) {
+                } else if (attrDecl->refNs != NULL) {
                     continue;
                 }
             } else {
-                if (!xmlStrEqual(attr->name, attributes->name))
+                if (!xmlStrEqual(attr->name, attrDecl->name))
                     continue;
                 /*
                  * handle the namespaces checks here
@@ -6776,7 +10853,7 @@
 		     * accept an unqualified attribute only if the target
 		     * namespace of the declaration is absent.
 		     */
-		    if (attributes->targetNamespace != NULL)
+		    if (attrDecl->targetNamespace != NULL)
 			/* 
 			 * This check was removed, since the target namespace
 			 * was evaluated during parsing and already took
@@ -6785,57 +10862,176 @@
 		        /* ((attributes->flags & XML_SCHEMAS_ATTR_NSDEFAULT) == 0)) */
 		        continue;
 		} else {
-		    if (attributes->targetNamespace == NULL)
+		    if (attrDecl->targetNamespace == NULL)
 		        continue;
-		    if (!xmlStrEqual(attributes->targetNamespace,
+		    if (!xmlStrEqual(attrDecl->targetNamespace,
 		                     attr->ns->href))
 			continue;
 		}
             }
+#ifdef DEBUG_ATTR_VALIDATION
+	    printf("found\n");
+#endif
             found = 1;
-            ctxt->cur = (xmlNodePtr) attributes;
+            ctxt->cur = (xmlNodePtr) attr;
+	    ctxt->node = attr->children;
 
-            if (attributes->subtypes == NULL) {
+            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;
+	    curState->decl = attrDecl;
+            if (value != NULL) {
+                xmlFree(value);
+            }	    
+        }
+        if ((!found) && (attrDecl->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED)) {
+	    xmlSchemaAttrStatePtr tmp;
 
-            if (attributes->occurs == XML_SCHEMAS_ATTR_USE_PROHIBITED) {
-                xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_INVALIDATTR,
-			      "attribute %s on %s is prohibited\n",
-			      attributes->name, elem->name);
-                /* Setting the state to XML_SCHEMAS_ATTR_CHECKED seems
-		 * not very logical but it suppresses the 
-		 * "attribute is unknown" error report. Please change
-		 * this if you know better */
-                ctxt->attr[i].state = XML_SCHEMAS_ATTR_CHECKED;
-                break;
+#ifdef DEBUG_ATTR_VALIDATION
+	    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;
          
-            value = xmlNodeListGetString(elem->doc, attr->children, 1);
-            ret = xmlSchemaValidateSimpleValue(ctxt, attributes->subtypes,
-                                               value);
-            if (ret != 0) {
-                xmlSchemaVErr(ctxt, (xmlNodePtr) attr,
-			      XML_SCHEMAS_ERR_ATTRINVALID,
-			      "attribute %s on %s does not match type\n",
-			      attr->name, elem->name);
+	    if (reqAttrStates == NULL) {
+		reqAttrStates = tmp;
+		reqAttrStatesTop = tmp;
             } else {
-                ctxt->attr[i].state = XML_SCHEMAS_ATTR_CHECKED;
+		reqAttrStatesTop->next = tmp;
+		reqAttrStatesTop = tmp;
             }
-            if (value != NULL) {
-                xmlFree(value);
+	
+	}
+        attrUse = attrUse->next;
+    }
+    /*
+     * Add required attributes to the attribute states of the context.
+     */
+    if (reqAttrStates != NULL) {
+	if (ctxt->attr == NULL) {
+	    ctxt->attr = reqAttrStates;
+	} else {		
+	    ctxt->attrTop->next = reqAttrStates;
+	}
+	ctxt->attrTop = reqAttrStatesTop;
             }
+    /*
+    * Process wildcards.
+    */
+    if (type->attributeWildcard != NULL) {	
+#ifdef DEBUG_ATTR_VALIDATION
+	xmlSchemaWildcardNsPtr ns;	
+	printf("matching wildcard: [%d] of complexType: %s\n", type->attributeWildcard, type->name);
+	if (type->attributeWildcard->processContents == 
+	    XML_SCHEMAS_ANY_LAX)
+	    printf("processContents: lax\n");
+	else if (type->attributeWildcard->processContents == 
+	    XML_SCHEMAS_ANY_STRICT)
+	    printf("processContents: strict\n");
+	else
+	    printf("processContents: skip\n");
+	if (type->attributeWildcard->any)
+	    printf("type: any\n");
+	else if (type->attributeWildcard->negNsSet != NULL) {
+	    printf("type: negated\n");
+	    if (type->attributeWildcard->negNsSet->value == NULL)
+		printf("ns: (absent)\n");
+	    else
+		printf("ns: %s\n", type->attributeWildcard->negNsSet->value);
+	} else if (type->attributeWildcard->nsSet != NULL) {
+	    printf("type: set\n");
+	    ns = type->attributeWildcard->nsSet;
+	    while (ns != NULL) {
+		if (ns->value == NULL)
+		    printf("ns: (absent)\n");
+		else
+		    printf("ns: %s\n", ns->value);
+		ns = ns->next;
+	    }	    
+	} else
+	    printf("empty\n");
+
+
+#endif	
+	curState = ctxt->attr;
+	while (curState != NULL) {
+	    if (curState->state == XML_SCHEMAS_ATTR_UNKNOWN) {		
+		if (curState->attr->ns != NULL) 
+		    nsURI = curState->attr->ns->href;
+		else
+		    nsURI = NULL;		
+		if (xmlSchemaMatchesWildcardNs(type->attributeWildcard, 
+		    nsURI)) {
+		    /*
+		    * Handle processContents.
+		    */
+		    if ((type->attributeWildcard->processContents == 
+			XML_SCHEMAS_ANY_LAX) ||
+			(type->attributeWildcard->processContents == 
+			XML_SCHEMAS_ANY_STRICT)) {
+			
+			attr = curState->attr;						
+			attrDecl = xmlSchemaGetAttribute(ctxt->schema, 
+			    attr->name, nsURI);		
+			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);
+			    }	    
+			    
+			} else if (type->attributeWildcard->processContents == 
+			    XML_SCHEMAS_ANY_LAX) {
+			    curState->state = XML_SCHEMAS_ATTR_CHECKED;
+			}											
+		    } else
+			curState->state = XML_SCHEMAS_ATTR_CHECKED;
+		}		
+	    }
+	    curState = curState->next;
         }
-        if ((!found) && (attributes->occurs == XML_SCHEMAS_ATTR_USE_REQUIRED)) {
-        	xmlSchemaVErr(ctxt, elem, XML_SCHEMAS_ERR_MISSING,
-			      "required attribute %s on %s is missing\n",
-			      attributes->name, elem->name);            
-        }
-        attributes = attributes->next;
     }
+#ifdef DEBUG_ATTR_VALIDATION
+    if (redundant)
+	xmlGenericError(xmlGenericErrorContext,
+	                "xmlSchemaValidateAttributes: redundant call by type: %s\n",
+	                type->name);
+#endif
     return (ctxt->err);
 }
 
@@ -6853,7 +11049,8 @@
 xmlSchemaValidateElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr elem)
 {
     xmlSchemaElementPtr elemDecl;
-    int ret, attrBase;
+    int ret;
+    xmlSchemaAttrStatePtr attrs, attrTop;
 
     if (elem->ns != NULL) {
         elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
@@ -6862,22 +11059,7 @@
         elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
                                   elem->name, NULL, NULL);
     }
-    /*
-     * special case whe elementFormDefault is unqualified for top-level elem.
-     */
-    /*
-     * This was removed, since elementFormDefault does not apply to top-level
-     * element declarations.
-     */
-    /*
-    if ((elemDecl == NULL) && (elem->ns != NULL) &&
-        (elem->parent != NULL) && (elem->parent->type != XML_ELEMENT_NODE) &&
-        (xmlStrEqual(ctxt->schema->targetNamespace, elem->ns->href)) &&
-	((ctxt->schema->flags & XML_SCHEMAS_QUALIF_ELEM) == 0)) {
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  elem->name, NULL, NULL);
-    }
-    */
+    /* This one is called by xmlSchemaValidateDocument only. */
 
     /*
      * 3.3.4 : 1
@@ -6895,10 +11077,9 @@
     /*
      * Verify the attributes
      */
-    attrBase = ctxt->attrBase;
-    ctxt->attrBase = ctxt->attrNr;
+    attrs = ctxt->attr;
+    attrTop = ctxt->attrTop;
     xmlSchemaRegisterAttributes(ctxt, elem->properties);
-    xmlSchemaValidateAttributes(ctxt, elem, elemDecl->attributes);
     /*
      * Verify the element content recursively
      */
@@ -6939,8 +11120,10 @@
      * Verify that all attributes were Schemas-validated
      */
     xmlSchemaCheckAttributes(ctxt, elem);
-    ctxt->attrNr = ctxt->attrBase;
-    ctxt->attrBase = attrBase;
+    if (ctxt->attr != NULL)
+	xmlSchemaFreeAttributeStates(ctxt->attr);
+    ctxt->attr = attrs;
+    ctxt->attrTop = attrTop;
 
     return (ctxt->err);
 }
@@ -6960,7 +11143,7 @@
 {
     xmlNodePtr root;
     xmlSchemaElementPtr elemDecl;
-
+     
     root = xmlDocGetRootElement(doc);
     if (root == NULL) {
         xmlSchemaVErr(ctxt, (xmlNodePtr) doc, XML_SCHEMAS_ERR_NOROOT,
@@ -6974,22 +11157,27 @@
     else
         elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
                                   root->name, NULL, NULL);
+
     /*
      * 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_TOPLEVEL) == 0) {
+    } else if ((elemDecl->flags & XML_SCHEMAS_ELEM_GLOBAL) == 0) {
         xmlSchemaVErr(ctxt, root, XML_SCHEMAS_ERR_NOTTOPLEVEL,
-		      "Root element %s not toplevel\n", root->name, NULL);
+		      "Root element %s not global\n", root->name, NULL);
     }
     /*
      * Okay, start the recursive validation
@@ -7031,8 +11219,17 @@
     }
     memset(ret, 0, sizeof(xmlSchemaValidCtxt));
     ret->schema = schema;
-    ret->attrNr = 0;
-    ret->attrMax = 10;
+    /* 
+     * Removed due to changes of the attribute state list.
+    */
+    /* ret->attrNr = 0; */
+    /* ret->attrMax = 10; */
+    /* ret->attrBase = NULL; */
+    ret->attrTop = NULL;
+    ret->attr = NULL;
+    /* 
+     * Removed due to changes of the attribute state list.
+     *
     ret->attr = (xmlSchemaAttrStatePtr) xmlMalloc(ret->attrMax *
                                                   sizeof
                                                   (xmlSchemaAttrState));
@@ -7042,6 +11239,8 @@
         return (NULL);
     }
     memset(ret->attr, 0, ret->attrMax * sizeof(xmlSchemaAttrState));
+    */
+
     return (ret);
 }
 
@@ -7057,7 +11256,7 @@
     if (ctxt == NULL)
         return;
     if (ctxt->attr != NULL)
-        xmlFree(ctxt->attr);
+        xmlSchemaFreeAttributeStates(ctxt->attr);
     if (ctxt->value != NULL)
         xmlSchemaFreeValue(ctxt->value);
     xmlFree(ctxt);

Modified: packages/libxml2/trunk/xmlschemastypes.c
===================================================================
--- packages/libxml2/trunk/xmlschemastypes.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xmlschemastypes.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -39,59 +39,13 @@
 #define XML_SCHEMAS_NAMESPACE_NAME \
     (const xmlChar *)"http://www.w3.org/2001/XMLSchema"
 
-typedef enum {
-    XML_SCHEMAS_UNKNOWN = 0,
-    XML_SCHEMAS_STRING,
-    XML_SCHEMAS_NORMSTRING,
-    XML_SCHEMAS_DECIMAL,
-    XML_SCHEMAS_TIME,
-    XML_SCHEMAS_GDAY,
-    XML_SCHEMAS_GMONTH,
-    XML_SCHEMAS_GMONTHDAY,
-    XML_SCHEMAS_GYEAR,
-    XML_SCHEMAS_GYEARMONTH,
-    XML_SCHEMAS_DATE,
-    XML_SCHEMAS_DATETIME,
-    XML_SCHEMAS_DURATION,
-    XML_SCHEMAS_FLOAT,
-    XML_SCHEMAS_DOUBLE,
-    XML_SCHEMAS_BOOLEAN,
-    XML_SCHEMAS_TOKEN,
-    XML_SCHEMAS_LANGUAGE,
-    XML_SCHEMAS_NMTOKEN,
-    XML_SCHEMAS_NMTOKENS,
-    XML_SCHEMAS_NAME,
-    XML_SCHEMAS_QNAME,
-    XML_SCHEMAS_NCNAME,
-    XML_SCHEMAS_ID,
-    XML_SCHEMAS_IDREF,
-    XML_SCHEMAS_IDREFS,
-    XML_SCHEMAS_ENTITY,
-    XML_SCHEMAS_ENTITIES,
-    XML_SCHEMAS_NOTATION,
-    XML_SCHEMAS_ANYURI,
-    XML_SCHEMAS_INTEGER,
-    XML_SCHEMAS_NPINTEGER,
-    XML_SCHEMAS_NINTEGER,
-    XML_SCHEMAS_NNINTEGER,
-    XML_SCHEMAS_PINTEGER,
-    XML_SCHEMAS_INT,
-    XML_SCHEMAS_UINT,
-    XML_SCHEMAS_LONG,
-    XML_SCHEMAS_ULONG,
-    XML_SCHEMAS_SHORT,
-    XML_SCHEMAS_USHORT,
-    XML_SCHEMAS_BYTE,
-    XML_SCHEMAS_UBYTE,
-    XML_SCHEMAS_HEXBINARY,
-    XML_SCHEMAS_BASE64BINARY
-} xmlSchemaValType;
 
 static unsigned long powten[10] = {
     1, 10, 100, 1000, 10000, 100000, 1000000, 10000000L,
     100000000L, 1000000000L
 };
 
+
 /* Date value */
 typedef struct _xmlSchemaValDate xmlSchemaValDate;
 typedef xmlSchemaValDate *xmlSchemaValDatePtr;
@@ -249,10 +203,11 @@
  * @name:  the type name
  * @type:  the value type associated
  *
- * Initialize one default type
+ * Initialize one primitive built-in type
  */
 static xmlSchemaTypePtr
-xmlSchemaInitBasicType(const char *name, xmlSchemaValType type) {
+xmlSchemaInitBasicType(const char *name, xmlSchemaValType type, 
+		       xmlSchemaTypePtr baseType) {
     xmlSchemaTypePtr ret;
 
     ret = (xmlSchemaTypePtr) xmlMalloc(sizeof(xmlSchemaType));
@@ -263,10 +218,45 @@
     memset(ret, 0, sizeof(xmlSchemaType));
     ret->name = (const xmlChar *)name;
     ret->type = XML_SCHEMA_TYPE_BASIC;
-    ret->flags = type;
+    ret->baseType = baseType;
+    /*
+    * Hack to reflect the variety.
+    */
+    if ((type == XML_SCHEMAS_IDREFS) ||
+	(type == XML_SCHEMAS_NMTOKENS) ||
+	(type == XML_SCHEMAS_ENTITIES)) 
+	ret->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
+    else if (type != XML_SCHEMAS_UNKNOWN)
+	ret->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
     ret->contentType = XML_SCHEMA_CONTENT_BASIC;
+    switch (type) {
+	case XML_SCHEMAS_STRING:            
+	case XML_SCHEMAS_DECIMAL:    
+	case XML_SCHEMAS_DATE:    
+	case XML_SCHEMAS_DATETIME:    
+	case XML_SCHEMAS_TIME:    
+	case XML_SCHEMAS_GYEAR:    
+	case XML_SCHEMAS_GYEARMONTH:    
+	case XML_SCHEMAS_GMONTH:    
+	case XML_SCHEMAS_GMONTHDAY:    
+	case XML_SCHEMAS_GDAY:    
+	case XML_SCHEMAS_DURATION:    
+	case XML_SCHEMAS_FLOAT:    
+	case XML_SCHEMAS_DOUBLE:    
+	case XML_SCHEMAS_BOOLEAN:    
+	case XML_SCHEMAS_ANYURI:    
+	case XML_SCHEMAS_HEXBINARY:    
+	case XML_SCHEMAS_BASE64BINARY:	
+	case XML_SCHEMAS_QNAME:	
+	case XML_SCHEMAS_NOTATION:	
+	    ret->flags |= XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE;
+	default:
+	break;
+    }
+
     xmlHashAddEntry2(xmlSchemaTypesBank, ret->name,
 	             XML_SCHEMAS_NAMESPACE_NAME, ret);
+    ret->builtInType = type;
     return(ret);
 }
 
@@ -282,106 +272,172 @@
         return;
     xmlSchemaTypesBank = xmlHashCreate(40);
 
+    
     /*
-     * primitive datatypes
-     */
+    * 3.4.7 Built-in Complex Type Definition
+    */
+    xmlSchemaTypeAnyTypeDef = xmlSchemaInitBasicType("anyType",
+                                                     XML_SCHEMAS_UNKNOWN, 
+						     NULL);
+    xmlSchemaTypeAnyTypeDef->baseType = xmlSchemaTypeAnyTypeDef;
+    xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
+    {
+	xmlSchemaWildcardPtr wild;
+
+	wild = (xmlSchemaWildcardPtr) xmlMalloc(sizeof(xmlSchemaWildcard));
+	if (wild == NULL) {
+	    xmlSchemaTypeErrMemory(NULL, "could not create a wildcard on anyType");
+	    return;
+	}
+	memset(wild, 0, sizeof(xmlSchemaWildcard));
+	wild->any = 1;
+	wild->processContents = XML_SCHEMAS_ANY_LAX;
+	wild->minOccurs = 1;
+	wild->maxOccurs = 1;
+	xmlSchemaTypeAnyTypeDef->attributeWildcard = wild;
+    }
+    xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType", 
+                                                           XML_SCHEMAS_UNKNOWN,
+							   xmlSchemaTypeAnyTypeDef);
+    /*
+    * primitive datatypes
+    */
     xmlSchemaTypeStringDef = xmlSchemaInitBasicType("string",
-                                                    XML_SCHEMAS_STRING);
-    xmlSchemaTypeAnyTypeDef = xmlSchemaInitBasicType("anyType",
-                                                     XML_SCHEMAS_UNKNOWN);
-    xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType",
-                                                           XML_SCHEMAS_UNKNOWN);
+                                                    XML_SCHEMAS_STRING,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDecimalDef = xmlSchemaInitBasicType("decimal",
-                                                     XML_SCHEMAS_DECIMAL);
+                                                     XML_SCHEMAS_DECIMAL,
+						     xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDateDef = xmlSchemaInitBasicType("date",
-                                                  XML_SCHEMAS_DATE);
+                                                  XML_SCHEMAS_DATE,
+						  xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDatetimeDef = xmlSchemaInitBasicType("dateTime",
-                                                      XML_SCHEMAS_DATETIME);
+                                                      XML_SCHEMAS_DATETIME,
+						      xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeTimeDef = xmlSchemaInitBasicType("time",
-                                                  XML_SCHEMAS_TIME);
+                                                  XML_SCHEMAS_TIME,
+						  xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGYearDef = xmlSchemaInitBasicType("gYear",
-                                                   XML_SCHEMAS_GYEAR);
+                                                   XML_SCHEMAS_GYEAR,
+						   xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGYearMonthDef = xmlSchemaInitBasicType("gYearMonth",
-                                                        XML_SCHEMAS_GYEARMONTH);
+                                                        XML_SCHEMAS_GYEARMONTH,
+							xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGMonthDef = xmlSchemaInitBasicType("gMonth",
-                                                    XML_SCHEMAS_GMONTH);
+                                                    XML_SCHEMAS_GMONTH,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGMonthDayDef = xmlSchemaInitBasicType("gMonthDay",
-                                                       XML_SCHEMAS_GMONTHDAY);
+                                                       XML_SCHEMAS_GMONTHDAY,
+						       xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGDayDef = xmlSchemaInitBasicType("gDay",
-                                                  XML_SCHEMAS_GDAY);
+                                                  XML_SCHEMAS_GDAY,
+						  xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDurationDef = xmlSchemaInitBasicType("duration",
-                                                      XML_SCHEMAS_DURATION);
+                                                      XML_SCHEMAS_DURATION,
+						      xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeFloatDef = xmlSchemaInitBasicType("float",
-                                                   XML_SCHEMAS_FLOAT);
+                                                   XML_SCHEMAS_FLOAT,
+						   xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDoubleDef = xmlSchemaInitBasicType("double",
-                                                    XML_SCHEMAS_DOUBLE);
+                                                    XML_SCHEMAS_DOUBLE,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeBooleanDef = xmlSchemaInitBasicType("boolean",
-                                                     XML_SCHEMAS_BOOLEAN);
+                                                     XML_SCHEMAS_BOOLEAN,
+						     xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeAnyURIDef = xmlSchemaInitBasicType("anyURI",
-                                                    XML_SCHEMAS_ANYURI);
+                                                    XML_SCHEMAS_ANYURI,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeHexBinaryDef = xmlSchemaInitBasicType("hexBinary",
-                                                     XML_SCHEMAS_HEXBINARY);
+                                                     XML_SCHEMAS_HEXBINARY,
+						     xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeBase64BinaryDef
-        = xmlSchemaInitBasicType("base64Binary", XML_SCHEMAS_BASE64BINARY);
+        = xmlSchemaInitBasicType("base64Binary", XML_SCHEMAS_BASE64BINARY,
+	xmlSchemaTypeAnySimpleTypeDef);
+    xmlSchemaTypeNotationDef = xmlSchemaInitBasicType("NOTATION",
+                                                    XML_SCHEMAS_NOTATION,
+						    xmlSchemaTypeAnySimpleTypeDef);    
+    xmlSchemaTypeQNameDef = xmlSchemaInitBasicType("QName",
+                                                   XML_SCHEMAS_QNAME,
+						   xmlSchemaTypeAnySimpleTypeDef);
 
     /*
      * derived datatypes
      */
     xmlSchemaTypeIntegerDef = xmlSchemaInitBasicType("integer",
-                                                     XML_SCHEMAS_INTEGER);;
+                                                     XML_SCHEMAS_INTEGER,
+						     xmlSchemaTypeDecimalDef);
     xmlSchemaTypeNonPositiveIntegerDef =
         xmlSchemaInitBasicType("nonPositiveInteger",
-                               XML_SCHEMAS_NPINTEGER);;
+                               XML_SCHEMAS_NPINTEGER,
+			       xmlSchemaTypeIntegerDef);
     xmlSchemaTypeNegativeIntegerDef =
-        xmlSchemaInitBasicType("negativeInteger", XML_SCHEMAS_NINTEGER);;
+        xmlSchemaInitBasicType("negativeInteger", XML_SCHEMAS_NINTEGER,
+	xmlSchemaTypeNonPositiveIntegerDef);
     xmlSchemaTypeLongDef =
-        xmlSchemaInitBasicType("long", XML_SCHEMAS_LONG);;
-    xmlSchemaTypeIntDef = xmlSchemaInitBasicType("int", XML_SCHEMAS_INT);;
+        xmlSchemaInitBasicType("long", XML_SCHEMAS_LONG,
+	xmlSchemaTypeIntegerDef);
+    xmlSchemaTypeIntDef = xmlSchemaInitBasicType("int", XML_SCHEMAS_INT,
+	xmlSchemaTypeLongDef);
     xmlSchemaTypeShortDef = xmlSchemaInitBasicType("short",
-                                                   XML_SCHEMAS_SHORT);;
+                                                   XML_SCHEMAS_SHORT,
+						   xmlSchemaTypeIntDef);
     xmlSchemaTypeByteDef = xmlSchemaInitBasicType("byte",
-                                                  XML_SCHEMAS_BYTE);;
+                                                  XML_SCHEMAS_BYTE,
+						  xmlSchemaTypeShortDef);
     xmlSchemaTypeNonNegativeIntegerDef =
         xmlSchemaInitBasicType("nonNegativeInteger",
-                               XML_SCHEMAS_NNINTEGER);
+                               XML_SCHEMAS_NNINTEGER,
+			       xmlSchemaTypeIntegerDef);
     xmlSchemaTypeUnsignedLongDef =
-        xmlSchemaInitBasicType("unsignedLong", XML_SCHEMAS_ULONG);;
+        xmlSchemaInitBasicType("unsignedLong", XML_SCHEMAS_ULONG,
+	xmlSchemaTypeNonNegativeIntegerDef);
     xmlSchemaTypeUnsignedIntDef =
-        xmlSchemaInitBasicType("unsignedInt", XML_SCHEMAS_UINT);;
+        xmlSchemaInitBasicType("unsignedInt", XML_SCHEMAS_UINT,
+	xmlSchemaTypeUnsignedLongDef);
     xmlSchemaTypeUnsignedShortDef =
-        xmlSchemaInitBasicType("unsignedShort", XML_SCHEMAS_USHORT);;
+        xmlSchemaInitBasicType("unsignedShort", XML_SCHEMAS_USHORT,
+	xmlSchemaTypeUnsignedIntDef);
     xmlSchemaTypeUnsignedByteDef =
-        xmlSchemaInitBasicType("unsignedByte", XML_SCHEMAS_UBYTE);;
+        xmlSchemaInitBasicType("unsignedByte", XML_SCHEMAS_UBYTE,
+	xmlSchemaTypeUnsignedShortDef);
     xmlSchemaTypePositiveIntegerDef =
-        xmlSchemaInitBasicType("positiveInteger", XML_SCHEMAS_PINTEGER);
-
+        xmlSchemaInitBasicType("positiveInteger", XML_SCHEMAS_PINTEGER,
+	xmlSchemaTypeNonNegativeIntegerDef);
     xmlSchemaTypeNormStringDef = xmlSchemaInitBasicType("normalizedString",
-                                                        XML_SCHEMAS_NORMSTRING);
+                                                        XML_SCHEMAS_NORMSTRING,
+							xmlSchemaTypeStringDef);
     xmlSchemaTypeTokenDef = xmlSchemaInitBasicType("token",
-                                                   XML_SCHEMAS_TOKEN);
+                                                   XML_SCHEMAS_TOKEN,
+						   xmlSchemaTypeNormStringDef);
     xmlSchemaTypeLanguageDef = xmlSchemaInitBasicType("language",
-                                                      XML_SCHEMAS_LANGUAGE);
-    xmlSchemaTypeIdDef = xmlSchemaInitBasicType("ID", XML_SCHEMAS_ID);
+                                                      XML_SCHEMAS_LANGUAGE,
+						      xmlSchemaTypeTokenDef);
+    xmlSchemaTypeNameDef = xmlSchemaInitBasicType("Name",
+                                                  XML_SCHEMAS_NAME,
+						  xmlSchemaTypeTokenDef);
+    xmlSchemaTypeNmtokenDef = xmlSchemaInitBasicType("NMTOKEN",
+                                                     XML_SCHEMAS_NMTOKEN,
+						     xmlSchemaTypeTokenDef);                
+    xmlSchemaTypeNCNameDef = xmlSchemaInitBasicType("NCName",
+                                                    XML_SCHEMAS_NCNAME,
+						    xmlSchemaTypeNameDef);
+    xmlSchemaTypeIdDef = xmlSchemaInitBasicType("ID", XML_SCHEMAS_ID,
+	xmlSchemaTypeNCNameDef);
     xmlSchemaTypeIdrefDef = xmlSchemaInitBasicType("IDREF",
-                                                   XML_SCHEMAS_IDREF);
+                                                   XML_SCHEMAS_IDREF,
+						   xmlSchemaTypeNCNameDef);
     xmlSchemaTypeIdrefsDef = xmlSchemaInitBasicType("IDREFS",
-                                                    XML_SCHEMAS_IDREFS);
+                                                    XML_SCHEMAS_IDREFS,
+						    xmlSchemaTypeIdrefDef);    
+    xmlSchemaTypeNmtokensDef = xmlSchemaInitBasicType("NMTOKENS",
+                                                      XML_SCHEMAS_NMTOKENS,
+						      xmlSchemaTypeNmtokenDef);
     xmlSchemaTypeEntityDef = xmlSchemaInitBasicType("ENTITY",
-                                                    XML_SCHEMAS_ENTITY);
+                                                    XML_SCHEMAS_ENTITY,
+						    xmlSchemaTypeNCNameDef);
     xmlSchemaTypeEntitiesDef = xmlSchemaInitBasicType("ENTITIES",
-                                                      XML_SCHEMAS_ENTITIES);
-    xmlSchemaTypeNotationDef = xmlSchemaInitBasicType("NOTATION",
-                                                    XML_SCHEMAS_NOTATION);
-    xmlSchemaTypeNameDef = xmlSchemaInitBasicType("Name",
-                                                  XML_SCHEMAS_NAME);
-    xmlSchemaTypeQNameDef = xmlSchemaInitBasicType("QName",
-                                                   XML_SCHEMAS_QNAME);
-    xmlSchemaTypeNCNameDef = xmlSchemaInitBasicType("NCName",
-                                                    XML_SCHEMAS_NCNAME);
-    xmlSchemaTypeNmtokenDef = xmlSchemaInitBasicType("NMTOKEN",
-                                                     XML_SCHEMAS_NMTOKEN);
-    xmlSchemaTypeNmtokensDef = xmlSchemaInitBasicType("NMTOKENS",
-                                                      XML_SCHEMAS_NMTOKENS);
+                                                      XML_SCHEMAS_ENTITIES,
+						      xmlSchemaTypeNCNameDef);
     xmlSchemaTypesInitialized = 1;
 }
 
@@ -394,11 +450,203 @@
 xmlSchemaCleanupTypes(void) {
     if (xmlSchemaTypesInitialized == 0)
 	return;
+    xmlSchemaFreeWildcard(xmlSchemaTypeAnyTypeDef->attributeWildcard);
     xmlHashFree(xmlSchemaTypesBank, (xmlHashDeallocator) xmlSchemaFreeType);
     xmlSchemaTypesInitialized = 0;
 }
 
 /**
+ * xmlSchemaGetBuiltInType:
+ * @type: the built-in type
+ * @facetType:  the facet type
+ *
+ * Evaluates if a specific facet can be
+ * used in conjunction with a type.
+ *
+ * Returns 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.
+ */
+int
+xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
+{
+    if (type->type != XML_SCHEMA_TYPE_BASIC)
+	return (-1);
+    switch (type->builtInType) {
+	case XML_SCHEMAS_BOOLEAN:
+	    if ((facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE))
+		return (1);
+	    else
+		return (0);	
+	case XML_SCHEMAS_STRING:
+	case XML_SCHEMAS_NOTATION:
+	case XML_SCHEMAS_QNAME:
+	case XML_SCHEMAS_ANYURI:	    
+	case XML_SCHEMAS_BASE64BINARY:    
+	case XML_SCHEMAS_HEXBINARY:
+	    if ((facetType == XML_SCHEMA_FACET_LENGTH) ||
+		(facetType == XML_SCHEMA_FACET_MINLENGTH) ||
+		(facetType == XML_SCHEMA_FACET_MAXLENGTH) ||
+		(facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_ENUMERATION) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE))
+		return (1);
+	    else
+		return (0);
+	case XML_SCHEMAS_DECIMAL:
+	    if ((facetType == XML_SCHEMA_FACET_TOTALDIGITS) ||
+		(facetType == XML_SCHEMA_FACET_FRACTIONDIGITS) ||
+		(facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE) ||
+		(facetType == XML_SCHEMA_FACET_ENUMERATION) ||
+		(facetType == XML_SCHEMA_FACET_MAXINCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MAXEXCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MININCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
+		return (1);
+	    else
+		return (0); 
+	case XML_SCHEMAS_TIME:
+	case XML_SCHEMAS_GDAY: 
+	case XML_SCHEMAS_GMONTH:
+	case XML_SCHEMAS_GMONTHDAY: 
+	case XML_SCHEMAS_GYEAR: 
+	case XML_SCHEMAS_GYEARMONTH:
+	case XML_SCHEMAS_DATE:
+	case XML_SCHEMAS_DATETIME:
+	case XML_SCHEMAS_DURATION:
+	case XML_SCHEMAS_FLOAT:
+	case XML_SCHEMAS_DOUBLE:
+	    if ((facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_ENUMERATION) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE) ||
+		(facetType == XML_SCHEMA_FACET_MAXINCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MAXEXCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MININCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
+		return (1);
+	    else
+		return (0);	    				 
+	default:
+	    return (0);
+    }
+    return (0);
+}
+
+/**
+ * xmlSchemaGetBuiltInType:
+ * @type:  the type of the built in type
+ *
+ * Gives you the type struct for a built-in
+ * type by its type id.
+ *
+ * Returns the type if found, NULL otherwise.
+ */
+xmlSchemaTypePtr
+xmlSchemaGetBuiltInType(xmlSchemaValType type)
+{
+    if (xmlSchemaTypesInitialized == 0)
+	xmlSchemaInitTypes();
+    switch (type) {
+	
+	case XML_SCHEMAS_ANYSIMPLETYPE:
+	    return (xmlSchemaTypeAnySimpleTypeDef);
+	case XML_SCHEMAS_STRING:
+	    return (xmlSchemaTypeStringDef);
+	case XML_SCHEMAS_NORMSTRING:
+	    return (xmlSchemaTypeNormStringDef);
+	case XML_SCHEMAS_DECIMAL:
+	    return (xmlSchemaTypeDecimalDef);
+	case XML_SCHEMAS_TIME:
+	    return (xmlSchemaTypeTimeDef);
+	case XML_SCHEMAS_GDAY:
+	    return (xmlSchemaTypeGDayDef);
+	case XML_SCHEMAS_GMONTH:
+	    return (xmlSchemaTypeGMonthDef);
+	case XML_SCHEMAS_GMONTHDAY:
+    	    return (xmlSchemaTypeGMonthDayDef);
+	case XML_SCHEMAS_GYEAR:
+	    return (xmlSchemaTypeGYearDef);
+	case XML_SCHEMAS_GYEARMONTH:
+	    return (xmlSchemaTypeGYearMonthDef);
+	case XML_SCHEMAS_DATE:
+	    return (xmlSchemaTypeDateDef);
+	case XML_SCHEMAS_DATETIME:
+	    return (xmlSchemaTypeDatetimeDef);
+	case XML_SCHEMAS_DURATION:
+	    return (xmlSchemaTypeDurationDef);
+	case XML_SCHEMAS_FLOAT:
+	    return (xmlSchemaTypeFloatDef);
+	case XML_SCHEMAS_DOUBLE:
+	    return (xmlSchemaTypeDoubleDef);
+	case XML_SCHEMAS_BOOLEAN:
+	    return (xmlSchemaTypeBooleanDef);
+	case XML_SCHEMAS_TOKEN:
+	    return (xmlSchemaTypeTokenDef);
+	case XML_SCHEMAS_LANGUAGE:
+	    return (xmlSchemaTypeLanguageDef);
+	case XML_SCHEMAS_NMTOKEN:
+	    return (xmlSchemaTypeNmtokenDef);
+	case XML_SCHEMAS_NMTOKENS:
+	    return (xmlSchemaTypeNmtokensDef);
+	case XML_SCHEMAS_NAME:
+	    return (xmlSchemaTypeNameDef);
+	case XML_SCHEMAS_QNAME:
+	    return (xmlSchemaTypeQNameDef);
+	case XML_SCHEMAS_NCNAME:
+	    return (xmlSchemaTypeNCNameDef);
+	case XML_SCHEMAS_ID:
+	    return (xmlSchemaTypeIdDef);
+	case XML_SCHEMAS_IDREF:
+	    return (xmlSchemaTypeIdrefDef);
+	case XML_SCHEMAS_IDREFS:
+	    return (xmlSchemaTypeIdrefsDef);
+	case XML_SCHEMAS_ENTITY:
+	    return (xmlSchemaTypeEntityDef);
+	case XML_SCHEMAS_ENTITIES:
+	    return (xmlSchemaTypeEntitiesDef);
+	case XML_SCHEMAS_NOTATION:
+	    return (xmlSchemaTypeNotationDef);
+	case XML_SCHEMAS_ANYURI:
+	    return (xmlSchemaTypeAnyURIDef);
+	case XML_SCHEMAS_INTEGER:
+	    return (xmlSchemaTypeIntegerDef);
+	case XML_SCHEMAS_NPINTEGER:
+	    return (xmlSchemaTypeNonPositiveIntegerDef);
+	case XML_SCHEMAS_NINTEGER:
+	    return (xmlSchemaTypeNegativeIntegerDef);
+	case XML_SCHEMAS_NNINTEGER:
+	    return (xmlSchemaTypeNonNegativeIntegerDef);
+	case XML_SCHEMAS_PINTEGER:
+	    return (xmlSchemaTypePositiveIntegerDef);
+	case XML_SCHEMAS_INT:
+	    return (xmlSchemaTypeIntDef);
+	case XML_SCHEMAS_UINT:
+	    return (xmlSchemaTypeUnsignedIntDef);
+	case XML_SCHEMAS_LONG:
+	    return (xmlSchemaTypeLongDef);
+	case XML_SCHEMAS_ULONG:
+	    return (xmlSchemaTypeUnsignedLongDef);
+	case XML_SCHEMAS_SHORT:
+	    return (xmlSchemaTypeShortDef);
+	case XML_SCHEMAS_USHORT:
+	    return (xmlSchemaTypeUnsignedShortDef);
+	case XML_SCHEMAS_BYTE:
+	    return (xmlSchemaTypeByteDef);
+	case XML_SCHEMAS_UBYTE:
+	    return (xmlSchemaTypeUnsignedByteDef);
+	case XML_SCHEMAS_HEXBINARY:
+	    return (xmlSchemaTypeHexBinaryDef);
+	case XML_SCHEMAS_BASE64BINARY:
+	    return (xmlSchemaTypeBase64BinaryDef);
+	case XML_SCHEMAS_ANYTYPE:
+	    return (xmlSchemaTypeAnyTypeDef);	    
+	default:
+	    return (NULL);
+    }
+}
+
+/**
  * xmlSchemaNewValue:
  * @type:  the value type
  *
@@ -486,6 +734,30 @@
     return((xmlSchemaTypePtr) xmlHashLookup2(xmlSchemaTypesBank, name, ns));
 }
 
+/**
+ * xmlSchemaGetBuiltInListSimpleTypeItemType:
+ * @type: the built-in simple type.
+ *
+ * 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)
+	return (NULL);
+    switch (type->builtInType) {
+	case XML_SCHEMAS_NMTOKENS: 
+	    return (xmlSchemaTypeNmtokenDef );
+	case XML_SCHEMAS_IDREFS: 
+	    return (xmlSchemaTypeIdrefDef);
+	case XML_SCHEMAS_ENTITIES:
+	    return (xmlSchemaTypeEntityDef);
+	default:
+	    return (NULL);
+    }
+}
+
 /****************************************************************
  *								*
  *		Convenience macros and functions		*
@@ -1269,7 +1541,7 @@
  *
  * Returns the new string or NULL if no change was required.
  */
-static xmlChar *
+xmlChar *
 xmlSchemaCollapseString(const xmlChar *value) {
     const xmlChar *start = value, *end, *f;
     xmlChar *g;
@@ -1442,6 +1714,7 @@
  *
  * Check that a value conforms to the lexical space of the atomic type.
  * if true a value is computed and returned in @val.
+ * This checks the value space for list types as well (IDREFS, NMTOKENS).
  *
  * Returns 0 if this validates, a positive error code number otherwise
  *         and -1 in case of internal or API error.
@@ -1455,24 +1728,24 @@
     int ret = 0;
 
     if (xmlSchemaTypesInitialized == 0)
-        return (-1);
+        xmlSchemaInitTypes();
     if (type == NULL)
         return (-1);
 
     if (val != NULL)
         *val = NULL;
     if ((flags == 0) && (value != NULL)) {
-        if ((type->flags != XML_SCHEMAS_STRING) &&
-            (type->flags != XML_SCHEMAS_NORMSTRING)) {
+        if ((type->builtInType != XML_SCHEMAS_STRING) &&
+            (type->builtInType != XML_SCHEMAS_NORMSTRING)) {
             norm = xmlSchemaCollapseString(value);
             if (norm != NULL)
                 value = norm;
         }
     }
 
-    switch (type->flags) {
+    switch (type->builtInType) {
         case XML_SCHEMAS_UNKNOWN:
-            if (type == xmlSchemaTypeAnyTypeDef)
+            if (type == xmlSchemaTypeAnySimpleTypeDef)
                 goto return0;
             goto error;
         case XML_SCHEMAS_STRING:
@@ -1548,7 +1821,7 @@
         case XML_SCHEMAS_GYEARMONTH:
         case XML_SCHEMAS_DATE:
         case XML_SCHEMAS_DATETIME:
-            ret = xmlSchemaValidateDates(type->flags, value, val);
+            ret = xmlSchemaValidateDates(type->builtInType, value, val);
             break;
         case XML_SCHEMAS_DURATION:
             ret = xmlSchemaValidateDuration(type, value, val);
@@ -1649,7 +1922,7 @@
                         if (v != NULL) {
                             if (sscanf((const char *) value, "%f",
                                  &(v->value.f)) == 1) {
-                                *val = v;
+                                *val = v;				
                             } else {
                                 xmlSchemaFreeValue(v);
                                 goto return1;
@@ -2210,21 +2483,21 @@
                     goto return1;
                 if (*cur != 0)
                     goto return1;
-                if (type->flags == XML_SCHEMAS_NPINTEGER) {
+                if (type->builtInType == XML_SCHEMAS_NPINTEGER) {
                     if ((sign == 0) &&
                         ((hi != 0) || (mi != 0) || (lo != 0)))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_PINTEGER) {
+                } else if (type->builtInType == XML_SCHEMAS_PINTEGER) {
                     if (sign == 1)
                         goto return1;
                     if ((hi == 0) && (mi == 0) && (lo == 0))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_NINTEGER) {
+                } else if (type->builtInType == XML_SCHEMAS_NINTEGER) {
                     if (sign == 0)
                         goto return1;
                     if ((hi == 0) && (mi == 0) && (lo == 0))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_NNINTEGER) {
+                } else if (type->builtInType == XML_SCHEMAS_NNINTEGER) {
                     if ((sign == 1) &&
                         ((hi != 0) || (mi != 0) || (lo != 0)))
                         goto return1;
@@ -2233,7 +2506,7 @@
                  * We can store a value only if no overflow occured
                  */
                 if ((ret > 0) && (val != NULL)) {
-                    v = xmlSchemaNewValue(type->flags);
+                    v = xmlSchemaNewValue(type->builtInType);
                     if (v != NULL) {
                         v->value.decimal.lo = lo;
                         v->value.decimal.mi = lo;
@@ -2267,7 +2540,7 @@
                     goto return1;
                 if (*cur != 0)
                     goto return1;
-                if (type->flags == XML_SCHEMAS_LONG) {
+                if (type->builtInType == XML_SCHEMAS_LONG) {
                     if (hi >= 922) {
                         if (hi > 922)
                             goto return1;
@@ -2280,7 +2553,7 @@
                                 goto return1;
                         }
                     }
-                } else if (type->flags == XML_SCHEMAS_INT) {
+                } else if (type->builtInType == XML_SCHEMAS_INT) {
                     if (hi != 0)
                         goto return1;
                     if (mi >= 21) {
@@ -2291,14 +2564,14 @@
                         if ((sign == 1) && (lo > 47483648))
                             goto return1;
                     }
-                } else if (type->flags == XML_SCHEMAS_SHORT) {
+                } else if (type->builtInType == XML_SCHEMAS_SHORT) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if ((sign == 1) && (lo > 32768))
                         goto return1;
                     if ((sign == 0) && (lo > 32767))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_BYTE) {
+                } else if (type->builtInType == XML_SCHEMAS_BYTE) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if ((sign == 1) && (lo > 128))
@@ -2307,7 +2580,7 @@
                         goto return1;
                 }
                 if (val != NULL) {
-                    v = xmlSchemaNewValue(type->flags);
+                    v = xmlSchemaNewValue(type->builtInType);
                     if (v != NULL) {
                         v->value.decimal.lo = lo;
                         v->value.decimal.mi = lo;
@@ -2335,7 +2608,7 @@
                     goto return1;
                 if (*cur != 0)
                     goto return1;
-                if (type->flags == XML_SCHEMAS_ULONG) {
+                if (type->builtInType == XML_SCHEMAS_ULONG) {
                     if (hi >= 1844) {
                         if (hi > 1844)
                             goto return1;
@@ -2346,7 +2619,7 @@
                                 goto return1;
                         }
                     }
-                } else if (type->flags == XML_SCHEMAS_UINT) {
+                } else if (type->builtInType == XML_SCHEMAS_UINT) {
                     if (hi != 0)
                         goto return1;
                     if (mi >= 42) {
@@ -2355,19 +2628,19 @@
                         if (lo > 94967295)
                             goto return1;
                     }
-                } else if (type->flags == XML_SCHEMAS_USHORT) {
+                } else if (type->builtInType == XML_SCHEMAS_USHORT) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if (lo > 65535)
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_UBYTE) {
+                } else if (type->builtInType == XML_SCHEMAS_UBYTE) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if (lo > 255)
                         goto return1;
                 }
                 if (val != NULL) {
-                    v = xmlSchemaNewValue(type->flags);
+                    v = xmlSchemaNewValue(type->builtInType);
                     if (v != NULL) {
                         v->value.decimal.lo = lo;
                         v->value.decimal.mi = mi;
@@ -2477,11 +2750,11 @@
     if (x->value.decimal.frac == y->value.decimal.frac) {
 	if (x->value.decimal.hi < y->value.decimal.hi)
 	    return (-order);
-	if (x->value.decimal.hi < y->value.decimal.hi)
+	if (x->value.decimal.hi > y->value.decimal.hi)
 	    return (order);
 	if (x->value.decimal.mi < y->value.decimal.mi)
 	    return (-order);
-	if (x->value.decimal.mi < y->value.decimal.mi)
+	if (x->value.decimal.mi > y->value.decimal.mi)
 	    return (order);
         if (x->value.decimal.lo < y->value.decimal.lo)
             return (-order);
@@ -2608,20 +2881,41 @@
 #define MODULO_RANGE(a,low,high)        ((MODULO((a-low),(high-low)))+low)
 
 /**
+ * xmlSchemaDupVal:
+ * @v: the #xmlSchemaValPtr value to duplicate
+ *
+ * Makes a copy of @v. The calling program is responsible for freeing
+ * the returned value.
+ *
+ * returns a pointer to a duplicated #xmlSchemaValPtr or NULL if error.
+ */
+static xmlSchemaValPtr
+xmlSchemaDupVal (xmlSchemaValPtr v)
+{
+    xmlSchemaValPtr ret = xmlSchemaNewValue(v->type);
+    if (ret == NULL)
+        return NULL;
+    
+    memcpy(ret, v, sizeof(xmlSchemaVal));
+    return ret;
+}
+
+/**
  * _xmlSchemaDateAdd:
  * @dt: an #xmlSchemaValPtr
  * @dur: an #xmlSchemaValPtr of type #XS_DURATION
  *
  * Compute a new date/time from @dt and @dur. This function assumes @dt
  * is either #XML_SCHEMAS_DATETIME, #XML_SCHEMAS_DATE, #XML_SCHEMAS_GYEARMONTH,
- * or #XML_SCHEMAS_GYEAR.
+ * or #XML_SCHEMAS_GYEAR. The returned #xmlSchemaVal is the same type as
+ * @dt. The calling program is responsible for freeing the returned value.
  *
- * Returns date/time pointer or NULL.
+ * Returns a pointer to a new #xmlSchemaVal or NULL if error.
  */
 static xmlSchemaValPtr
 _xmlSchemaDateAdd (xmlSchemaValPtr dt, xmlSchemaValPtr dur)
 {
-    xmlSchemaValPtr ret;
+    xmlSchemaValPtr ret, tmp;
     long carry, tempdays, temp;
     xmlSchemaValDatePtr r, d;
     xmlSchemaValDurationPtr u;
@@ -2633,8 +2927,15 @@
     if (ret == NULL)
         return NULL;
 
+    /* make a copy so we don't alter the original value */
+    tmp = xmlSchemaDupVal(dt);
+    if (tmp == NULL) {
+        xmlSchemaFreeValue(ret);
+        return NULL;
+    }
+
     r = &(ret->value.date);
-    d = &(dt->value.date);
+    d = &(tmp->value.date);
     u = &(dur->value.dur);
 
     /* normalization */
@@ -2740,32 +3041,20 @@
         }
     }
 
-    return ret;
-}
+    xmlSchemaFreeValue(tmp);
 
-/**
- * xmlSchemaDupVal:
- * @v: value to duplicate
- *
- * returns a duplicated value.
- */
-static xmlSchemaValPtr
-xmlSchemaDupVal (xmlSchemaValPtr v)
-{
-    xmlSchemaValPtr ret = xmlSchemaNewValue(v->type);
-    if (ret == NULL)
-        return ret;
-    
-    memcpy(ret, v, sizeof(xmlSchemaVal));
     return ret;
 }
 
 /**
  * xmlSchemaDateNormalize:
- * @dt: an #xmlSchemaValPtr
+ * @dt: an #xmlSchemaValPtr of a date/time type value.
+ * @offset: number of seconds to adjust @dt by.
  *
- * Normalize @dt to GMT time.
+ * Normalize @dt to GMT time. The @offset parameter is subtracted from
+ * the return value is a time-zone offset is present on @dt.
  *
+ * Returns a normalized copy of @dt or NULL if error.
  */
 static xmlSchemaValPtr
 xmlSchemaDateNormalize (xmlSchemaValPtr dt, double offset)
@@ -3378,6 +3667,9 @@
         case XML_SCHEMAS_NMTOKENS:
 	    TODO
 	    break;
+	case XML_SCHEMAS_ANYTYPE:
+	case XML_SCHEMAS_ANYSIMPLETYPE:
+	    break;
     }
     return -2;
 }
@@ -3429,6 +3721,53 @@
 }
 
 /**
+ * xmlSchemaValidateListSimpleTypeFacet:
+ * @facet:  the facet to check
+ * @value:  the lexical repr of the value to validate
+ * @actualLen:  the number of list items
+ * @expectedLen: the resulting expected number of list items
+ *
+ * Checks the value of a list simple type against a facet.
+ *
+ * Returns 0 if the value is valid, a positive error code
+ * number otherwise and -1 in case of an internal error.
+ */
+int
+xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
+				     const xmlChar *value,
+				     unsigned long actualLen,
+				     unsigned long *expectedLen)
+{
+    /*
+    * 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;
+	    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;
+	    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;
+	    return (XML_SCHEMAV_CVC_MAXLENGTH_VALID);
+	}
+    } else
+	/* 
+	* NOTE: That we can pass NULL as xmlSchemaValPtr to 
+	* xmlSchemaValidateFacet, since the remaining facet types
+	* are: XML_SCHEMA_FACET_PATTERN, XML_SCHEMA_FACET_ENUMERATION. 
+	*/
+	return(xmlSchemaValidateFacet(NULL, facet, value, NULL));   
+    return (0);
+}
+
+/**
  * xmlSchemaValidateFacet:
  * @base:  the base type
  * @facet:  the facet to check
@@ -3453,8 +3792,7 @@
 	    if (ret == 1)
 		return(0);
 	    if (ret == 0) {
-		/* TODO error code */
-		return(1);
+		return(XML_SCHEMAV_CVC_PATTERN_VALID);
 	    }
 	    return(ret);
 	case XML_SCHEMA_FACET_MAXEXCLUSIVE:
@@ -3466,7 +3804,7 @@
 	    if (ret == -1)
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_MAXINCLUSIVE:
 	    ret = xmlSchemaCompareValues(val, facet->val);
 	    if (ret == -2) {
@@ -3476,7 +3814,7 @@
 	    if ((ret == -1) || (ret == 0))
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_MINEXCLUSIVE:
 	    ret = xmlSchemaCompareValues(val, facet->val);
 	    if (ret == -2) {
@@ -3486,7 +3824,7 @@
 	    if (ret == 1)
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_MININCLUSIVE:
 	    ret = xmlSchemaCompareValues(val, facet->val);
 	    if (ret == -2) {
@@ -3496,15 +3834,20 @@
 	    if ((ret == 1) || (ret == 0))
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MININCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_WHITESPACE:
 	    /* TODO whitespaces */
+	    /*
+	    * NOTE: Whitespace should be handled to normalize
+	    * the value to be validated against a the facets;
+	    * not to normalize the value in-between.
+	    */
 	    return(0);
 	case  XML_SCHEMA_FACET_ENUMERATION:
 	    if ((facet->value != NULL) &&
 		(xmlStrEqual(facet->value, value)))
 		return(0);
-	    return(1);
+	    return(XML_SCHEMAV_CVC_ENUMERATION_VALID);
 	case XML_SCHEMA_FACET_LENGTH:
 	case XML_SCHEMA_FACET_MAXLENGTH:
 	case XML_SCHEMA_FACET_MINLENGTH: {
@@ -3521,7 +3864,7 @@
 	    else if ((val != NULL) && (val->type == XML_SCHEMAS_BASE64BINARY))
 		len = val->value.base64.total;
 	    else {
-	    	switch (base->flags) {
+		switch (base->builtInType) {
 	    	    case XML_SCHEMAS_IDREF:
 		    case XML_SCHEMAS_NORMSTRING:
 		    case XML_SCHEMAS_TOKEN:
@@ -3533,6 +3876,10 @@
 		    	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;
@@ -3542,13 +3889,13 @@
 	    }
 	    if (facet->type == XML_SCHEMA_FACET_LENGTH) {
 		if (len != facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_LENGTH_VALID);
 	    } else if (facet->type == XML_SCHEMA_FACET_MINLENGTH) {
 		if (len < facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_MINLENGTH_VALID);
 	    } else {
 		if (len > facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_MAXLENGTH_VALID);
 	    }
 	    break;
 	}
@@ -3580,11 +3927,11 @@
 	    }
 	    if (facet->type == XML_SCHEMA_FACET_TOTALDIGITS) {
 	        if (val->value.decimal.total > facet->val->value.decimal.lo)
-	            return(1);
+	            return(XML_SCHEMAV_CVC_TOTALDIGITS_VALID);
 
 	    } else if (facet->type == XML_SCHEMA_FACET_FRACTIONDIGITS) {
 	        if (val->value.decimal.frac > facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID);
 	    }
 	    break;
 	default:

Modified: packages/libxml2/trunk/xpath.c
===================================================================
--- packages/libxml2/trunk/xpath.c	2004-07-06 13:03:26 UTC (rev 188)
+++ packages/libxml2/trunk/xpath.c	2004-07-06 13:30:31 UTC (rev 189)
@@ -7593,6 +7593,8 @@
       if (*cur == '-') {
 	is_exponent_negative = 1;
 	cur++;
+      } else if (*cur == '+') {
+        cur++;
       }
       while ((*cur >= '0') && (*cur <= '9')) {
 	exponent = exponent * 10 + (*cur - '0');
@@ -7673,7 +7675,9 @@
         if (CUR == '-') {
             is_exponent_negative = 1;
             NEXT;
-        }
+        } else if (CUR == '+') {
+	    NEXT;
+	}
         while ((CUR >= '0') && (CUR <= '9')) {
             exponent = exponent * 10 + (CUR - '0');
             NEXT;
@@ -10588,6 +10592,7 @@
                 if ((oldset == NULL) || (oldset->nodeNr == 0)) {
                     ctxt->context->contextSize = 0;
                     ctxt->context->proximityPosition = 0;
+/*
                     if (op->ch2 != -1)
                         total +=
                             xmlXPathCompOpEval(ctxt,
@@ -10596,6 +10601,7 @@
                     res = valuePop(ctxt);
                     if (res != NULL)
                         xmlXPathFreeObject(res);
+*/
                     valuePush(ctxt, obj);
                     ctxt->context->node = oldnode;
                     CHECK_ERROR0;




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